Commit Graph

850 Commits

Author SHA1 Message Date
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 67eb62ec12 Provide AudioOutput::set_stream().
Assign when wanting to capture audio stream.
2016-04-23 14:55:59 -07:00
Jared Boone 7436dea51a Add CaptureConfig structure and message. 2016-04-23 14:54:15 -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
Jared Boone 051a63a222 Fix and clean up calculation of filter passband in capture mode. 2016-04-21 11:55:03 -07:00
Jared Boone 28ca45326d Fix capture mode baseband_fs value. 2016-04-21 11:54:39 -07: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
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 95361b0036 Rename ffconf.h -> ffconf_template.h
To avoid #include problems with ffconf.h inside individual firmware executable projects.
2016-04-19 09:52:38 -07:00
Jared Boone 94c81528c1 FatFs update to R0.11a. 2016-04-19 09:51:31 -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 60a0d5c469 Capture mode channel stats 2016-04-12 10:51:20 -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 e85503cd81 Nascent support for OOK TPMS transponders.
Apparently, Subaru and GMC. No CRC or other validation, no attempt to interpret packet contents yet.
2016-04-11 11:53:17 -07:00
Jared Boone dc16aa478f OOK slicer, clock recovery classes. 2016-04-11 11:50:03 -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 9eefd56410 StreamInput: notify other core every fourth of FIFO written. 2016-04-11 10:20:19 -07:00
Jared Boone a5c2143ca8 Signal M0 when stream FIFO has another "chunk". 2016-04-11 10:20:19 -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 0d8971cd7d Use size of provided buffer for stream write. 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