Commit Graph

221 Commits

Author SHA1 Message Date
Jared Boone
d821afc60d Spectrum streaming control, spectrum attributes back in each frame.
TODO: This feels kinda complex, and there's some repeated Processor code that needs to be refactored into a base class.
2016-01-10 10:42:20 -08:00
Jared Boone
0647f26707 Move SGPIO configuration and control to baseband firmware.
Addresses long-standing and annoying bug where SGPIO DMA channel would not disable -- and not configure cleanly next time it was needed. My theory is that the DMA channel couldn't disable until it got a request from the peripheral, and sometimes the peripheral was disabled before that last request.

Anyway, the baseband firmware should control the SGPIO, methinks, despite the impact on baseband code size.
2016-01-10 10:23:39 -08:00
Jared Boone
43d6098c48 Move baseband_sgpio.* to common/.
It'll soon be used by M4 code, not M0. SGPIO baseband streaming needs to be tightly controlled by... the baseband!
2016-01-09 17:57:37 -08:00
Jared Boone
c3167ac27c Missing #includes. 2016-01-09 12:17:17 -08:00
Jared Boone
7710b2d1fa ChannelSpectrumConfig message subsumes FIFONotify.
Separate channel spectrum config from spectrum data. This will permit sending config info only when necessary.
Use type information of ChannelSpectrum to statically define number of FFT bins elsewhere.
TODO: Posting configuration message way too often. Fixing that is the next step.
2016-01-06 12:10:30 -08:00
Jared Boone
ba33cc737d Transmit DisplayFrameSync message, handle in WaterfallSpectrum.
More kludginess, especially around initialization and timing. But it addresses the flickering lines of pixels at the bottom of the waterfall scroll area!
2016-01-06 11:36:57 -08:00
Jared Boone
aaa1bc3a09 Transmit ChannelSpectrum data through separate FIFO.
Allows handling of data during LCD "vertical retrace", independent of other baseband->application messages. A bit kludgy still...
2016-01-06 11:34:41 -08:00
Jared Boone
c1e5577669 Eliminate duplicate code between event_m4.hpp, event.hpp.
event.* is common code, _m0 and _m4 contain specific event mask definitions.
2016-01-04 12:54:05 -08:00
Jared Boone
0fe5409357 Move M4TXEVENT interrupt control into event handler run(). 2016-01-04 12:15:35 -08:00
Jared Boone
69b258cc2b Consolidate event handler code, including IRQ. 2016-01-04 12:15:10 -08:00
Jared Boone
b058c0fe00 Consolidate M0-specific code. 2016-01-04 12:07:30 -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
7496c2aced Send NBFM configuration message from M0 to M4. 2016-01-03 12:47:22 -08:00
Jared Boone
df593c2f0f Run codec at 1 x baseband sample rate. Do not use CPLD decimator.
Codec performance appears to be unaffected by <8MHz sample rate. Saves a bit of power, eliminates dependency on CPLD decimation feature.
2015-12-29 10:55:55 -08:00
Jared Boone
b38338efc0 Keep MAX2837 in standby so temperature can be read.
I think this won't significantly impact power consumption.
2015-12-17 20:59:21 -08:00
Jared Boone
1146d1fa06 Clean up temperature sensor rendering. 2015-12-17 20:36:58 -08:00
Jared Boone
188f692195 Center temperature graph in view. 2015-12-17 12:18:25 -08:00
Jared Boone
c3116eac63 Use reference to temperature logger, more concise. 2015-12-17 12:16:26 -08:00
Jared Boone
c92138f4b3 Extract calculation of temperature from raw sensor value. 2015-12-17 12:14:28 -08:00
Jared Boone
146a06b0d1 Method to read TemperatureLogger record capacity. 2015-12-17 12:12:22 -08:00
Jared Boone
17d405ccec Weird syntax burp on my part. 2015-12-17 10:30:40 -08:00
Jared Boone
3151100e50 Correct aesthetic typo in MAX2837 register defaults. 2015-12-16 22:37:55 -08:00
Jared Boone
86edf01def Quick and dirty temperature logger, debug view of temp vs. time. 2015-12-16 22:36:51 -08:00
Jared Boone
d34499d920 Remove ui::BasebandBandwidthField. 2015-12-16 22:29:29 -08:00
Jared Boone
7a4604e24e Move code out of ui_spectrum.hpp. 2015-12-16 19:33:30 -08:00
Jared Boone
4ce27f51d4 Add WM8731 registers view. 2015-12-14 12:09:31 -08:00
Jared Boone
ee3a77f32c Center RegistersWidget painting. 2015-12-14 11:47:43 -08:00
Jared Boone
56c3167156 Move RegistersWidget/Views methods to .cpp. 2015-12-14 11:30:24 -08:00
Jared Boone
2ee072aa7b Invert register number column colors in RegistersWidget. 2015-12-14 11:24:48 -08:00
Jared Boone
a340cbb74b Make NavigationView an implicit first argument to any instance pushed onto nav stack. 2015-12-14 11:18:59 -08:00
Jared Boone
0828c66b8a Move default constructor to .hpp. 2015-12-14 11:12:12 -08:00
Jared Boone
969d9bd070 Use std::unique_ptr inside NavigationView. 2015-12-14 11:11:49 -08:00
Jared Boone
18c4672ba2 Clean up navigation stack alloc/delete sequence. 2015-12-14 10:52:08 -08:00
Jared Boone
97f29f8336 Clean up UI navigation push constructor scheme. 2015-12-14 10:22:42 -08:00
Jared Boone
a1aa6ecdbf Eliminate per-device Views and RegisterWidgets, virtual methods.
Nice code size improvement, despite supporting three device register sets instead of just one.
2015-12-13 21:28:39 -08:00
Jared Boone
a0fbfcf6a2 Consolidate code and improve reuse between RegistersWidgets. 2015-12-13 13:22:09 -08:00
Jared Boone
94805285e2 Remove RegisterMap accessors. 2015-12-13 13:20:22 -08:00
Jared Boone
2fe1285c11 Un-inline register read/write functions. 2015-12-13 13:18:37 -08:00
Jared Boone
041e211841 Expose register read functions. 2015-12-13 13:18:05 -08:00
Jared Boone
74aa2112f4 Add Si5351C register view, make more space in all register views. 2015-12-13 12:34:51 -08:00
Jared Boone
5df1665994 Class divider comments. 2015-12-13 11:50:55 -08:00
Jared Boone
32108a8229 Field for register set name was too narrow. 2015-12-13 11:50:31 -08:00
Jared Boone
c7d49eb190 Expose MAX2837 registers, show registers in debug view. 2015-12-13 11:50:06 -08:00
Jared Boone
a6fbd1c5ef Make DebugRFFCView into generic RegistersView. 2015-12-13 11:48:39 -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
ca7e0f1e20 Remove #include of ChibiOS test.h.
Would be appropriate if writing a test case project. Someday...
2015-12-10 18:28:19 -08:00
Jared Boone
83bf2a9a36 Tweak BasebandConfiguration constructors to avoid surprise type conversions. 2015-12-10 14:40:48 -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