Commit Graph

617 Commits

Author SHA1 Message Date
Jared Boone
a98ada0cb7 Extract FrequencyStepView from FrequencyOptionsView.
...for use in capture app.
2016-07-19 10:47:15 -07:00
Jared Boone
77291b4e31 On PortaPack shutdown, init HackRF CPLD to EEPROM bitstream. 2016-07-18 11:32:14 -07:00
Jared Boone
c0b9761fe5 Move CPLD management into PortaPack::init(). 2016-07-18 11:30:45 -07:00
Jared Boone
3f3fe3bb67 JTAG: Report if HackRF CPLD bitstream matches released version.
TODO: Could be better reporting (CRC?), and could not pause while checking CPLD EEPROM, and could offer a means to program the bitstream if it doesn't match...
2016-07-17 15:56:24 -07:00
Jared Boone
204408d288 JTAG: Load HackRF CPLD bitstream into SRAM from firmware image.
No further concerns about the HackRF CPLD having an ancient bitstream on it! At least in PortaPack mode...
2016-07-17 15:54:02 -07:00
Jared Boone
c8b1a8fbf6 JTAG: Add functions to check EEPROM, load SRAM of HackRF CPLD. 2016-07-17 15:52:58 -07:00
Jared Boone
1d58f05163 JTAG: Auto-generate HackRF CPLD data from SVF. 2016-07-17 15:50:36 -07:00
Jared Boone
ad4a68f90a CMake: Generate portapack_cpld_data.cpp from SVF via tool. 2016-07-05 12:45:31 -07:00
Jared Boone
740edc4d49 Remove PortaPack CPLD checksum display.
No point in calculating or showing, since full compare against desired bits is done at every startup -- way better than a CRC, and if it fails tries to program. If programming fails, the PortaPack panics and LED flashes.
2016-07-05 12:08:56 -07:00
Jared Boone
42190b9587 CMake: Fix ldscript dependencies. 2016-07-03 18:48:39 -07:00
Jared Boone
b6fe392512 CMake: Improve dependencies, how output files are managed/cleaned.
I almost think I understand CMake, now. Almost.
2016-07-03 18:32:50 -07:00
Jared Boone
45ca3cf7e6 CMake: reduce intermediate targets, add script dependencies. 2016-07-03 11:32:21 -07:00
Jared Boone
c52f5fa26c Expose static EventDispatcher to stop main loop.
Used to fix reboot into HackRF firmware.
2016-07-02 16:38:01 -07:00
Jared Boone
57293bc5eb Clear application message queue after baseband is shut down. 2016-07-02 16:19:41 -07:00
Jared Boone
30efa53956 Clear M4->M0 interrupt before M4 image is loaded.
...out of an abundance of caution.
2016-07-02 16:15:43 -07:00
Jared Boone
34e45412d1 Dumb baseband-running state tracking to ease use of baseband API. 2016-07-02 16:12:36 -07:00
Jared Boone
eac4cf678a Capture M4 chDbgPanic msg, show in application. 2016-07-02 15:33:03 -07:00
Jared Boone
97ba19af24 Change M4 loader to use image tags.
Also finish moving HackRF binary to tagged image region.
2016-07-01 10:37:22 -07:00
Jared Boone
97760a2f9d Remove GNU Make files, now using CMake to build firmware. 2016-06-30 12:04:10 -07:00
Jared Boone
cf5ac441ae Add CMake firmware build system. 2016-06-30 12:02:43 -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
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
3cdce88e5d TPMS: Allow band selection: 315 or 433.92 (~434) MHz. 2016-06-21 15:36:57 -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
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
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
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
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
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
03c6c80332 Factor out some SD card info formatting. 2016-05-09 21:53:01 -07:00
Jared Boone
56a7b841cb Remove CaptureThread LED control. 2016-05-02 12:53:33 -07:00
Jared Boone
eeb4645242 Move lots of capture_thread code to .cpp. 2016-05-02 12:50:49 -07:00
Jared Boone
697df07501 Move Writer implementations to ui_record_view.cpp. 2016-05-02 12:34:42 -07:00
Jared Boone
97af4585b0 Missing #includes. 2016-05-02 12:26:53 -07:00
Jared Boone
2e6230e29c Rearrange UI code RecordView::start() to keep consistent in failure. 2016-05-02 11:55:53 -07:00
Jared Boone
3f36d8b7bf Push record file type support into RecordView. 2016-05-02 11:44:37 -07:00
Jared Boone
68faccfd10 Update Writer default destructor syntax. 2016-05-02 11:22:14 -07:00
Jared Boone
fa8105266c WAVFileWriter saves WAV files! 2016-05-01 11:31:20 -07:00
Jared Boone
80f94cbc29 Add File seek support. 2016-05-01 11:29:44 -07:00
Jared Boone
c5cae1034e Forgot virtual destructor on interface class.
So my Files weren't getting closed properly!
2016-05-01 11:29:19 -07:00
Jared Boone
0445a842db Rename args on Writer interface. 2016-05-01 11:07:50 -07:00
Jared Boone
2be105853e Shrink CaptureThread stack, undid earlier increase.
Moved File into Writer abstraction, passed in now, not created on stack.
2016-04-30 16:55:52 -07:00
Jared Boone
6a17be1f2c Abstract CaptureThread target class into Writer, implement RawFileWriter. 2016-04-30 16:34:50 -07:00
Jared Boone
b5fbab8e29 Pass a File into CaptureThread.
Groundwork for having a general output-stream interface.
2016-04-30 16:26:49 -07:00
Jared Boone
a2a2de9a23 Increase CaptureThread stack, now that File is created in new thread. 2016-04-30 15:13:54 -07:00