Commit Graph

1369 Commits

Author SHA1 Message Date
Jared Boone
77016b9a40 Rename CPLD "Q_INVERT" to signal to "INVERT".
Don't expose detail in name about how the task is accomplished.
2016-08-21 11:35:40 -07:00
Jared Boone
b0a3f680e5 CPLD: Remove decimation feature. 2016-08-21 11:31:37 -07:00
furrtek
c2fbc0c8d5 AudioTX, fixed about screen and an LCR address list bug 2016-08-17 04:17:24 +02:00
furrtek
45a754645e Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	firmware/application/bitmap.hpp
#	firmware/application/receiver_model.cpp
#	firmware/application/receiver_model.hpp
#	firmware/application/touch.hpp
#	firmware/application/ui_setup.cpp
#	firmware/baseband/proc_ais.hpp
#	firmware/baseband/proc_ert.hpp
#	firmware/bootstrap/CMakeLists.txt
#	firmware/common/portapack_persistent_memory.cpp
#	firmware/common/portapack_persistent_memory.hpp
2016-08-17 02:55:34 +02:00
Jared Boone
52c089c4df SGPIO: Hi-Z data bus before setting direction pin.
Another tactic to avoid bus contention, however brief.
2016-08-13 16:46:02 -07:00
Jared Boone
62d2ae2336 SGPIO: Change bus direction more deliberately.
There may have been an instant where the CPLD and SGPIO were driving the bus simultaneously, when switching from TX to RX.
2016-08-13 16:42:39 -07:00
Jared Boone
2ec1bab5d5 Plumb BasebandThread to accept direction argument.
Default is to receive, for compatibility with existing users.
2016-08-10 10:36:03 -07:00
Jared Boone
96da55d83a wait_for_buffer() now handles TX buffers.
Feels a bit awkward to read LLI src/dest to determine if RX or TX. But it works.
2016-08-10 10:34:14 -07:00
Jared Boone
c8af6dcd70 Add SMULL instruction inline function. 2016-08-10 09:53:35 -07:00
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
69173f5292 FatFs: My patch to fix wrong argument type warning. 2016-07-28 23:21:13 -07:00
Jared Boone
e9d97dfd0f FatFs: Update application ffconf.h from template. 2016-07-28 23:15:10 -07:00
Jared Boone
e5810ab7c7 FatFs: Remove (deprecated?) _USE_WRITE, _USE_IOCTL guards. 2016-07-28 23:14:43 -07:00
Jared Boone
4f6254cc93 FatFs: Apply patch ff12a_p4.diff. 2016-07-28 23:14:08 -07:00
Jared Boone
aa8c8b2937 FatFs: Apply patch ff12a_p3.diff. 2016-07-28 23:13:07 -07:00
Jared Boone
897110f715 FatFs: Apply patch ff12a_p2.diff. 2016-07-28 23:12:04 -07:00
Jared Boone
3a51933882 FatFs: Apply patch ff12a_p1.diff. 2016-07-28 23:11:23 -07:00
Jared Boone
d5234633ba FatFs: Update to R0.12a. 2016-07-28 23:06:21 -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
82f6e7c306 Change default frequency when NVRAM is initialized. 2016-07-27 14:17:57 -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
20bcbf511e Move thread_base.hpp from baseband/ to common/.
I want to use it with M0 code as well.
2016-07-26 10:22:10 -07:00
Jared Boone
729ab9bb8e TPMS: Increase channel sampling rate, improve hit rate. 2016-07-25 16:13:14 -07:00
Jared Boone
3759e142d8 ERT: Add RSSI to app UI. 2016-07-25 16:12:32 -07:00
Jared Boone
508ce89271 ERT: Add RSSI reporter to processor. 2016-07-25 16:12:13 -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
512539fd8c AIS: Add RSSI reporting to processor. 2016-07-25 15:45:27 -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
fe1a6c09bb Clean up baseband processors to each have a main(). 2016-07-24 21:42:11 -07:00
Jared Boone
c8ffea0098 baseband: Move all init code into baseband.cpp. 2016-07-24 21:34:38 -07:00
Jared Boone
ea143bd3fc Move baseband init/shutdown code to before/after main(), not inside. 2016-07-24 21:26:00 -07: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
3c46abdb24 Remove redundant #include. 2016-07-19 14:25:56 -07:00
Jared Boone
ff9c911a93 Optional code to disable baseband DMA synchronization. 2016-07-19 11:02:30 -07:00
Jared Boone
2993f7be1d SDIO: Commit optional code to run at 50MHz. 2016-07-19 11:00:31 -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
4b7fa9f411 CPLD: Add XC2C64A method to init from EEPROM contents. 2016-07-18 11:31:21 -07:00
Jared Boone
c0b9761fe5 Move CPLD management into PortaPack::init(). 2016-07-18 11:30:45 -07:00
Jared Boone
5390c45e04 Fix Python 2 vs 3 breakage relating to hex().
In Python 2, hex() of large ints has a "L" on the end.
2016-07-17 16:16:13 -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
cd3a91b3af JTAG: HackRF CPLD SVF file for embedding in firmware. 2016-07-17 15:48:02 -07:00
Jared Boone
51c114405b JTAG: Tool that generates C++ files from XC2C64A SVF data. 2016-07-17 15:46:12 -07:00
Jared Boone
4cc356f325 JTAG: Code to manage HackRF CPLD interactions. 2016-07-17 15:45:00 -07:00
Jared Boone
71c7f543c5 JTAG: Add TAP state management.
Not all that happy with the implementation, but it's doing the job for now.
2016-07-17 15:44:30 -07:00
Jared Boone
c0f4fbe32d JTAG: Add GPIO definitions for HackRF CPLD. 2016-07-16 14:06:58 -07:00
Jared Boone
22143c9543 JTAG: Remove unused methods. 2016-07-13 11:02:13 -07:00
Jared Boone
18fe30136e JTAG: Move Target interface to separate header. 2016-07-11 09:39:02 -07:00
Jared Boone
6917ffe1e3 JTAG: Clean up definition of Target interface. 2016-07-11 09:16:47 -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
7bcde54050 Tool for generating CPLD bitstreams in C++ arrays, from SVF file. 2016-07-05 12:33:15 -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
3ed1d9e24a CPLD: Method to calculate bitstream CRC32. 2016-07-05 12:06:51 -07:00
Jared Boone
df825807d6 CRC: Rearrange public methods to reduce user error.
If you can access process_bits() without considering RevIn value, you will likely not get the CRC value you're expecting! Put RevIn check where it belongs, in process_bits().
2016-07-05 11:57:57 -07:00
Jared Boone
42190b9587 CMake: Fix ldscript dependencies. 2016-07-03 18:48:39 -07:00
Jared Boone
0899c48735 Remove linker map generation, other unnecessary(?) flags. 2016-07-03 18:33:36 -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
53434f3789 Fix Python2 string type error. 2016-07-02 18:15:39 -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
b2d5e47308 Clear baseband message at end of shutdown().
Allow baseband to shut down completely before shutdown message is acknowledged.
2016-07-02 16:02:50 -07:00
Jared Boone
dbd0c17c2f Clear baseband message for non-shutdown messages. 2016-07-02 16:02:03 -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
0e62876578 Add types for tagged data chunks in SPI flash. 2016-07-01 10:32:52 -07:00
Jared Boone
f683980052 Generate and append terminator chunk to basebands image. 2016-06-30 19:37:32 -07:00
Jared Boone
c3d81f1496 Add HackRF factory firmware to basebands image. 2016-06-30 19:37:05 -07:00
Jared Boone
61f954dbeb Tweak make_image_chunk to produce empty chunk when argc == 2. 2016-06-30 19:36:23 -07:00
Jared Boone
184eb9eb0d Utility to strip HackRF firmware DFU header. 2016-06-30 19:35:51 -07:00
Jared Boone
01833ccb83 Write all baseband binaries into tagged image file. 2016-06-30 16:45:41 -07:00
Jared Boone
f4c897946b Add top-level CMake file. 2016-06-30 15:59:36 -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
500a651bcf Give Processors a run() function.
So main() can call it, start a Processor linked in to the baseband binary.
2016-06-30 11:53:58 -07:00
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
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
Jared Boone
05b55f2696 TPMS: Extract packet readers. 2016-05-27 13:41:56 -07: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
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
furrtek
7a90eab407 3MHz-wide fast close call works :) >3MHz doesn't work anymore :( 2016-05-17 20:27:51 +02: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
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
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
furrtek
a42f5beb9b Handwriting recognition 2016-05-10 07:20:24 +02: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
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
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
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