Commit Graph

291 Commits

Author SHA1 Message Date
Jared Boone
096e961c67 Remove ChibiOS registry, thread names.
Only useful for debugging, but even then not very visible or useful. Gained 256 bytes of code RAM.
2016-02-09 11:36:38 -08:00
Jared Boone
ae93d8ee58 Simplify RSSI/BB DMA, extract to ThreadWait class.
Also saved 688 bytes of code.
2016-02-09 10:41:19 -08:00
Jared Boone
aae1a953fc Init matched filter output variable. 2016-02-06 16:24:14 -08:00
Jared Boone
ac2320f0c5 Limit scope of some function variables. 2016-02-06 16:23:55 -08:00
Jared Boone
9430c94dec Move I2S management to application side. 2016-02-05 15:25:08 -08:00
Jared Boone
cefab197da Add virtual destructor for ThreadBase.
Oops!
2016-02-05 10:44:27 -08:00
Jared Boone
20137db8d0 Move code into .cpp for tiny code size improvement. 2016-02-03 22:47:44 -08:00
Jared Boone
af8c9609a8 Little code size tweak using std::move in constructors. 2016-02-03 22:47:22 -08:00
Jared Boone
cff314cbc8 Convince compiler to not inline member constructors. 2016-02-03 19:59:41 -08:00
Jared Boone
ceef8d32d3 Use more accurate arctan for NBFM demodulation. 2016-02-02 16:15:14 -08:00
Jared Boone
ab2c5b256f Reinstate and slightly tweak NBFM squelch. 2016-02-02 16:08:18 -08:00
Jared Boone
faf0fd6b91 Remove some spurious comments. 2016-01-30 21:11:59 -08:00
Jared Boone
e778be6472 Selection of AM/SSB from application side. 2016-01-30 18:02:28 -08:00
Jared Boone
f2dff16820 Use complex channel filter taps for AM/SSB. 2016-01-30 17:30:54 -08:00
Jared Boone
ad4d7a2e8a Add SSB demodulator, switch between AM and SSB. 2016-01-30 17:30:03 -08:00
Jared Boone
1915ff980f Add AM processor decim_2. 2016-01-30 17:28:11 -08:00
Jared Boone
b029bacd8c Remove channel decimation from AMConfigureMessage. 2016-01-30 17:21:48 -08:00
Jared Boone
220b7b0a6a Add SSB demodulator. 2016-01-29 22:27:18 -08:00
Jared Boone
a558565886 Further template BlockDecimator by element type, use for audio buffer.
Appropriating for use as a buffer accumulator that will save up enough audio samples to put into an audio DMA buffer.
2016-01-29 19:25:08 -08:00
Jared Boone
aead1d8798 Change NBFM audio fs->24k, AM ->12k.
Send channel decimation factor from application to baseband.
2016-01-29 19:23:30 -08:00
Jared Boone
28e5b7e4af Remove some filter constructors, reset Z on configure(). 2016-01-29 17:06:22 -08:00
Jared Boone
d984532190 Converging AM, NBFM processors for eventual merging. 2016-01-29 16:18:03 -08:00
Jared Boone
7c65a2d650 Clean up baseband processor statics. 2016-01-29 16:11:00 -08:00
Jared Boone
96898f82b2 Pass IIR configs from application to baseband. 2016-01-29 15:57:20 -08:00
Jared Boone
01e14ecbcf Move IIR struct and configs to common/. 2016-01-29 15:43:39 -08:00
Jared Boone
db642cac8d Change audio sampling rates on NBFM, AM modes. 2016-01-29 15:33:01 -08:00
Jared Boone
0e436ded14 Add IIR configs for lower audio sampling rates. 2016-01-29 15:32:32 -08:00
Jared Boone
a2a169352c Rename existing IIR configs to reflect fs=48k design. 2016-01-29 15:24:31 -08:00
Jared Boone
1aa391bac8 Whoops. Revert to baseband -O3 compiler flag.
Was running out of CPU in ERT mode.
2016-01-17 14:08:49 -08:00
Jared Boone
8d2a86a499 Change baseband optimization from -O3 to -O2
Significant size benefit with negligable performance effect.
2016-01-16 14:10:22 -08:00
Jared Boone
58e6d26910 Move AudioOutput back to inside audio processor classes.
Was wasting precious RAM making it static. I lose 400 bytes of .text, not sure why, but I think the trade is worth it.
2016-01-16 13:56:23 -08:00
Jared Boone
1d0de2240d Protect/private some ThreadBase implementation details. 2016-01-15 20:25:29 -08:00
Jared Boone
f06d5989db Move EventDispatcher code out of .hpp. 2016-01-12 22:20:13 -08:00
Jared Boone
731cea1b96 Move event.* code into event_m[04].*.
Slightly more duplication of code now. Need a base class...
2016-01-12 22:00:42 -08:00
Jared Boone
e73a9f98a1 Move EventDispatcher code into event_*.hpp.
More code redistribution coming shortly...
2016-01-12 21:49:29 -08:00
Jared Boone
b993e3d73e Consolidate spectrum collector message handling. 2016-01-12 10:32:00 -08:00
Jared Boone
a577bc9664 Refactor naughty static variable hiding in WidebandSpectrum. 2016-01-11 17:18:24 -08:00
Jared Boone
1f3c182b7f Add missing message handler for wideband spectrum.
Spectrum processing was not enabled, and hence wideband spectrum was not being displayed.
2016-01-11 16:31:49 -08:00
Jared Boone
55e3a70fde Change baseband audio processing pipeline to all floats. 2016-01-11 16:15:42 -08:00
Jared Boone
5e917ebb2c Cache IIR filter state because compiler *sometimes* doesn't want to. 2016-01-11 15:44:42 -08:00
Jared Boone
e169a46367 Un-static squelch history. 2016-01-11 11:38:33 -08:00
Jared Boone
64966d4539 Fix NaNs coming out of angle_approx_0deg27().
Used in FM demodulator, was causing downstream problems when using the floating point values directly.
2016-01-11 11:17:54 -08:00
Jared Boone
5a532f34a7 Remove extra buffer structs/copies. 2016-01-11 09:35:58 -08:00
Jared Boone
877a66ca78 Create AudioOutput singleton, from extracted BasebandProcessor code. 2016-01-10 20:25:24 -08:00
Jared Boone
364217a2b5 Rename IIR filter config variables. 2016-01-10 20:20:07 -08:00
Jared Boone
13d260f936 Add IIR passthrough filter config. 2016-01-10 20:18:12 -08:00
Jared Boone
5dac0bbe49 Squelch special case when threshold == 0, do not squelch. 2016-01-10 20:16:21 -08:00
Jared Boone
01df79641c Rename squelch algorithm variable for clarity.
Helps to understand meaning of threshold.
2016-01-10 20:14:26 -08:00
Jared Boone
6f00687d88 Add configure() for IIR filter. 2016-01-10 20:11:27 -08:00
Jared Boone
497adda390 IIR default constructor passes no audio.
Debugging mechanism -- filter must be configured to pass audio.
2016-01-10 20:11:05 -08:00