Commit Graph

1183 Commits

Author SHA1 Message Date
Jared Boone
9a01d59822 MenuView: Change add_items arg to initializer_list.
Another code size improvement, and makes maintaining lists of menu items less stupid (you don't need to change the template arg when the item count changes).
2016-09-05 15:20:50 -07:00
Jared Boone
09222f0044 Widget/View: Consolidate dirty code inside Widget. 2016-09-05 15:04:28 -07:00
Jared Boone
8a69b0523e View::add_children: Use std::list_initializer as argument.
Improvement in code size -- 944 bytes.

Some day I will understand C++11 well enough to do the right thing the first time.
2016-09-05 14:53:04 -07:00
Jared Boone
298324d6e4 RecentEntries: Extract Columns model. 2016-09-05 12:34:41 -07:00
Jared Boone
61f0d97c39 RecentEntriesView: Extract header and table widget, package in to top-level View. 2016-09-05 12:09:29 -07:00
Jared Boone
50e2dfa0b9 RecentEntries: Make templated type of std::list. 2016-09-03 22:53:44 -07:00
Jared Boone
bd785d8bf4 RecentEntries: Extract more algorithms. 2016-09-03 18:26:48 -07:00
Jared Boone
c8f7863c83 RecentEntries: Expose container as base class.
Trying to refactor until there's nothing but the base class left.
2016-09-03 18:12:07 -07:00
Jared Boone
b596d0697c RecentEntries: Extract range_around(). 2016-09-03 17:10:08 -07:00
Jared Boone
42d98c3b45 RecentEntries: Remove Packet template arg. 2016-09-03 16:38:44 -07:00
Jared Boone
4d781df76c RecentEntries: Don't reference Entry template arg directly. 2016-09-03 12:58:11 -07:00
Jared Boone
c6f7d7f844 RecentEntriesView: Extract duplicate focus+selection style code. 2016-09-02 22:44:40 -07:00
Jared Boone
1e0d452f57 RecentEntriesView: Generalize draw_header() implementations. 2016-09-02 22:38:05 -07:00
Jared Boone
2396d2d97a CMake: Remove DFU --reset, which fails build if reset fails.
dfu-util will often complain of reset not succeeding (which is apparently fine), then halting the programming phase (which is not fine).
2016-08-31 11:23:42 -07:00
Jared Boone
5d2ad9c1aa SGPIO: Use pin constants when changing output enables. 2016-08-30 21:33:44 -07:00
Jared Boone
00c7cdf027 CPLD: Always clock SGPIO data on external clock rising edge. 2016-08-30 21:30:03 -07:00
Jared Boone
337d5ebaea Add PortaPack-customized HackRF CPLD bitstream. 2016-08-30 21:29:23 -07:00
Jared Boone
42a07bb10c Remove repeated code in RF path Config. 2016-08-30 21:26:55 -07:00
Jared Boone
f0c4b0fc98 AIS: Doesn't use RRC filter -- use rect instead. 2016-08-29 20:47:37 -07:00
Jared Boone
e2fe4b65d9 CPLD: Set DECIM1 as input to CPLD.
How did DECIM work before?! Now, decimate is no longer a feature, so this doesn't really matter. But tidying it up anyway.
2016-08-23 10:30:05 -07:00
Jared Boone
11a5aa9766 FatFs: Apply patch ff12a_p6.diff. 2016-08-21 23:03:08 -07:00
Jared Boone
60cc9b7faa FatFs: Apply patch ff12a_p5.diff.
Fixed one chunk of this patch in an earlier commit.
2016-08-21 23:02:00 -07:00
Jared Boone
81517b3f4d SD debug: Enlarge stack for long filenames, etc. 2016-08-21 22:16:08 -07:00
Jared Boone
ed791ac5bd File: Widen size/offset types for 64-bit filesystems. 2016-08-21 22:15:19 -07:00
Jared Boone
f7bfde73b6 FatFs: Enable long file name support.
Lots of re-plumbing to make this work, including a bunch of Unicode stuff now in the binary. Bloat City, I'm sure.

TODO: FatFs using unsigned (uint16_t) for UTF16 representation is kinda inconvenient. Lots of reinterpret_cast<>().
2016-08-21 18:06:39 -07:00
Jared Boone
43a11ba048 Rename time files/namespace to not conflict with existing defs. 2016-08-21 17:49:06 -07:00
Jared Boone
f20647feb4 MAX2837: Expose trim/bias/calibration adjustments. 2016-08-21 11:42:05 -07:00
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
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
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
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
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
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
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
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
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
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