Jared Boone
4ce27f51d4
Add WM8731 registers view.
2015-12-14 12:09:31 -08:00
Jared Boone
24d60a11e3
Add WM8731.read() for cached values.
2015-12-14 12:09:01 -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
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
c825a027b2
Comments regarding threading concerns, future refactoring.
2015-12-11 17:29:58 -08:00
Jared Boone
d1637db2fc
Reorder methods in source file to indicate call order.
2015-12-11 17:17:12 -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
75b1cc25ff
Missing lambda capture.
2015-12-10 21:21:42 -08:00
Jared Boone
211d1d19ea
Move Thread WORKING_AREAs out of classes.
...
Limited where and how you could instantiate the classes.
2015-12-10 21:01:44 -08:00
Jared Boone
a3bab9126d
Remove commented, dead code.
2015-12-10 20:13:27 -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
d895a54078
Almost finished moving around baseband init/shutdown code.
2015-12-10 17:33:44 -08:00
Jared Boone
f90e5bab6b
Push more init/shutdown code out of main().
2015-12-10 17:29:16 -08:00
Jared Boone
f3979a1d65
Move event initialization code into EventDispatcher.
2015-12-10 17:25:55 -08:00
Jared Boone
95fe57c9aa
Consolidate EventDispatcher client code.
2015-12-10 17:20:10 -08:00
Jared Boone
4b3fa25cef
Move sending of ShutdownMessage into shutdown().
...
Crazy, I know.
2015-12-10 17:19:18 -08:00
Jared Boone
6328efb70b
Move more baseband main() code into EventDispatcher.
...
EventDispatcher might be ripe for a refactor or rename.
2015-12-10 17:10:28 -08:00
Jared Boone
818790e734
Move init/configure details into RSSI/BasebandThread classes.
2015-12-10 16:33:40 -08:00
Jared Boone
ed25f65e8b
Move BasebandThread init into main().
2015-12-10 16:29:50 -08:00
Jared Boone
13e4b41c1e
Trivial clean-up.
2015-12-10 16:15:18 -08:00
Jared Boone
255c568f9e
Make some Baseband/RSSIThread members private/const.
2015-12-10 16:14:30 -08:00
Jared Boone
ded33ebabd
Extract RSSIThread to separate files.
2015-12-10 16:07:21 -08:00
Jared Boone
e998014e57
Extract BasebandThread, ThreadBase to separate files.
2015-12-10 15:53:54 -08:00
Jared Boone
2808efac4c
Remove unused lambda captures.
2015-12-10 15:27:33 -08:00
Jared Boone
e8cf0b8de7
Clean up baseband/main.cpp #includes.
2015-12-10 15:22:20 -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
82f367dfea
Move code into BasebandThread.
2015-12-10 14:41:07 -08:00
Jared Boone
83bf2a9a36
Tweak BasebandConfiguration constructors to avoid surprise type conversions.
2015-12-10 14:40:48 -08:00
Jared Boone
f369885062
Extract processor factory function.
...
A small code size reduction. I tried using std::unique_ptr, but code bloated between 150 and 400 bytes!
2015-12-10 13:21:27 -08:00
Jared Boone
ef315f0d92
Const/pass-by-reference a bunch more baseband stuff.
2015-12-10 12:36:12 -08:00
Jared Boone
3ed77af0c1
BasebandProcessor: Streamline construction of some messages.
2015-12-10 12:25:11 -08:00
Jared Boone
77aceaaf56
More BasebandProcessor pass by reference.
2015-12-10 12:17:40 -08:00
Jared Boone
14f24d8584
Move BasebandProcessor message.push() from dedicated methods to existing lambdas.
2015-12-10 12:04:43 -08:00
Jared Boone
98abc4bba8
Create baseband statistics messages on stack.
...
Code size shrank ~200 bytes with this change.
2015-12-10 11:57:57 -08:00
Jared Boone
3bed016128
BasebandProcessor interface change to pass references, not copies.
2015-12-10 11:56:16 -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
2e81d1f5b7
Separate ERT packet and UI code.
2015-12-08 16:04:48 -08:00
Jared Boone
644d3837ff
Consolidate AIS Packet types.
2015-12-08 15:54:35 -08:00
Jared Boone
3e0acc9988
AIS-related namespace cleanup.
2015-12-08 15:53:17 -08:00
Jared Boone
37d7d5b273
Separate AIS packet and formatting code from app code.
2015-12-08 15:49:20 -08:00
Jared Boone
218d81fc60
Rename all the app .cpp/.hpp to have app name first.
...
Larger refactoring of filenames and namespaces imminent!
2015-12-08 15:28:33 -08:00
Jared Boone
d0d97e92cb
Rename ::Packet to baseband::Packet. Remove IPC packet types.
2015-12-08 15:15:51 -08:00
Jared Boone
280acfd227
First commit of AIS data scroller.
...
It's weird and buggy right now, but I think I can make it work sensibly.
2015-12-08 14:16:36 -08:00
Jared Boone
90a7327cd5
Clean up FieldReader and BitRemap types.
2015-12-08 14:15:15 -08:00
Jared Boone
31fdf026f2
constexpr a bunch of stuff.
2015-12-08 13:47:52 -08:00
Jared Boone
0c1c0da8a5
AIS: More simplifying of packet length/validation code.
2015-12-08 13:38:40 -08:00
Jared Boone
af74daf092
AIS Packet refactor, consolidating duplicate packet length code.
2015-12-08 11:14:00 -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
c38beb70e5
Only show ERT packets that pass CRC check.
2015-12-07 15:35:24 -08:00
Jared Boone
b61ed7dce2
Clean up ERT CRC code, add IDM CRC checking.
2015-12-07 15:32:26 -08:00
Jared Boone
ee1eadce5b
Fix incorrect ERT packet length().
...
Was returning number of symbols before Manchester decoding. Oops.
2015-12-07 15:31:42 -08:00
Jared Boone
f1b45d4e7f
Reinstate logging of ERT packets.
2015-12-07 15:31:01 -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
b9ea7fa786
ERT CRC checking for SCM packets.
...
IDM coming as soon as I can address packet truncation...
2015-12-07 12:27:09 -08:00
Jared Boone
1c01f54717
Widen ERT baseband filter to 2.5MHz.
...
It appears this will not negatively impact the noise floor vs. benefit of receiving additional channels (0.2MHz spacing).
2015-12-07 09:59:41 -08:00
Jared Boone
2d0052fb14
Generalize ERT offset tracking a little.
2015-12-07 09:58:08 -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
9e004d4754
Move ERT packet type determination earlier.
...
It'll eventually move into baseband.
2015-12-06 15:36:23 -08:00
Jared Boone
2a55030d4e
Use ert::Packet for basic packet decoding.
2015-12-06 15:32:21 -08:00
Jared Boone
51026609ce
ert::Packet parser.
2015-12-06 15:31:17 -08:00
Jared Boone
5cfd44a546
Manchester decoded symbol operator| for accessing bit value.
2015-12-06 15:22:52 -08:00
Jared Boone
85ac3fa4ac
Show selected item at bottom of visible list even if it should be off-screen.
...
Not convinced this is the most intuitive approach, but it's better than before.
2015-12-06 09:50:53 -08:00
Jared Boone
0f23736253
Whoops, don't match selected_key inside draw_entry.
2015-12-05 20:25:05 -08:00
Jared Boone
c4ad2ffe1b
Extract AIS RecentEntry painting into separate method.
...
Small steps in a larger refactor, and better selected-item-scrolls-off-the-bottom behavior.
2015-12-05 20:15:30 -08:00
Jared Boone
8fce9378cc
Extract entry list truncation.
2015-12-05 19:52:12 -08:00
Jared Boone
9791d64b50
AISView RecentEntry UI selection by encoder.
2015-12-05 14:24:41 -08:00
Jared Boone
27684069c5
Track when AISView has focus.
2015-12-05 14:23:53 -08:00
Jared Boone
1c191bcd4f
Rename AISView::log to on_packet.
2015-12-05 14:22:35 -08:00
Jared Boone
64b9bfa35f
Make MMSI-formatting function.
...
Only render nine digits, left zero pad.
2015-12-03 22:09:06 -08:00
Jared Boone
4205793b54
Clean up narrowing conversion warning.
2015-12-03 20:58:17 -08:00
Jared Boone
fbd077e91d
Restore receiver mode when View is displayed.
...
Needs refactor because on_modulation_changed() doesn't change the modulation so much as the "app" or receiver mode.
2015-12-03 20:54:18 -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
2a2e65abad
Reserve length of AIS packet text std::string.
2015-12-03 20:34:30 -08:00
Jared Boone
3644bfd983
AISView displays list of most recent packets -- MMSI and name or call sign.
...
Formerly scrolling console of packets.
2015-12-03 20:34:02 -08:00
Jared Boone
0cad2847f8
LogFile pass references to reduce code size a bit.
...
Apparently the compiler isn't optimizing away copies in places I thought it would.
2015-12-03 14:08:06 -08:00
Jared Boone
bb3cb6f080
Push packet timestamping earlier in packet handling.
...
Ideally, it'd get pushed back into baseband, and baseband would correct for the length of the packet (based on preamble/access code match timestamp minus preamble/access code duration) to give the exact time the packet started.
2015-12-03 14:04:20 -08:00
Jared Boone
0909cdb31e
AIS: Add MMSI type.
2015-12-02 22:39:05 -08:00
Jared Boone
ad22eab3d2
Fix ERT console lack of CRLF.
2015-12-02 14:12:35 -08:00
Jared Boone
bfcd25d857
LogFile puts timestamp before entry, CRLF after.
2015-12-02 14:05:25 -08:00