furrtek
15f66eb74e
Soundboard bugfix: shouldn't crash with long file names
2017-02-01 23:31:16 +00:00
furrtek
394331ebd2
POCSAG RX now runs at 3.072MHz, like NFM audio
2017-02-01 11:40:01 +00:00
furrtek
8662ed4024
Close Call should be more accurate
...
Merged close call and wideband spectrum baseband processors
2017-02-01 08:53:26 +00:00
furrtek
064e097bc3
Symfield widget auto-inits
...
ADS-B emergency frame
2017-02-01 00:21:13 +00:00
furrtek
688a012443
Transmitter config widget
...
Frequency manager duplicate alert
Tone sets
2017-01-30 13:10:30 +00:00
furrtek
0642d633c3
Frequency manager empty file bugfix
2017-01-30 01:09:00 +00:00
furrtek
c8e71bcdee
Cleaned up jammer UI
2017-01-29 08:29:16 +00:00
furrtek
693a2533b5
Reverted to original CPLD data
2017-01-29 06:50:48 +00:00
furrtek
f0fbc356ad
Jammer bugfix: now produces all the right channels
2017-01-17 14:27:37 +00:00
furrtek
7cb38f858e
Udpdated jammer baseband code, should work again
2017-01-17 08:42:35 +00:00
furrtek
b10c88e271
POCSAG bitrate selection and logging toggle
...
Small checkboxes
2017-01-16 13:36:28 +00:00
furrtek
e4abcea9a3
Added bitrate option for POCSAG baseband, PWMRSSI frequency option
...
Split SD card wiper app
Cleanup for -Weffc++
2017-01-16 08:40:17 +00:00
furrtek
5e40669cbc
Merge 'upstream/master' - At least it builds...
2017-01-16 03:45:44 +00:00
furrtek
12aeae3a82
Commit replay stuff before sync
2017-01-10 19:45:40 +00: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
furrtek
a67feb01fd
Fixed Nuoptix TX, merged DTMF TX with tones TX
2016-12-26 17:51:30 +01:00
furrtek
1e34a48be9
Fixed proc_tones skipping last tone
...
Split ui_bht to bht
2016-12-26 16:15:54 +01:00
furrtek
9470028308
Fixed messup after last squashed commits
2016-12-24 16:54:44 +01:00
furrtek
6bcb7dc1b1
# This is a combination of 2 commits.
...
# The first commit's message is:
Updated RDS transmitter: flags, PI and date/time
Merging baseband audio tone generators
Merging DTMF baseband with "tones" baseband
Added stealth transmit mode
App flash section bumped to 512k
RX and TX LEDs are now used
Play dead should work again, added login option
Morse frame gen. for letters and fox hunt codes
Merged EPAR with Xylos
Made EPAR use encoders for frame gen.
Moved OOK encoders data in encoders.hpp
Simplified about screen, ui_about_demo.* files are still there
BHT city DB, keywords removed
BHT cities DB, keywords removed
Update README.md
RDS radiotext and time group generators
# This is the 2nd commit message:
Update README.md
2016-12-24 11:52:11 +01:00
furrtek
28ea2179f4
Re-enabled closecall even if it's still not working well
...
RDS PSN works again but update issue (UI ?)
Moved CTCSS stuff to dedicated file
2016-12-23 18:31:02 +01:00
furrtek
d18b6d135d
Restoring jammer and RDS functionalities, please wait...
...
Started work on frequency manager and numbers station simulator
2016-12-23 18:31:01 +01:00
furrtek
ef0feae62b
Started work on ADS-B TX baseband processor
2016-12-23 18:31:01 +01:00
furrtek
bb6eefe2be
Started ADS-B TX UI and frame encoding
2016-11-30 07:41:55 +01: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
furrtek
8276e5e311
Added CTCSS in Soundboard
2016-09-23 23:08:54 +02:00
furrtek
55ba0b5e06
Cleanup, random mode in DTMF TX
2016-09-23 20:17:29 +02:00
furrtek
bb29efeda6
Added Nuoptix DTMF sync transmit (Disney parades, light shows...)
...
Soundboard ignores stereo files
2016-09-23 17:34:50 +02:00
furrtek
d049553750
Removed terminator.img from ignore
2016-09-23 12:26:50 +02:00
furrtek
8c0ff7f9c0
Soundboard uses common lfsr rand()
2016-09-23 12:20:36 +02:00
Jared Boone
f0c4b0fc98
AIS: Doesn't use RRC filter -- use rect instead.
2016-08-29 20:47:37 -07:00
furrtek
808f99647e
Soundboard: Arbitrary samplerate support for wave files
...
Screenshots
2016-08-26 09:54:17 +02:00
furrtek
f7e0f36bd9
Added Soundboard
...
file.cpp: scan_root_files
proc_audiotx.cpp: bandwidth setting
ui_widget.cpp: button on_focus
2016-08-26 08:11:24 +02:00
furrtek
5de6349199
Bitrate and flags for POCSAG packets, trim bugfix
2016-08-25 16:20:19 +02:00
furrtek
04cdafe387
Bugfix: POCSAG alphanum messages not showing
...
Bugfix: Range limit for afsk config
2016-08-24 14:44:57 +02:00
furrtek
02f0271553
Added basic POCSAG receiver
...
Added Yes/no modal screen (for future tx warnings)
2016-08-23 08:45:33 +02: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
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
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
furrtek
787f656500
Testing OOK TX baseband module
2016-08-03 08:53:50 +02:00
furrtek
e2218a0f32
More AFSK options, scan lists,
2016-08-02 12:44:31 +02:00
furrtek
c58039e557
Fixed LCR scan and alt format, console widget, text input autotrim
2016-07-29 04:52:51 +02:00
furrtek
1d697d2201
Added PWM RSSI output for NBFM and WFM
2016-07-28 05:25:33 +02: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
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
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
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
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
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
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
furrtek
6a0816ba56
Added carrier wake up in Xylos TX and cute icons
2016-05-27 06:48:04 +02: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
furrtek
7a90eab407
3MHz-wide fast close call works :) >3MHz doesn't work anymore :(
2016-05-17 20:27:51 +02: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
furrtek
9149508c83
Improved close call precision
2016-05-13 01:18:04 +02:00
furrtek
fb21c1332e
Started close call dev
2016-05-11 12:45:03 +02: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
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
Jared Boone
1789868b8a
Track bytes from baseband and dropped when entering capture FIFO.
2016-04-27 10:40:50 -07:00
Jared Boone
d63136c52e
Remove unused StreamInput::written().
2016-04-27 10:32:29 -07:00
Jared Boone
d2cf129fd5
Retain CaptureConfig pointer in StreamInput.
2016-04-27 10:32:06 -07:00
Jared Boone
3e08318012
Pass CaptureConfig to StreamInput as pointer.
2016-04-27 10:31:37 -07:00
Jared Boone
91ee2dbb67
Move FIFO and write size to CaptureConfig structure.
...
Now configured from baseband, where write size and appropriate FIFO size is known.
2016-04-26 22:26:30 -07:00
Jared Boone
d5e21ce972
Use CaptureConfig to share state between cores.
...
Remove awful FIFO_HACK.
TODO: Lots of repeated code...
TODO: Capture thread is signalled too frequently.
2016-04-23 15:07:44 -07:00
Jared Boone
67eb62ec12
Provide AudioOutput::set_stream().
...
Assign when wanting to capture audio stream.
2016-04-23 14:55:59 -07:00
furrtek
2fcfdba9ea
"At least it builds !"
2016-04-21 22:12:51 +02:00
Jared Boone
051a63a222
Fix and clean up calculation of filter passband in capture mode.
2016-04-21 11:55:03 -07:00
Jared Boone
28ca45326d
Fix capture mode baseband_fs value.
2016-04-21 11:54:39 -07:00
furrtek
1b0da68d65
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
firmware/application/Makefile
firmware/application/core_control.cpp
firmware/application/touch.cpp
firmware/application/ui_debug.cpp
firmware/application/ui_debug.hpp
firmware/application/ui_navigation.cpp
firmware/baseband/baseband_thread.cpp
2016-04-21 20:36:19 +02:00
Jared Boone
ec75c00da2
Add capture mode waterfall.
2016-04-13 11:09:18 -07:00
Jared Boone
60a0d5c469
Capture mode channel stats
2016-04-12 10:51:20 -07:00
Jared Boone
e85503cd81
Nascent support for OOK TPMS transponders.
...
Apparently, Subaru and GMC. No CRC or other validation, no attempt to interpret packet contents yet.
2016-04-11 11:53:17 -07:00
Jared Boone
dc16aa478f
OOK slicer, clock recovery classes.
2016-04-11 11:50:03 -07:00
Jared Boone
5558ca60d7
Enlarge capture buffers -- inter-core FIFO, SDC
2016-04-11 11:00:47 -07:00
Jared Boone
743dc9f542
Rough implementation of capture mode
2016-04-11 10:59:55 -07:00
Jared Boone
9eefd56410
StreamInput: notify other core every fourth of FIFO written.
2016-04-11 10:20:19 -07:00
Jared Boone
a5c2143ca8
Signal M0 when stream FIFO has another "chunk".
2016-04-11 10:20:19 -07:00
Jared Boone
0d8971cd7d
Use size of provided buffer for stream write.
2016-04-11 10:20:19 -07:00
Jared Boone
56e448d355
Track StreamInput bytes written
2016-04-11 10:20:19 -07:00
Jared Boone
f94938db8e
De-template FIFO.
2016-04-11 10:20:19 -07:00
Jared Boone
59f1a32566
Semi-naive audio recording to SD card.
2016-04-11 10:20:19 -07:00
Jared Boone
c01f2d82e1
Move TPMS taps to dsp_fir_taps.hpp.
...
Will soon use in proc_record.cpp.
2016-04-11 10:18:31 -07:00
Jared Boone
4ac2c540c9
Disable SDC "nice waiting" for performance.
...
Quick test indicates 4.5% better average write performance. No change in reads.
2016-04-10 17:24:28 -07:00
Jared Boone
b35a8c4501
Add TPMS signal_type.
2016-04-06 17:04:40 -07:00
Jared Boone
bf348cf30a
Move message handling loops to MessageQueue.
2016-02-27 21:07:11 -08:00
Jared Boone
6101ca36cd
Use unique_ptr for baseband_buffer.
2016-02-23 20:21:32 -08:00
Jared Boone
3493b7d1b7
Hide BasebandThread::baseband_processor.
2016-02-23 19:56:55 -08:00
Jared Boone
a1b9f4aa1b
Simplify, generalize, share int16_t taps copy function.
...
Also prevents compiler loop unrolling in non-critical code, for code size improvement.
2016-02-23 15:04:20 -08:00
Jared Boone
9c11fdf80c
Explicit std::function nullptr checks.
...
Eliminates std::function check which tries to "_ZSt25__throw_bad_function_callv", along with 816 bytes of extra code, including some locale/wlocale/moneypunct nonsense.
2016-02-23 13:30:41 -08:00
Jared Boone
0c29308eb9
Fix FM squelch.
...
Forgot to recalibrate when adjusting normalization of float/audio signal path.
2016-02-16 11:32:38 -08:00
Jared Boone
ef86848139
Change baseband floats to normalize at +/-1.0.
2016-02-14 12:38:50 -08:00
Jared Boone
a5ed3b20b4
Audio compressor makeup gain value was inverted. Oops.
2016-02-14 12:17:04 -08:00
Jared Boone
1cdeb1ca4e
Use audio compressor in AM/SSB receiver mode.
2016-02-13 11:19:32 -08:00
Jared Boone
9f4c8929ac
Audio compressor implementation.
2016-02-13 11:19:07 -08:00
Jared Boone
b0e76191d7
Simplify some silly math.
2016-02-10 11:23:41 -08:00