furrtek
e686c7437e
Fixed OOK clk setting
2016-08-06 12:55:39 +02:00
furrtek
38e506a108
OOK transmit is mostly working, bit durations are wrong
...
Simplified messages carrying data (uses shared_memory instead)
Added SymField widget (bitfield, symbol field...)
Added some space for baseband code
BMP palette loading bugfix
2016-08-06 08:49:45 +02:00
Jared Boone
447a7a5661
Add TXGainField user interface element.
2016-08-03 16:14:34 -07:00
Jared Boone
ef9b4051b7
Expose TX gain on ReceiverModel.
...
Obviously, ReceiverModel is an even worse name/concept than it was before.
2016-08-03 16:13:54 -07:00
Jared Boone
1e39b7ea45
Expose TX gain in radio API.
2016-08-03 16:12:22 -07:00
Jared Boone
45a1ccbc53
Correctly map TX gain from dB to register value.
2016-08-03 16:12:01 -07:00
furrtek
787f656500
Testing OOK TX baseband module
2016-08-03 08:53:50 +02:00
furrtek
1b44b22419
Wrote most of the Encoders TX app (lacks baseband module)
...
Fixed menu scroll glitch
Added set_range to NumberField widget
2016-08-03 04:53:51 +02:00
furrtek
e2218a0f32
More AFSK options, scan lists,
2016-08-02 12:44:31 +02:00
furrtek
72f3c08e9b
Added raw ASCII char field in keyboard view
2016-08-01 20:06:17 +02:00
furrtek
94b27ec45c
Scrollable menuview
2016-07-30 05:27:28 +02:00
Jared Boone
e9d97dfd0f
FatFs: Update application ffconf.h from template.
2016-07-28 23:15:10 -07:00
furrtek
c58039e557
Fixed LCR scan and alt format, console widget, text input autotrim
2016-07-29 04:52:51 +02:00
Jared Boone
16a6d7efe0
Touch: Adjust thresholds and parameters for new scan.
2016-07-27 21:58:35 -07:00
Jared Boone
dd2097a447
Touch: Simplify scanning.
2016-07-27 21:57:51 -07:00
Jared Boone
8a8e84d763
Remove debugging code.
2016-07-27 21:57:00 -07:00
furrtek
1d697d2201
Added PWM RSSI output for NBFM and WFM
2016-07-28 05:25:33 +02:00
Jared Boone
c424bf08f3
Touch: Migrate touch calibration to persistent memory.
2016-07-27 15:30:43 -07:00
Jared Boone
aa1b8f63fc
Remove errant debug #define.
2016-07-27 15:12:08 -07:00
furrtek
1beac3bdbd
Added repeat setting for AFSK TX, fixed LCR scan, cleaned up LCR
...
Added max setting for progressbars, default = 100
2016-07-28 00:08:05 +02:00
Jared Boone
f85d83475c
ReceiverModel: Clean up Mode enum.
2016-07-27 14:57:50 -07:00
Jared Boone
f05d917a7c
ReceiverModel: Use Mode instead of integer.
2016-07-27 14:51:37 -07:00
Jared Boone
371c6e0906
ReceiverModel: Eliminate now-redundant BasebandConfiguration.
2016-07-27 14:42:46 -07:00
Jared Boone
b60e88ef68
ReceiverModel: More method renaming.
...
update_baseband_configuration() -> update_sampling_rate().
2016-07-27 14:41:36 -07:00
Jared Boone
5a05a758a1
ReceiverModel: Use accessor method.
2016-07-27 14:40:30 -07:00
Jared Boone
44a1b7d9d7
ReceiverModel: Method renaming.
...
update_modulation_configuration() -> update_modulation().
2016-07-27 14:39:49 -07:00
Jared Boone
24fa97439d
Touch: Add touch configuration UI.
2016-07-27 14:15:21 -07:00
Jared Boone
cd9b76ef78
Touch: Average/threshold tweaks.
2016-07-27 14:08:24 -07:00
Jared Boone
7492d50f0b
Touch: Use calibration matrix.
2016-07-27 14:08:02 -07:00
Jared Boone
e813db16fd
Touch: Missing #include.
2016-07-27 14:04:04 -07:00
Jared Boone
5e5417b456
Touch: Default and active calibration API of sorts.
2016-07-27 14:03:06 -07:00
Jared Boone
c022a72ef4
Touch: Add Calibration class.
...
Matrix transforms coordinates from digitizer to display.
2016-07-27 14:01:20 -07:00
furrtek
e958b4bd7d
Fixed LCR transmit and AFSK baseband module
2016-07-27 21:26:03 +02:00
Jared Boone
8d330784b2
CFlags: Add "-g" compiler option for debug symbols.
2016-07-27 11:46:09 -07:00
Jared Boone
9500da4b1b
Touch: Fix small loss of precision calculating X/Y positions.
2016-07-27 11:14:11 -07:00
Jared Boone
f1a3201940
Touch: Add bitmaps for calibration UI.
2016-07-27 11:13:07 -07:00
Jared Boone
6c2eb37248
Bitmap: Add note about how data is structured.
2016-07-26 21:29:59 -07:00
furrtek
79f2134d91
Cleaned up Xylos TX, J/N works again
2016-07-27 05:54:55 +02:00
furrtek
739956b42b
Sync with Sharebrained's fw, only Xylos TX works for now
2016-07-27 03:03:40 +02:00
Jared Boone
d0fd56bc78
Touch: Expose metrics calculation struct/function.
2016-07-26 15:13:07 -07:00
Jared Boone
3759e142d8
ERT: Add RSSI to app UI.
2016-07-25 16:12:32 -07:00
Jared Boone
5e362534c3
Transponder apps: Use gains from receiver model.
2016-07-25 16:07:22 -07:00
Jared Boone
c573f3b57d
ERT: Fix initial focus.
2016-07-25 16:06:26 -07:00
Jared Boone
00f542e96b
ERT: Add gain controls.
2016-07-25 16:06:09 -07:00
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
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
furrtek
fb21c1332e
Started close call dev
2016-05-11 12:45:03 +02:00
furrtek
b4a113be59
Handwriting fixes
2016-05-11 01:03:42 +02: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
furrtek
a42f5beb9b
Handwriting recognition
2016-05-10 07:20:24 +02:00
Jared Boone
03c6c80332
Factor out some SD card info formatting.
2016-05-09 21:53:01 -07:00
furrtek
4511090eae
Unistroke in dirty code
2016-05-10 04:24:19 +02:00
furrtek
c8d37e215b
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
firmware/application/audio_thread.cpp
firmware/application/event_m0.cpp
firmware/application/time.cpp
firmware/baseband-tx/clock_recovery.cpp
firmware/baseband/stream_input.hpp
firmware/common/message.hpp
2016-05-09 21:16:24 +02:00
furrtek
569f299f42
Merge
2016-05-09 21:05:11 +02:00
furrtek
d40016ffda
Fixed LCR and Xylos transmitters
2016-05-09 20:42:20 +02: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
Jared Boone
0d6103916d
Converge File object with std::fstream. Simplify LogFile.
...
LogFile no longer watches SD card presence and tries to open/close files dynamically.
2016-04-30 15:09:34 -07:00
Jared Boone
4d6fccd8ea
Extract RecordView from AnalogAudioApp, CaptureApp.
2016-04-30 13:56:54 -07:00
Jared Boone
24192b4043
Capture: Write simple metadata for baseband and audio files.
...
Will probably turn the audio metadata file into .wav data, eventually.
2016-04-30 11:25:04 -07:00
Jared Boone
a6d41547a0
Make CaptureAppView capture functions same as AnalogAudioView.
2016-04-30 11:09:39 -07:00
Jared Boone
12b8a1b2a9
Change next-file naming functions to work on filename stems.
...
This paves the way for writing metadata files with similar prefixes, and avoids confusing numbering of capture files with different extensions (e.g. BAD_0000.S16 and BBD_0000.S8).
2016-04-29 11:27:12 -07:00
furrtek
d55a420dfd
Fixed module loading (again), only audio tx works for now
2016-04-28 14:59:14 +02:00
Jared Boone
be9f3362da
Display percent of data dropped during capture to SD card.
2016-04-27 12:07:31 -07:00
Jared Boone
6ee886b90e
Expose capture state to the UI.
2016-04-27 12:06:47 -07:00
Jared Boone
11d15ec5b5
Add second tick handler for CaptureThread.
2016-04-27 12:03:43 -07:00
Jared Boone
8188b44439
Add Signal for per-second tick callbacks.
2016-04-27 12:02:17 -07:00
Jared Boone
7430e31578
Extract CaptureConfig from StreamOutput to CaptureThread.
...
So capture stats can be exposed by CaptureThread.
2016-04-27 10:56:50 -07:00
Jared Boone
75159fcc00
Use static StreamOutput::fifo for accessor methods.
2016-04-27 10:52:11 -07:00
Jared Boone
dc1ba7e6f3
Move CaptureThread::write_size into run().
2016-04-27 10:44:44 -07:00
Jared Boone
ca5dadab93
Set CaptureThread::thread to null after thread is released.
...
Was having a timing problem where ISR was still trying to signal thread after thread was nulled.
2016-04-27 10:13:50 -07:00
Jared Boone
4a348e2c6c
Revise CaptureThread loop to not get stuck if SD write speed too slow.
2016-04-27 10:12:21 -07:00
Jared Boone
91ee2dbb67
Move FIFO and write size to CaptureConfig structure.
...
Now configured from baseband, where write size and appropriate FIFO size is known.
2016-04-26 22:26:30 -07:00
Jared Boone
0662196905
Fix audio codec I2C reliability for some HackRF units.
2016-04-26 13:06:46 -07:00
Jared Boone
c585f3d4ea
Rename EVT_FIFO_HIGHWATER -> EVT_MASK_CAPTURE_THREAD.
2016-04-23 17:30:55 -07:00
Jared Boone
3103e9b80e
Remove unused EventDispatcher::thread_record.
2016-04-23 17:26:54 -07:00
Jared Boone
d5e21ce972
Use CaptureConfig to share state between cores.
...
Remove awful FIFO_HACK.
TODO: Lots of repeated code...
TODO: Capture thread is signalled too frequently.
2016-04-23 15:07:44 -07:00
Jared Boone
8b8b394792
Hide FIFO hack inside StreamOutput.
...
First step in a long refactor and evolution of the capture code.
2016-04-22 16:21:31 -07:00
Jared Boone
adf573be20
Add simple record UI to audio app.
2016-04-22 12:30:02 -07:00
Jared Boone
a6538bc48b
Rename AudioThread -> CaptureThread.
...
...since it's doing baseband capturing too, and doesn't really know what kind of data it's moving.
2016-04-22 12:15:51 -07:00
Jared Boone
b8196ee2be
Rename capture UI record objects and functions.
2016-04-22 12:08:01 -07:00
Jared Boone
f2453dd639
Consolidate bitmaps for reuse.
2016-04-22 11:57:46 -07:00
Jared Boone
27a1423309
De-constexpr a few UI constructors.
...
Because it was silly.
2016-04-22 11:18:35 -07:00
Jared Boone
61b5faf8b5
Clean up AnalogAudioView::on_show_options_modulation().
2016-04-22 10:22:47 -07:00
Jared Boone
760c73a7be
Move field.set_style()s after all participating widgets' styles are reset.
2016-04-22 10:16:42 -07:00
Jared Boone
c650536934
Hide remove_widget() in set_options_widget().
2016-04-22 10:01:17 -07:00
furrtek
2fcfdba9ea
"At least it builds !"
2016-04-21 22:12:51 +02:00
Jared Boone
09a39f780a
Show capture file name.
2016-04-21 11:45:57 -07:00
Jared Boone
ee51d7fa67
Make room in capture mode for other controls.
2016-04-21 11:45:37 -07:00
furrtek
1b0da68d65
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
firmware/application/Makefile
firmware/application/core_control.cpp
firmware/application/touch.cpp
firmware/application/ui_debug.cpp
firmware/application/ui_debug.hpp
firmware/application/ui_navigation.cpp
firmware/baseband/baseband_thread.cpp
2016-04-21 20:36:19 +02:00
Jared Boone
857fba6309
Change justification of spectrum right tick label.
2016-04-21 11:36:07 -07:00
Jared Boone
e4b86d149c
Change file recording behavior to create new file instead of appending.
2016-04-20 10:24:39 -07:00
Jared Boone
f38fca168e
Use sequential file naming for baseband capture files.
2016-04-20 10:23:59 -07:00
Jared Boone
9d635b3fcf
Use sequential file naming for audio recording.
2016-04-20 10:22:50 -07:00
Jared Boone
1c544a663b
Use automatic file naming for screen capture .png files.
2016-04-20 10:22:05 -07:00
Jared Boone
f49d04fe7a
Functions to select next filename based on matching pattern.
...
Used for capture, audio, screenshot file naming.
2016-04-20 09:57:17 -07:00
Jared Boone
7492984144
Add filesystem directory enumeration.
...
Borrow API from std::filesystem -- Boost and C++17.
2016-04-20 09:56:35 -07:00
Jared Boone
8119980370
Widen capture mode sampling rate, baseband filter.
2016-04-20 09:54:19 -07:00
Jared Boone
6de2df7c99
Enable FatFs f_findfirst, f_findnext.
2016-04-19 11:57:22 -07:00
Jared Boone
75cf0c2f4e
Update ffconf.h
...
Had to change codepage to 437 due to deprication of prior codepage 1252.
2016-04-19 10:09:17 -07:00
Jared Boone
ec75c00da2
Add capture mode waterfall.
2016-04-13 11:09:18 -07:00
Jared Boone
2201a9e95f
Change capture start/stop to toggle image button.
2016-04-12 11:37:58 -07:00
Jared Boone
cee5417a4a
Capture UI basic controls.
...
Tuning, LNA/VGA gain, second IF and "channel" RSSI. Use ReceiverModel, so that audio receiver parameters come across for quicker capture configuration.
2016-04-12 10:56:00 -07:00
Jared Boone
10b28429e4
Add show-options event for VGAGainField.
2016-04-12 10:49:07 -07:00
Jared Boone
3e8b097588
Extract VGAGainField.
2016-04-12 10:48:24 -07:00
Jared Boone
40df73b923
Start/stop control of baseband capture.
2016-04-11 11:22:35 -07:00
Jared Boone
5558ca60d7
Enlarge capture buffers -- inter-core FIFO, SDC
2016-04-11 11:00:47 -07:00
Jared Boone
743dc9f542
Rough implementation of capture mode
2016-04-11 10:59:55 -07:00
Jared Boone
4a1d3b14a1
Open AudioThread file on new thread.
...
Opening it in constructor was causing UI pauses.
2016-04-11 10:20:19 -07:00
Jared Boone
03dfd2b48e
...and more AudioThread cleanup.
2016-04-11 10:20:19 -07:00
Jared Boone
14d1b5fd72
Further AudioThread cleanup.
2016-04-11 10:20:19 -07:00
Jared Boone
feeb5bff6f
Move AudioThread con/destruction to proper places.
2016-04-11 10:20:19 -07:00
Jared Boone
08f4542954
Marginal attempt to simplify stream write loop.
2016-04-11 10:20:19 -07:00
Jared Boone
fc8bb635a6
Consider an incomplete write as an error.
2016-04-11 10:20:19 -07:00
Jared Boone
ba3c9dd8d1
Insist on writing stream data in buffer-sized blocks.
...
Maintaining alignment improves SD card write performance significantly.
2016-04-11 10:20:19 -07:00
Jared Boone
b3e2e89e51
Create audio recording thread in the right place.
...
Was always creating, finding a timing issue when switching baseband modes, would freeze, probably due to a dangling pointer. TODO: Make stream recording setup synchronous.
2016-04-11 10:20:19 -07:00
Jared Boone
8e14d2f4e8
Signal SD card write thread from M4 event.
2016-04-11 10:20:19 -07:00
Jared Boone
daa2f7aed0
Drain write FIFO, don't read just one block.
2016-04-11 10:20:19 -07:00
Jared Boone
aca19ae997
Factor out SD card write size.
2016-04-11 10:20:19 -07:00
Jared Boone
f94938db8e
De-template FIFO.
2016-04-11 10:20:19 -07:00
Jared Boone
59f1a32566
Semi-naive audio recording to SD card.
2016-04-11 10:20:19 -07:00
Jared Boone
f09d803e61
Use correct SDC card present function.
...
Was using the LLD function directly -- no!
2016-04-10 17:29:14 -07:00
Jared Boone
9e1b88d85f
Enable FATFS fast seek feature.
...
Handy when appending to large baseband files.
2016-04-10 17:27:36 -07:00
Jared Boone
4ac2c540c9
Disable SDC "nice waiting" for performance.
...
Quick test indicates 4.5% better average write performance. No change in reads.
2016-04-10 17:24:28 -07:00
Jared Boone
0cb923be6d
Add SD card debug view.
...
Bus and card configuration data, write and read testing.
2016-04-10 17:16:39 -07:00
Jared Boone
0a9d7ec8d8
Add File::open_for_reading().
...
Barf.
2016-04-10 15:56:34 -07:00
Jared Boone
38ba02a68f
Change File::open to File::open_for_writing.
...
Not thrilled about the File API right now...
2016-04-10 15:55:01 -07:00
Jared Boone
b35a8c4501
Add TPMS signal_type.
2016-04-06 17:04:40 -07:00
Jared Boone
635b1fd4c3
Extract TPMS packet stuff to separate files.
2016-04-06 17:01:54 -07:00
Jared Boone
b7c0efbb64
Add ERT commodity type.
2016-04-06 16:16:10 -07:00
Jared Boone
bf348cf30a
Move message handling loops to MessageQueue.
2016-02-27 21:07:11 -08:00
Jared Boone
7f663f7e0c
Remove unused code.
2016-02-22 14:18:20 -08:00
Jared Boone
52016defd5
Capture screen image, save to PNG file on SD card.
2016-02-19 15:34:02 -08:00
Jared Boone
ac6af17b94
Fix extra, empty menu items in DebugMenuView.
...
Added TODO to prevent default construction of menu items, making this a compiler error in the future.
2016-02-19 11:22:22 -08:00
Jared Boone
40d7f3a134
Add screen capture button.
2016-02-18 21:35:46 -08:00
Jared Boone
7cf55cef52
Add File::write() that takes std::array.
2016-02-18 21:34:03 -08:00
Jared Boone
083711ceb2
Add File::open(), use inside File::open_for_append().
2016-02-18 21:33:38 -08:00
Jared Boone
6b97490794
Fix SD error icon.
...
Was missing the left half of the "X".
2016-02-18 21:32:25 -08:00
Jared Boone
1e0d34c98b
CRC internal type more suitable for ARM.
2016-02-18 21:31:51 -08:00
Jared Boone
c12833a288
Factor out a common rectangle.
2016-02-16 15:17:06 -08:00
Jared Boone
0681f9c5df
Init message queues in M0 event dispatcher.
2016-02-16 11:23:02 -08:00
Jared Boone
7ec476cb79
Rename m4_startup.* to more appropriate core_control.*
...
Now that there is M0- and M4-related code.
2016-02-16 11:09:00 -08:00
Jared Boone
7fbe57931e
Push M0 halt code into a function.
2016-02-16 11:04:35 -08:00
Jared Boone
64da082306
Remove dead test code.
2016-02-16 10:28:35 -08:00
Jared Boone
3e2b6087c2
Tighten up radio API, stop leaking 1st/2nd IF instances.
2016-02-16 10:28:13 -08:00
Jared Boone
7d60b940d6
Push hardware peripherals debug views into a sub-menu.
2016-02-12 15:05:47 -08:00
Jared Boone
c72a443738
Relabel ChibiOS core free bytes.
2016-02-12 13:51:14 -08:00
Jared Boone
937dad62ee
Create log files on heap.
...
...for imminent refactor where user can manually start/stop logging, and maybe even change the filename! *swoon*
2016-02-10 20:53:14 -08:00
Jared Boone
58864ebbe7
Remove extra #includes.
2016-02-10 20:19:27 -08:00
Jared Boone
22e44605b6
Hide baseband queue code inside baseband "API".
2016-02-10 20:11:19 -08:00
Jared Boone
49a89b9dee
Single function to configure/enable radio.
2016-02-10 16:58:25 -08:00
Jared Boone
692a262f41
Use TPMS sampling_rate variable instead of literal.
2016-02-10 16:48:09 -08:00
Jared Boone
f5cdf8ed76
Remove unused radio:: function.
2016-02-10 16:47:36 -08:00
Jared Boone
472b0a2e79
ReceiverModel no longer uses some baseband modes.
2016-02-10 16:32:25 -08:00
Jared Boone
5cdbae495a
Digital modes no longer use ReceiverModel.
...
AIS/TPMS/ERT were changing receiver mode settings -- not my intent.
2016-02-10 16:31:52 -08:00
Jared Boone
3587300701
Remove extra #include.
2016-02-10 16:19:31 -08:00
Jared Boone
6c06549b6e
Remove reference PPM methods from ReceiverModel.
2016-02-10 15:34:33 -08:00
Jared Boone
3a709c51c4
Hide more Widget member variables.
2016-02-07 10:40:06 -08:00
Jared Boone
8f8a9f2b63
Fix back button repaint/focus quirks.
2016-02-07 10:33:15 -08:00
Jared Boone
7cb3bbc9f8
Make Widget flags private, expose via methods.
2016-02-07 10:32:38 -08:00
Jared Boone
9a33fc884a
More arguments pass-by-reference.
2016-02-06 16:44:19 -08:00
Jared Boone
cd56847326
Remove some unused member variables.
2016-02-06 16:23:38 -08:00
Jared Boone
3172fb1ad6
Make assorted arguments pass-by-reference.
2016-02-06 16:23:20 -08:00
furrtek
ba94ce55ef
Loadmodule emergency fix
2016-02-06 23:19:28 +01:00
Jared Boone
a9451c17b4
Move PPB clock adjustment out of ReceiverModel.
2016-02-05 16:52:34 -08:00
Jared Boone
682c87e3ff
Wrap baseband sampling rate function to radio:: function.
2016-02-05 16:36:36 -08:00
Jared Boone
0294165481
Extract LOTS of stuff into an audio API.
...
Prevent all manner of type and implementation leakage.
2016-02-05 16:25:43 -08:00
Jared Boone
1b793da17f
Expose I2C0 via portapack.hpp.
2016-02-05 16:21:03 -08:00
Jared Boone
9430c94dec
Move I2S management to application side.
2016-02-05 15:25:08 -08:00
furrtek
c81ba5be8e
"At least it builds, now"
2016-02-05 17:40:14 +01:00
Jared Boone
94a6d8340d
Add left key navigation out of newer menus.
...
TODO: Ripe for a base class or something.
2016-02-04 12:17:10 -08:00
furrtek
8009a9b543
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
firmware/application/Makefile
firmware/application/analog_audio_app.cpp
firmware/application/analog_audio_app.hpp
firmware/application/event.cpp
firmware/application/irq_ipc.hpp
firmware/application/portapack.hpp
firmware/application/receiver_model.cpp
firmware/application/receiver_model.hpp
firmware/application/recent_entries.cpp
firmware/application/string_format.hpp
firmware/application/ui_debug.cpp
firmware/application/ui_debug.hpp
firmware/application/ui_menu.cpp
firmware/application/ui_navigation.cpp
firmware/application/ui_navigation.hpp
firmware/application/ui_receiver.cpp
firmware/application/ui_receiver.hpp
firmware/application/ui_sd_card_status_view.cpp
firmware/application/ui_sd_card_status_view.hpp
firmware/application/ui_setup.cpp
firmware/application/ui_setup.hpp
firmware/application/ui_spectrum.hpp
firmware/baseband-tx/dsp_fir_taps.cpp
firmware/baseband-tx/dsp_fir_taps.hpp
firmware/baseband-tx/irq_ipc_m4.cpp
firmware/baseband-tx/irq_ipc_m4.hpp
firmware/baseband-tx/proc_audiotx.cpp
firmware/baseband/Makefile
firmware/baseband/audio_output.cpp
firmware/baseband/audio_output.hpp
firmware/baseband/block_decimator.hpp
firmware/baseband/dsp_decimate.cpp
firmware/baseband/dsp_decimate.hpp
firmware/baseband/dsp_demodulate.cpp
firmware/baseband/dsp_demodulate.hpp
firmware/baseband/dsp_fir_taps.cpp
firmware/baseband/irq_ipc_m4.cpp
firmware/baseband/irq_ipc_m4.hpp
firmware/baseband/proc_am_audio.cpp
firmware/baseband/proc_am_audio.hpp
firmware/baseband/proc_nfm_audio.cpp
firmware/baseband/proc_nfm_audio.hpp
firmware/baseband/proc_wfm_audio.cpp
firmware/baseband/proc_wfm_audio.hpp
firmware/baseband/spectrum_collector.hpp
firmware/common/dsp_fir_taps.cpp
firmware/common/dsp_fir_taps.hpp
firmware/common/event.hpp
firmware/common/message.hpp
firmware/common/ui_painter.cpp
firmware/common/ui_painter.hpp
2016-02-04 11:35:55 +01:00
furrtek
6e496e2b26
Merge fixing, commit to catch up on recent files
2016-02-04 10:27:53 +01:00
Jared Boone
5d4e59271a
Switch display sleep button to ImageButton.
2016-02-03 16:14:34 -08:00
Jared Boone
dd6d56cff8
SD card status view inherits from new Image class.
2016-02-03 15:50:14 -08:00
Jared Boone
e57659d4cf
Convert SD card view to show icon/color for status.
2016-02-03 13:24:38 -08:00
Jared Boone
e2a82061d4
Update SD card status when view is shown.
2016-02-03 10:34:17 -08:00
Jared Boone
d9be5677e3
Simplify handling of modulation config changes via UI.
2016-02-02 15:20:14 -08:00
Jared Boone
10c7c57fd1
Expose modulation configuration indices.
2016-02-02 15:19:43 -08:00
Jared Boone
1cf38387c1
Initialize modulation from ReceiverModel.
2016-02-02 15:01:04 -08:00
Jared Boone
d82cbcb1c4
Rework modulation options views handling.
...
Still not pretty, but a bit simpler. I think...
2016-02-02 14:26:00 -08:00
Jared Boone
3f86a7c4ae
Add AM/NBFM configuration options views.
2016-02-02 13:42:00 -08:00