Commit Graph

388 Commits

Author SHA1 Message Date
Jared Boone
e763592adb Compile firmware as C++14. 2017-01-05 17:15:00 -08:00
Jared Boone
87383d735c C++14: Decommission my own make_unique. 2017-01-05 17:14:07 -08:00
Jared Boone
a22dc150bc C++14: make some wrapper classes static.
Also address GCC 6.2 not allowing constexpr from reinterpret_cast<> values.
2017-01-05 17:10:00 -08:00
Jared Boone
4c8550bb7d Fix narrowing conversion warnings. 2016-11-28 12:09:02 -08:00
Jared Boone
606c1cebac Work around apparent alignment bug in G++ 5.4.1?
Padding struct to be sizeof() % 4 == 0, because it was crashing the baseband... I think.
2016-11-26 16:58:42 -08:00
Jared Boone
ed0d5331ad Fix member initialization order. 2016-11-26 16:53:35 -08:00
Jared Boone
46b3d9d087 Disallow copy constructors/assignments.
For classes containing pointers/state that should not be copied.
2016-11-26 16:52:57 -08:00
Jared Boone
4eb0facacb Add lots of value constructors. 2016-11-26 16:50:44 -08:00
Jared Boone
229616491c Enable Effective C++ and uninitialized members warnings. 2016-11-26 16:28:11 -08:00
Jared Boone
94528ea572 Allow overriding baseband mcuconf.h M4 clock config. 2016-11-05 10:40:05 -07:00
Jared Boone
a33476259e Create buffer.cpp, reduce #include dependencies and impl leakage. 2016-10-24 11:16:48 -07:00
Jared Boone
b69a3abcb5 Spectrum: Templatize various window functions. 2016-10-03 12:31:40 -07:00
Jared Boone
f756ac4eac CMake: Produce linker .map files for application, basebands. 2016-10-03 11:34:59 -07:00
Jared Boone
f0c4b0fc98 AIS: Doesn't use RRC filter -- use rect instead. 2016-08-29 20:47:37 -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
8d330784b2 CFlags: Add "-g" compiler option for debug symbols. 2016-07-27 11:46:09 -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
508ce89271 ERT: Add RSSI reporter to processor. 2016-07-25 16:12:13 -07:00
Jared Boone
512539fd8c AIS: Add RSSI reporting to processor. 2016-07-25 15:45:27 -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
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
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
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
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
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
01833ccb83 Write all baseband binaries into tagged image file. 2016-06-30 16:45:41 -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
1010e6a234 Remove unused DMA Handler types. 2016-06-22 11:22:28 -07:00
Jared Boone
b34512e3d6 Eliminate a buffer_t copy/duplication. 2016-06-21 15:23:51 -07:00