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