Jared Boone
778e2d2381
A little code consolidation -- M0APP IRQ.
2016-01-04 10:12:18 -08:00
Jared Boone
5547782f5a
Improve FFT twiddle factor precisions using Python SymPy.
...
Python math, numpy, scipy produce values with significant rounding errors.
2016-01-03 21:02:44 -08:00
Jared Boone
963b6e257a
FFT twiddles can be used for all K <= table length.
...
Change assert to allow FFTs < 8.
2016-01-03 20:25:31 -08:00
Jared Boone
54e59cc224
Hard-code K=8 FFT twiddle constants for now.
...
So low on baseband RAM! This eliminates the sin_f32() function and table, which is only used in the FFT, for the moment.
2016-01-03 20:08:26 -08:00
Jared Boone
65dd385c94
Little FFT loop indexing tweak.
2016-01-03 17:47:08 -08:00
Jared Boone
62ee26e763
OK... Nuke list initializations.
2016-01-03 16:28:09 -08:00
Jared Boone
422f6c6960
Don't pass by reference in message constructors.
2016-01-03 16:21:17 -08:00
Jared Boone
b5aa2b205f
Implement AMConfigureMessage from M0 to M4.
2016-01-03 14:31:39 -08:00
Jared Boone
f2f7032615
Wideband FM configuration messages from M0.
2016-01-03 13:38:55 -08:00
Jared Boone
0497dbf62f
NBFM configuration message.
...
Allows changing NBFM filter configurations from M0.
2016-01-03 12:46:21 -08:00
Jared Boone
c179b9e1cd
Move FIR filter configs to common/, so M0 can use it.
...
Planning to pass from M0 to M4 so M4 doesn't need to keep all these different filter configs in text section.
2016-01-03 12:45:15 -08:00
Jared Boone
39ca6fec62
Transform update spectrum event into message.
2016-01-03 12:05:47 -08:00
Jared Boone
ff05833b02
Use new decimation filters in AIS processor.
2016-01-01 13:20:02 -08:00
Jared Boone
3db0820b54
Remove LOCATE_IN_RAM from DMA IRQ handler
...
Not needed for M4, was causing code to be located in data RAM, and veneers to jump between code and data RAM. Reclaimed a few hundred bytes of code RAM.
2015-12-29 11:24:23 -08:00
Jared Boone
87c9772128
More M4 instruction wrappers, with vector typed arguments.
2015-12-28 16:52:10 -08:00
Jared Boone
f74e6690cb
Utilize class types for member variables -- slightly more generic.
2015-12-28 16:51:34 -08:00
Jared Boone
ccc3402869
Add complex32_t type.
2015-12-28 10:14:35 -08:00
Jared Boone
dc86db5b87
Reminder to my future self to not over-optimize complex conjugate multiply.
2015-12-28 10:12:40 -08:00
Jared Boone
b8726b6ecf
Un-bitfield PinConfig, GCC 5 didn't like it.
...
And GCC 4.9 was very touchy about it. Attempts to fix by other means broke MAX2837 register readback (but not writing?). It suggests there might be a deeper issue -- setup/hold timing?
2015-12-24 10:36:26 -08:00
Jared Boone
b65cd72a68
Remove some pointless GCC-isms.
2015-12-17 10:12:03 -08:00
Jared Boone
750506b33e
Move more code from .hpp to .cpp.
2015-12-16 22:35:26 -08:00
Jared Boone
f204a58d24
WM8731 header clean-up.
2015-12-14 14:03:17 -08:00
Jared Boone
552bba47ea
Move a lot of WM8731 functions to .cpp.
2015-12-14 13:57:45 -08:00
Jared Boone
fa3eaf0820
Disable audio codec wait-for-zero-crossing volume change mode.
...
This may explain (now unreproduceable) issue where UI volume changes weren't always changing the gain on the audio codec.
2015-12-14 12:26:41 -08:00
Jared Boone
24d60a11e3
Add WM8731.read() for cached values.
2015-12-14 12:09:01 -08:00
Jared Boone
9170c66bc0
Remove unused function declaration.
2015-12-12 11:37:59 -08:00
Jared Boone
b058d609eb
Move packet timestamping into baseband.
...
Now reads the RTC peripheral at the end of each received packet.
TODO: Improve resolution to milliseconds or better.
TODO: Work back from end of packet to compute timestamp for beginning of packet.
TODO: Reuse ChibiOS RTC code, which isn't used now because ChibiOS on M0 core is responsible for RTC configuration, and including ChibiOS RTC API on M4 will also try to initialize/manage the peripheral.
2015-12-12 11:37:30 -08:00
Jared Boone
088f60f2bc
Extract spectrum collector from BasebandProcessor.
...
Code size improvement, and less confused classes. :-)
2015-12-11 12:26:45 -08:00
Jared Boone
a7afc58cf8
More consistent use of pass-by-ref, const in baseband code.
2015-12-10 15:18:02 -08:00
Jared Boone
83bf2a9a36
Tweak BasebandConfiguration constructors to avoid surprise type conversions.
2015-12-10 14:40:48 -08:00
Jared Boone
3ed77af0c1
BasebandProcessor: Streamline construction of some messages.
2015-12-10 12:25:11 -08:00
Jared Boone
4d52f73f6a
Move Manchester to common/.
2015-12-10 11:28:18 -08:00
Jared Boone
eb1402764e
Move ERT packet type to its rightful place.
...
No longer mixed up with Message types.
2015-12-08 16:19:27 -08:00
Jared Boone
7de187e267
Move ERT, AIS packet code to common/.
2015-12-08 16:08:20 -08:00
Jared Boone
d0d97e92cb
Rename ::Packet to baseband::Packet. Remove IPC packet types.
2015-12-08 15:15:51 -08:00
Jared Boone
90a7327cd5
Clean up FieldReader and BitRemap types.
2015-12-08 14:15:15 -08:00
Jared Boone
7cded79b59
Clean up CRC class/interface, make more like boost::crc_basic.
2015-12-08 10:35:54 -08:00
Jared Boone
a2df8ea599
Simplify excessively idiomatic C-ism.
2015-12-07 15:29:43 -08:00
Jared Boone
bd33e652ea
Abstract packet type/implementation details.
2015-12-07 12:35:05 -08:00
Jared Boone
b9643dc988
Clean up ERT packet type notation.
...
Still not great, but at least repeated code is reduced.
2015-12-06 15:47:04 -08:00
Jared Boone
42d13e6713
ui::OptionsField match option value by ==, not >=.
...
I think I used >= to match baseband filter bandwidth, but then the options would all have to be in increasing order to do the right thing, which is not what another developer would expect!
2015-12-03 20:53:14 -08:00
Jared Boone
76845c4335
Extract to_string_* functions from ui_widget.
2015-12-02 13:38:17 -08:00
Jared Boone
4baf2a06f2
Move ais_baseband code to app_ais.
2015-12-02 09:31:14 -08:00
Jared Boone
82ff45860e
Add basic ERT (OOK) utility meter reception.
...
Extracted the Manchester formatting function for use in ERT, now also returns an indication of bits in error.
2015-12-01 11:24:48 -08:00
Jared Boone
c70d95dcbe
Remove SDCardStatusMessage, replace with Signal, extract to separate files.
2015-12-01 10:38:35 -08:00
Jared Boone
42104d217a
Broaden SD card status detail in message.
2015-11-29 15:50:58 -08:00
Jared Boone
5928086fd9
Simplify SD card mount status code.
2015-11-29 15:37:24 -08:00
Jared Boone
435824e9b5
Clean up buffer_t constructors.
2015-11-20 11:21:31 -08:00
Jared Boone
d96379dc9c
Remove extra semicolons.
2015-11-20 11:11:14 -08:00
Jared Boone
600a983d5c
Clean up complex<int16_t> -> complex<float> casting.
2015-11-20 11:01:41 -08:00