Jared Boone
a27489eb21
Consolidating M4-specific saturation flag code.
2016-01-04 12:00:52 -08:00
Jared Boone
b42d3cc9d5
Move BasebandStatsCollector code into .cpp, as much as possible.
...
Still have template for callback, but hopefully will mitigate bloat when BasebandStatsCollector is used in multiple places.
2016-01-04 11:49:39 -08:00
Jared Boone
6d3cdb9bbf
Separate template/callback code from method code.
...
...for more small reductions in code size.
2016-01-04 11:45:33 -08:00
Jared Boone
cd3a5afdb1
More templating elimination (MatchedFilter), some #include clean-up.
...
592 bytes!
2016-01-04 11:32:47 -08:00
Jared Boone
e6f69c90f2
Reduce inlining of FIR configuration due to templating.
...
80 bytes!
2016-01-04 11:20:28 -08:00
Jared Boone
359fb6f3c6
...and more pass-by-reference.
...
Another 176 bytes!
2016-01-04 11:04:28 -08:00
Jared Boone
05a1c22426
More tweaks to pass buffers by reference.
...
144 bytes less code!
2016-01-04 11:00:17 -08:00
Jared Boone
778e2d2381
A little code consolidation -- M0APP IRQ.
2016-01-04 10:12:18 -08:00
Jared Boone
cd17f414b7
ChannelDecimator now unused, remove from Makefile, remove commented code.
2016-01-04 09:49:48 -08:00
Jared Boone
168bd02dea
Move AudioStatsCollector code into .cpp.
2016-01-04 09:25:43 -08:00
Jared Boone
c5b234d9f6
Remove BasebandProcessor virtual method replaced by message.
2016-01-04 09:13:17 -08:00
Jared Boone
222b878629
Use BasebandProcessor::mute_audio(), remove I2S #include dependencies.
2016-01-04 09:07:07 -08:00
Jared Boone
ef6ae8ed94
Add mute_audio() function to baseband processor.
2016-01-04 09:06:17 -08:00
Jared Boone
8fb3ffaedc
Reorder squelch code to group things a bit more logically.
2016-01-04 09:01:51 -08:00
Jared Boone
b0855b3c4d
Pass buffers by reference to save significant text section code size.
...
752 bytes!
2016-01-03 23:09:06 -08:00
Jared Boone
b03da8d693
Fix calculation of work_audio_buffer item count.
2016-01-03 22:42:40 -08:00
Jared Boone
d9017530c6
Moved baseband temporary buffers back into class member variables.
...
Significant performance hit when declaring on stack. C++ wants to initialize std::array or even raw array with element constructors, was resulting in ~7% CPU utilization, for a buffer that was immediately written over anyway.
2016-01-03 22:31:44 -08:00
Jared Boone
78992c2f8d
Adjust default FM squelch threshold.
2016-01-03 17:05:00 -08:00
Jared Boone
8adaddac5f
Make FM squelch runtime-configurable.
2016-01-03 17:03:16 -08:00
Jared Boone
86cf967464
Simplify FM demodulator class. Remove duplicate code.
2016-01-03 16:58:36 -08:00
Jared Boone
10bce4b845
Clean up #includes.
2016-01-03 16:58:08 -08:00
Jared Boone
28be223ace
Fix for merge-breakage. Argh.
2016-01-03 16:37:47 -08:00
Jared Boone
3f299c74c6
More old GCC fussiness fixes.
2016-01-03 16:32:45 -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
317ec53638
Handle NBFM configuration message on M4 processor side.
2016-01-03 12:49:00 -08:00
Jared Boone
a5012427d8
Remove little bit of dead code.
2016-01-03 12:45:34 -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
c9f9d97d07
Move BasebandConfiguration message handling into baseband thread.
2016-01-03 11:49:01 -08:00
Jared Boone
fd612dc207
Baseband: Pass unhandled messages to baseband thread, processor.
2016-01-02 22:59:31 -08:00
Jared Boone
07cd99d85d
Removing baseband MessageHandlerMap.
...
It's a bit heavy (362 bytes smaller with switch/case implementation), hard to access to add/remove handlers, doesn't bubble events like I'd like. (I'm going to bubble events to the baseband processor shortly.)
2016-01-02 22:54:09 -08:00
Jared Boone
fea5dd536f
Move baseband working buffers from member variables to stack.
...
It's temporary, after all...
2016-01-02 12:08:21 -08:00
Jared Boone
e7be7c5121
Comments about IFIR filter taps design parameters.
2016-01-02 10:49:37 -08:00
Jared Boone
410d4d7fc3
Use IFIR decimator for TPMS.
2016-01-02 10:42:40 -08:00
Jared Boone
e720bfb054
Use IFIR decimation for broadcast FM receiver.
2016-01-02 10:35:23 -08:00
Jared Boone
a02bfe55d0
Decimators for wider IFIR output bandwidth.
2016-01-02 10:34:17 -08:00
Jared Boone
096ebe47d8
Turn almost-zeros in TPMS matched filter to actual zeros.
2016-01-02 10:24:49 -08:00
Jared Boone
0e04939439
Broadcast FM de-emphasis using 75us time constant.
2016-01-01 20:56:30 -08:00
Jared Boone
2e90edbf39
Add 30Hz high-pass IIR filter for wideband FM.
2016-01-01 20:55:00 -08:00
Jared Boone
9a0fb2cab7
Rename IIR filter for 300Hz high-pass.
2016-01-01 20:53:11 -08:00
Jared Boone
ff05833b02
Use new decimation filters in AIS processor.
2016-01-01 13:20:02 -08:00
Jared Boone
316d5d433b
Move IIR code into .cpp file.
...
A few hundred more text section bytes saved.
2015-12-31 10:52:28 -08:00
Jared Boone
9fb22dfd1f
Reduce type size for int16_t squared values.
2015-12-31 10:09:42 -08:00
Jared Boone
ef37bbd851
Small FM squelch simplification.
2015-12-31 10:08:41 -08:00
Jared Boone
0962343190
Use decimation variable, not hard-coded value.
...
Break in form from NBFM code.
2015-12-30 12:20:25 -08:00
Jared Boone
7de80edcd3
Move baseband FIR filter defs to common file.
...
They will likely be shared with multiple decimators/demodulators.
Also added normalized filter pass/stop values to each set of taps.
2015-12-30 12:19:42 -08:00
Jared Boone
bbfcca8ec0
Rebake of AM, NFM demodulators -- more flexible filtering/configuration.
...
Also make SpectrumCollector dynamically configurable.
Add deemphasis filter to NFM.
2015-12-29 11:02:07 -08:00
Jared Boone
549e5b9ddc
Unrolled FIR filters for more flexible baseband filtering (using IFIR technique).
2015-12-29 10:48:29 -08:00
Jared Boone
8453741252
Saturate IIR filter output to int16_t.
2015-12-28 16:33:26 -08:00