Jared Boone
74ecff13ad
GCC: Fixed __SIMD32 type punning warnings.
...
With help from https://github.com/ARM-software/CMSIS_5/issues/98
Using void* makes me really queasy though!
2017-08-08 10:24:49 -07:00
Jared Boone
5cb71d787e
Audio DMA: Fix cut-and-paste error
...
rx_empy_buffer() was returning the peripheral address, not the buffer address.
2017-05-26 16:21:28 -07:00
Jared Boone
6ef8b19bf1
Move some GPDMA configuration to application processor.
2017-05-24 15:42:44 -07:00
Jared Boone
dd0048db8d
Remove broken simd32_t type.
2017-05-03 09:58:07 +01:00
Jared Boone
052fd1c407
Extract loop into static method.
...
Performance boost as compiler is no longer updating member variable every pass through the loop.
2017-01-06 16:59:57 -08:00
Jared Boone
05eb694c0a
Introduce simd32_t type.
...
Discontinue use of disagreeable __SIMD #define.
2017-01-06 16:57:36 -08:00
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