Jared Boone
1a5f3a4422
Give new Processor to EventDispatcher.
2016-06-25 11:14:28 -07:00
Jared Boone
525e72ac86
Move Baseband/RSSI threads into Processors.
2016-06-25 11:12:22 -07:00
Jared Boone
74c8429f75
Take processor as argument to BasebandThread.
...
Remove lots of dependency on specific processors.
Reduce state by removing processor switching from BasebandThread.
2016-06-25 10:57:16 -07:00
Jared Boone
bb32ef5321
Bracket BasebandThread loop with enable/disable code.
2016-06-25 10:53:16 -07:00
Jared Boone
9188bb9ee9
Remove thread pointer checking.
2016-06-24 15:46:53 -07:00
Jared Boone
f8a473d56b
Change baseband, RSSI threads to be more RAII.
2016-06-24 15:34:49 -07:00
Jared Boone
2b7e763619
Don't check EventDispatcher::thread_event_loop before using.
...
If static methods are getting called, variable is already set.
2016-06-24 15:27:23 -07:00
Jared Boone
9444d21c12
Remove baseband stats tracking code.
...
It was half-baked, and is getting in the way of a major refactoring.
2016-06-24 15:24:26 -07:00
Jared Boone
d41c6ee36a
Simplify app->baseband message handling.
...
No need for a FIFO when all messages are intended to be synchronous.
2016-06-24 14:16:45 -07:00
Jared Boone
61325e4696
Enable M4 interrupt from M0 only when expected.
2016-06-24 13:44:40 -07:00
Jared Boone
e263420ea3
Enable M4 interrupt on M0 core only when M4 image is running.
2016-06-24 11:32:24 -07:00
Jared Boone
c7497577a0
Make all app->baseband messages synchronous.
...
No idea why they shouldn't be...
2016-06-24 11:31:41 -07:00
Jared Boone
303bfeaafc
Run baseband image per application.
...
First step toward having separate baseband images per app or function.
2016-06-24 11:30:54 -07:00
Jared Boone
ac0bdc35a6
Set TPMS app initial focus.
2016-06-23 22:11:47 -07:00
Jared Boone
fead46cc46
Fix state management in Capture mode.
...
Don't alter ReceiverModel modulation/mode when capturing.
2016-06-23 12:03:47 -07:00
Jared Boone
1010e6a234
Remove unused DMA Handler types.
2016-06-22 11:22:28 -07:00
Jared Boone
3cdce88e5d
TPMS: Allow band selection: 315 or 433.92 (~434) MHz.
2016-06-21 15:36:57 -07:00
Jared Boone
b34512e3d6
Eliminate a buffer_t copy/duplication.
2016-06-21 15:23:51 -07:00
Jared Boone
003ce4990d
Move CaptureThread::static_fn into .cpp.
2016-06-21 12:15:57 -07:00
Jared Boone
264c19b312
Rename CaptureThread message, callback method, handle success.
2016-06-21 12:05:55 -07:00
Jared Boone
81d4e59aeb
Add CaptureThread success_callback.
2016-06-21 11:53:07 -07:00
Jared Boone
4ffb05212e
Pass error_callback by value.
2016-06-21 11:52:05 -07:00
Jared Boone
0e33d7e5d0
Refresh UIRecordVide status display when appropriate.
2016-06-21 11:35:41 -07:00
Jared Boone
44fb66b4f9
Rename UIRecordView::on_tick_second() -> update_status_display().
2016-06-21 11:35:15 -07:00
Jared Boone
19e5e111a9
Move UIRecordView::set_sampling_rate to .cpp.
2016-06-21 11:33:23 -07:00
Jared Boone
59aa99c8ff
Whoops, use events_flag(), not events_flag_isr().
2016-06-21 11:19:22 -07:00
Jared Boone
320d979924
Simplify CaptureThread error callback functions.
2016-06-21 11:13:58 -07:00
Jared Boone
cfaa44b02a
Send CaptureThread error into app-local message queue.
2016-06-21 11:04:10 -07:00
Jared Boone
76c5fe96af
Use app-local queue for messages coming from application.
...
Messages are now deferred until application thread call stack unwinds, events are checked.
2016-06-21 11:00:42 -07:00
Jared Boone
dbe735233a
Add app-local MessageQueue.
2016-06-21 10:57:44 -07:00
Jared Boone
7023616808
Move MessageQueue locations in SharedMemory structure.
2016-06-21 10:56:00 -07:00
Jared Boone
9f95eb90a3
Shrink baseband queue size, 2^12 -> 2^11.
2016-06-21 10:55:24 -07:00
Jared Boone
c990963298
Expose filesystem_error code.
2016-06-21 10:54:13 -07:00
Jared Boone
420adea180
Move capture start/stop into baseband API.
...
Hide more calls to baseband/shared memory.
2016-06-20 10:52:59 -07:00
Jared Boone
6bd191349a
Hide MessageHandlerMap.
...
Definitely didn't belong in message.hpp, saw no reason to expose it outside translation unit (.cpp file).
2016-06-19 22:56:06 -07:00
Jared Boone
f731366248
Hide some M0 EventDispatcher event masks.
2016-06-19 11:41:38 -07:00
Jared Boone
dbc2a5c9ea
Hide CaptureThread event mask, only used internally.
2016-06-19 11:20:45 -07:00
Jared Boone
0da48b099c
Add RF amp field to TPMS, capture modes.
2016-06-06 10:34:39 -07:00
Jared Boone
9190fe7e4f
Move common code to LNA/VGA field widgets.
2016-06-06 10:27:33 -07:00
Jared Boone
5ee035fbb3
Move RF amp control code into new class.
2016-06-06 10:13:36 -07:00
Jared Boone
a0e7fdf90b
TPMS: Add gain controls.
2016-06-06 09:50:48 -07:00
Jared Boone
a475daeeea
TPMS: Validate checksum for OOK 8k192 Schrader.
2016-06-02 23:09:55 -07:00
Jared Boone
9628815da7
TPMS: Validate checksum for the OOK 8k4 Schrader variant.
2016-06-02 22:22:22 -07:00
Jared Boone
4734790518
Rework phase detector.
...
Simplify calculation of gate masks.
Use entire symbol period to compute symbol value.
Correct error sign based on symbol value.
2016-06-01 15:22:21 -07:00
Jared Boone
36eefa46e7
Improve OOK phase advance algorithm.
...
Now independent of samples/symbol, adjusts up to 1/8 of a cycle per symbol.
2016-06-01 15:20:23 -07:00
Jared Boone
57767004a2
TPMS: Comments, more descriptive declarations.
2016-05-30 11:28:22 -07:00
Jared Boone
a52d0fbd81
Rename format_manchester/ManchesterFormatted to "[sS]ymbols".
2016-05-30 11:24:59 -07:00
Jared Boone
3d22222689
Extract DecodedSymbol from ManchesterDecoder.
2016-05-30 11:23:13 -07:00
Jared Boone
05b55f2696
TPMS: Extract packet readers.
2016-05-27 13:41:56 -07:00
Jared Boone
e7aaf0e8cf
Format TPMS signal type details in log file.
2016-05-25 18:03:43 -07:00
Jared Boone
04c472e802
Push SignalType inside tpms::Packet.
2016-05-25 17:58:32 -07:00
Jared Boone
83e4aec49c
Hack to paint over last options view when none should be visible.
2016-05-25 11:39:03 -07:00
Jared Boone
6a294e7d0e
Shameful hack to hide RecordView when sampling_rate == 0.
...
Switch visibility of child widgets -- UI fields/controls vs. a black rectangle. TODO: Fix painting and state management, which right now is just terrible.
2016-05-25 11:33:23 -07:00
Jared Boone
ff57b3c8cb
Add Color-only constructor to ui::Rectangle widget.
2016-05-25 11:32:06 -07:00
Jared Boone
38b374506e
More TPMS variable/enum renaming.
2016-05-23 18:02:25 -07:00
Jared Boone
249e6ab21e
TPMS: Improve descriptiveness of pipeline component names.
2016-05-23 11:22:09 -07:00
Jared Boone
a4ddf786d4
TPMS: Move only FSK slicer and payload handler into .hpp.
2016-05-23 11:12:06 -07:00
Jared Boone
05df04df7e
TPMS: Quick implementation of "flags" column.
...
For now, shows only for Schrader OOK packets: top (left) nibble is function code, bottom nibble has two-bit checksum.
2016-05-17 14:23:03 -07:00
Jared Boone
40859444fe
Update TPMS field handling for Schrader devices.
...
Thanks to mossmann for discovering these details.
2016-05-17 11:27:19 -07:00
Jared Boone
d81d879aac
Shrink understood TPMS packet payload sizes to minimum required.
2016-05-17 11:26:17 -07:00
Jared Boone
9e3ac94187
A bit more TPMS member variable renaming.
2016-05-17 11:24:33 -07:00
Jared Boone
ad554b28b5
Rename TPMS clock recovery, packet builders for accuracy.
2016-05-17 11:11:30 -07:00
Jared Boone
65d2f263f2
Center modal view message.
2016-05-17 11:06:37 -07:00
Jared Boone
ac49726707
Rename display_error() -> display_modal(), add title argument.
2016-05-17 10:15:34 -07:00
Jared Boone
6a3cd4c144
Centralize handling of modal error display.
2016-05-17 09:33:16 -07:00
Jared Boone
682a1706a3
Improve File error handling. Massive effects...
...
API is somewhat stolen from Rust std::fs::File. Static factories didn't work out so well, though. Move semantics made my head explode.
TODO: Still a lot of places where errors aren't handled, but it's an improvement...
2016-05-16 14:01:44 -07:00
Jared Boone
d905c446bf
Fix integer width oops calculating disk space().
2016-05-13 18:10:23 -07:00
Jared Boone
ff5e20a7a4
Refactor capture file writer classes -- lots of common code.
2016-05-12 22:31:56 -07:00
Jared Boone
537296b8c3
Stop capture on error.
2016-05-12 22:03:25 -07:00
Jared Boone
8de12ff570
Display modal error when RecordView experiences an error.
2016-05-12 22:00:40 -07:00
Jared Boone
9dc12fca3c
Check for filesystem errors in RecordView.
2016-05-12 21:59:46 -07:00
Jared Boone
92d75fa46d
Very crude ModalMessageView.
...
Initially for displaying filesystem errors.
2016-05-12 21:58:54 -07:00
Jared Boone
ebf0e765ce
Expose Writer errors through CaptureThread.
2016-05-12 21:58:15 -07:00
Jared Boone
87505f833b
Expose filesystem errors on Writer.
2016-05-12 21:57:38 -07:00
Jared Boone
8655b6d915
Adapt filesystem_error to new File error handling, expose on File.
2016-05-12 21:55:39 -07:00
Jared Boone
1df505331a
Handle File errors beyond FatFs.
2016-05-12 21:55:01 -07:00
Jared Boone
b21758781c
Preserve File error state once error occurs.
2016-05-12 21:54:13 -07:00
Jared Boone
0f1ae96ba4
Move File definition below std::filesystem.
2016-05-12 21:44:37 -07:00
Jared Boone
4567db2fdb
Add std::filesystem::filesystem_error object.
...
Not a standards-compliant implementation, but has the same vague shape, so should be easier to port later(?).
2016-05-12 18:19:28 -07:00
Jared Boone
479a96fc22
Move Painter into EventDispatcher.
2016-05-12 15:52:18 -07:00
Jared Boone
d64344a84f
Un-template MessageHandlerRegistration, move code to .cpp.
2016-05-12 15:24:08 -07:00
Jared Boone
7d4dd03418
Wrap message handler registrations in class to subscribe/unsubscribe automatically.
2016-05-11 22:53:09 -07:00
Jared Boone
e298e1ec5a
Fix SD capture remaining time formatting -- zero pad minutes.
2016-05-11 12:34:09 -07:00
Jared Boone
46d4c919fb
Show SD card capture time remaining even when not capturing.
2016-05-11 12:07:58 -07:00
Jared Boone
7fd508dfbe
Format remaining time on SD card as "HHH:MM:SS".
2016-05-11 12:02:39 -07:00
Jared Boone
7d3e697ea8
Rename SD record variables: "free"/"recorded" -> "available"
2016-05-11 11:50:40 -07:00
Jared Boone
b2322370a9
Display remaining capture time on SD card.
2016-05-11 11:22:57 -07:00
Jared Boone
f157c13442
Implement std::filesystem::space().
2016-05-11 10:58:57 -07:00
Jared Boone
c48a88539a
Check capture FIFO before waking M0 capture thread.
2016-05-10 14:39:24 -07:00
Jared Boone
b82eff51dd
Refactor of capture buffer management between cores.
...
Instead of copying data into and out of FIFO, passing buffer pointers between cores that are sized to match preferred/ideal SD card write size.
2016-05-10 14:12:37 -07:00
Jared Boone
85a6ecd5dc
Missing "using namespace".
2016-05-10 11:02:42 -07:00
Jared Boone
4c57c1205f
SD debug display more informative card type.
2016-05-09 22:49:26 -07:00
Jared Boone
91ae692f90
SD debug display CSD value.
2016-05-09 22:48:33 -07:00
Jared Boone
cc9c5acc3c
Remove SD card debug "detected" field.
2016-05-09 22:42:54 -07:00
Jared Boone
51b680c3bd
Implement FatFs disk_ioctl MMC_GET_{TYPE,CSD}.
2016-05-09 21:55:57 -07:00
Jared Boone
95581f8c27
FatFs disk_ioctl(GET_BLOCK_SIZE) unimplemented, return correct value.
2016-05-09 21:55:06 -07:00
Jared Boone
03c6c80332
Factor out some SD card info formatting.
2016-05-09 21:53:01 -07:00
Jared Boone
dc2944d5e9
Make Widget::screen_rect() const.
...
Because I can.
2016-05-08 14:59:26 -07:00
Jared Boone
ab73d6155e
Improve arrow key next focus algorithm.
2016-05-08 14:59:03 -07:00
Jared Boone
72cc6569ca
Use UM10503 (user manual) suggestion for SD delay config.
2016-05-06 15:04:53 -07:00