Jared Boone
0789d50fdf
Rework BitHistory, BitPattern, PacketBuilder.
...
Templatize PacketBuilder to optionally bit unstuff, and have flexible packet termination behavior.
2015-11-09 14:38:09 -08:00
Jared Boone
0b522abbc1
Rename AIS packet handler variables for consistency with spec.
2015-11-09 14:35:06 -08:00
Jared Boone
850c847bbf
Trap attempts to register more than one message handler at a time.
2015-11-09 11:57:38 -08:00
Jared Boone
47a3ffb15a
Insulate ui::Context a bit from its clients.
...
Add accessor methods.
2015-11-09 11:56:40 -08:00
Jared Boone
85383e488b
std::fma not necessary with proper compiler options.
...
std::fma isn't available on Ubuntu 15.04 arm-gcc, apparently. Hence my reviewing this code...
2015-11-08 16:33:32 -08:00
Jared Boone
5dcca89172
FSKProcessor: remove separate channel filter.
...
RRC filter alone will do the trick!
2015-11-07 14:10:44 -08:00
Jared Boone
9e694ce836
AIS decoding and really bad UI.
...
The decoder needs a serious refactoring/decoupling.
The UI just dumps bits of the received packets into a console window, whcih scrolls too quickly in an AIS-dense area with a good antenna.
2015-11-06 13:53:04 -08:00
Jared Boone
a366b3ac4f
CRC class.
...
Has some more efficient code, commented out because I was having trouble getting it to work. However, it may have been due to the particular data I was trying to decode and CRC-validate.
2015-11-06 13:49:59 -08:00
Jared Boone
5236a858d0
Change Field.read to const.
2015-11-06 09:40:04 -08:00
Jared Boone
a33aa26bf5
Change header guard name.
2015-11-06 09:40:04 -08:00
Jared Boone
51df92a05a
Rename baseband_ais -> ais_baseband.
...
So that ais_baseband and ais_application filenames can be sorted near each other.
2015-11-06 09:40:04 -08:00
Jared Boone
015e5516d5
Update/consolidate AIS RRC matched filter taps.
2015-11-06 09:40:04 -08:00
Jared Boone
dc30911e0f
Check for widget != nullptr before add/remove child.
2015-11-06 09:40:03 -08:00
Jared Boone
f82fd1f8d7
Tease apart utility.hpp, other header dependencies.
...
Trying to get a host-testable FSK demodulator, and finding a lot of M4- and ChibiOS-specific code is getting included. Boo.
2015-11-06 09:40:03 -08:00
Jared Boone
0a7ac153a7
AIS RRC taps updated, more precision, corrected frequency shift.
2015-11-06 09:40:03 -08:00
Jared Boone
338983e7ae
Remove unused negative-shifted RRC filters.
2015-11-06 09:40:03 -08:00
Jared Boone
3e9f0971e1
Assert that FSKConfiguration size is the same between application and baseband binaries.
2015-11-06 09:40:02 -08:00
Jared Boone
aff7865c61
Move (some) AIS bits to a separate file.
2015-11-06 09:40:02 -08:00
Jared Boone
7a5100baf1
Enlarge packet payload size 256 -> 1024 bits.
2015-11-06 09:40:01 -08:00
Jared Boone
37b1d7cf2f
Remove payload_length from PacketBuilder, etc.
2015-11-06 09:40:01 -08:00
Jared Boone
142617ad94
Silence Clang warning.
2015-11-06 09:40:01 -08:00
Jared Boone
36689f5c45
Refactor bit pattern matching.
...
Remove AccessCodeCorrelator, Unstuff classes.
2015-11-06 09:40:00 -08:00
Jared Boone
e9f28f9ef3
Provide configuration of symbol unstuffing.
2015-11-06 09:40:00 -08:00
Jared Boone
31ff13f1c0
Un-const Message in message handler interfaces.
...
I want to modify in place the messages that are received. Naughty, but oh well.
2015-11-06 09:39:59 -08:00
Jared Boone
b41ff962f4
Replace std::sin() with interpolated LUT.
2015-10-14 11:10:24 -07:00
Jared Boone
882fbbef31
Add more fft_swap bit reversal functions.
2015-10-14 11:10:24 -07:00
Jared Boone
7f46f0d071
Add tick tracking for all baseband threads.
2015-10-14 10:44:20 -07:00
Jared Boone
f1ca3fe5bb
Switch RFFC5072, MAX2837 back to 40MHz reference.
...
Turns out the MAX2837 can't tune the necessary range when given a 50MHz reference. Oops.
2015-09-02 17:45:19 -07:00
Jared Boone
293337b647
Init radio in RX mode, not TX mode.
2015-09-02 17:30:16 -07:00
Jared Boone
75d9aa9c73
Remove extra CPLD code internal signals.
2015-08-27 16:54:38 -07:00
Jared Boone
19764ce693
Swap function of P2_8, P2_4 in schematic, firmware, CPLD.
...
gpio_unused: P2_4 -> P2_8
gpio_lcd_rd: P2_8 -> P2_4
P2_8 is a very long line, shared with DFU button.
Revise schematic to match CPLD signal names.
2015-08-27 16:54:38 -07:00
Jared Boone
b13081696d
Simplify MessageQueue pop() usage.
2015-08-27 14:35:17 -07:00
Jared Boone
035ec84f04
Wrap MessageQueue.push() with mutex.
...
This addresses issue #61 , occasional FIFO/data corruption. With the mutex, any thread on one core can write to the FIFO. But still, only one thread on one core should read from the FIFO.
2015-08-26 14:18:03 -07:00
Jared Boone
7937ea7327
Enable DMB instruction at end of FIFO data copy.
...
Can't hurt to make sure FIFO and buffer state are flushed before returning to caller...
2015-08-26 14:13:51 -07:00
Jared Boone
4fe145b61d
Remove application kludge to strip DFU of header.
...
Strip the header in in the Python SPI image generator, instead.
2015-08-25 15:11:22 -07:00
Jared Boone
690c3c98db
Add Shutdown message, plumbing to send and handle.
2015-08-20 18:03:49 -07:00
Jared Boone
bd791a8512
Remove code replaced by memory_map.hpp.
2015-08-20 17:50:20 -07:00
Jared Boone
4b7780f5c6
Move _KiB and _MiB user-defined literals to utility.hpp.
...
Where I put all the stuff I don't know where to put.
2015-08-20 17:15:51 -07:00
Jared Boone
1c3e45917c
Rework to make use of declared memory map regions.
2015-08-20 17:11:08 -07:00
Jared Boone
05690b20ed
Created memory_map header.
...
Knowledge of memory map will be consolidated here.
2015-08-20 17:09:11 -07:00
Jared Boone
52e8093618
Generalize FIFO to specify FIFO size as 2^K.
...
Configure baseband queue to be larger (4K) than application queue (2K).
2015-08-20 15:59:25 -07:00
Jared Boone
4126f1ab1f
Change IPC to exchange data, not pointers.
2015-08-20 13:13:12 -07:00
Jared Boone
b1a4418f06
Push more widget painting code into ui::Painter
...
Hide knowledge of damage tracking strategy.
2015-08-14 21:36:51 -07:00
Jared Boone
872c998ff1
Move widget tree painting to ui::Painter.
...
Still doesn't seem like the right place, but better than the event dispatcher!
2015-08-14 21:27:46 -07:00
Jared Boone
a9bb7c96e5
Move UI dirty tracking out of application main.cpp.
2015-08-14 21:17:23 -07:00
Jared Boone
a7226820d0
Hide implementation of MessageHandlerMap.
2015-08-14 17:31:23 -07:00
Jared Boone
76df4f0369
Extract magnitude_squared to utility.
2015-08-04 14:08:15 -07:00
Jared Boone
efaf13d2d1
Extract complex16_mag_squared_to_dbv_norm to utility.
2015-08-04 12:03:10 -07:00
Jared Boone
d855336985
Persist tuned frequency.
...
w00t!
2015-08-04 10:31:03 -07:00
Jared Boone
4870f0015b
Extract PPB reset value to a constant.
...
Group with related constants.
2015-08-04 10:29:54 -07:00