Commit Graph

674 Commits

Author SHA1 Message Date
Jared Boone
aaa0e389b9 AIS: Add gain controls, RSSI and channel indications. 2016-07-25 15:46:37 -07:00
Jared Boone
4eb3f044a0 TPMS: Close row between controls and table header. 2016-07-25 15:29:52 -07:00
furrtek
fdfa7c9776 Merge remote-tracking branch 'upstream/master'
Conflicts:
	firmware/Makefile
	firmware/application/Makefile
	firmware/application/event_m0.cpp
	firmware/application/ui_setup.cpp
	firmware/application/ui_setup.hpp
	firmware/baseband/baseband_thread.cpp
	firmware/baseband/baseband_thread.hpp
	firmware/bootstrap/CMakeLists.txt
	firmware/common/message.hpp
	firmware/common/portapack_shared_memory.hpp
	hardware/.gitignore
2016-07-25 16:35:42 +02:00
furrtek
966a758a0b Added frequency manager skeleton, LCR alt encoding, GPS jammer 2016-07-25 16:21:27 +02:00
Jared Boone
ffa797b926 File: Remove puts(), add write_line(), cascade changes in interface. 2016-07-24 20:39:21 -07:00
Jared Boone
c2d971d59e WAVFileWriter: Error handling while updating header. 2016-07-24 19:14:48 -07:00
Jared Boone
ff17f8f293 File: Do not use f_error() in puts(), it doesn't return the reason for failure.
TODO: Improve puts() behavior to return a more specific error than FR_EOF.
2016-07-24 19:13:39 -07:00
Jared Boone
d556ef38b4 File: Make incomplete write()s return FR_DISK_FULL. 2016-07-24 19:12:37 -07:00
Jared Boone
931853a55f Make File::Result::value() const. 2016-07-24 19:12:09 -07:00
Jared Boone
8b02e40602 Move touch ADC data collection to M0.
...so it continues when M4 is shut down.

It's not as pretty as using DMA, but it's far simpler, even if it involves letting the ADC run continuously and taking the last samples even if not synchronizing to the phase of the sampling of the channels.
2016-07-24 15:31:53 -07:00
Jared Boone
b3f4ea8978 Clean up SharedMemory placement new. 2016-07-24 15:27:05 -07:00
Jared Boone
49d6cda731 Move BasebandConfiguration to receiver_model.hpp.
That's the only place it's being used now -- it's no longer moving between cores.
2016-07-19 17:11:32 -07:00
Jared Boone
74b5571e8b Remove baseband::start()/stop() and related message. 2016-07-19 17:06:22 -07:00
Jared Boone
6f65cdf41e Add frequency step control to capture app.
Redistribute other controls, remove empty row that had been reserved for options views.
2016-07-19 10:48:45 -07:00
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
furrtek
e15f659a6a RDS radiotext transmit (group 2A)
Keyboard/Unistroke text input method selection
2016-05-29 12:06:47 +02:00
furrtek
ceced96673 Started fixing RDS and adding more group types 2016-05-28 01:59:13 +02:00
furrtek
9c3e3bddad LCR scanner and bugfixes, keyboard bugfixes 2016-05-27 09:26:43 +02:00
furrtek
6a0816ba56 Added carrier wake up in Xylos TX and cute icons 2016-05-27 06:48:04 +02: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
furrtek
7a90eab407 3MHz-wide fast close call works :) >3MHz doesn't work anymore :( 2016-05-17 20:27:51 +02: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
furrtek
e959d9a8ec More messagepack 2016-05-16 12:02:45 +02:00
furrtek
61fdb57b8f Testing Messagepack for saving/loading stuff from SD card 2016-05-15 02:35:08 +02:00
Jared Boone
d905c446bf Fix integer width oops calculating disk space(). 2016-05-13 18:10:23 -07:00
furrtek
7267de234d Added EPAR transmit (slow FSK), bit bug for now 2016-05-13 09:34:15 +02: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
furrtek
9149508c83 Improved close call precision 2016-05-13 01:18:04 +02: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
furrtek
7d193c3445 Close call tuning fix, more UI elements 2016-05-11 23:57:22 +02: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