Commit Graph

428 Commits

Author SHA1 Message Date
Silvano Seva 0df1dc4f7e Extended output stream API to support also circular double-buffered mode, implemented output stream driver for MDx 2022-05-27 21:48:47 +02:00
Silvano Seva 034f5d9ee9 Removed API for audio stream playback from MDx tone generator 2022-05-27 21:48:47 +02:00
Niccolò Izzo 2d8c696a09 Complete M17 demodulator implementation
Make quantization work also on DC offset signal
Add samples plot code
Fix bug in buffer wrap around
Fix oob memory access in M17 modulator
Update tests with DC offset signal
Switch to 48KHz sample rate for Module17 and MD380
Add DC biasing script

TG-81
2022-05-27 21:48:46 +02:00
Silvano Seva 10b8b59e21 Added to MDx tone generator API functions allowing user code to temporarily disable generation of 'beep' tones 2022-05-27 21:48:46 +02:00
Niccolò Izzo f9c23452bc Add plotting function to graphics library
Added plotting function to graphics library which is native C++, so
refactored the graphics source file to allow that, consequently adapted
the hwconfig header files to be included also in C++ sources.
Propagated compile flags also to C++ sources, including asan what was
previously disabled for C++ compilation units.

TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo ae26cca46f Remove SPS
Now M17_SAPLES_PER_SYMBOL is computed dinamically from sample rate.

TG-81
2022-05-27 21:48:46 +02:00
Silvano Seva 25087b0e02 Removed BUF_CIRC from the possible buffer management modes for an input audio stream 2022-05-27 21:48:46 +02:00
Niccolò Izzo d22948a096 Fix naming error
Replaced FM with OPMODE_FM and DMR with OPMODE_DMR.
2022-05-27 21:48:46 +02:00
Niccolò Izzo 3163dd49d7 Add M17 demodulator code and tests
Added implementation of the M17 4FSK demodulator, including clock
recovery, phase detection, and quantization algorithms.
A testsuite is also included to do regression testing against a
reference baseband pre-generated and the corresponding reference
bitstream.

A 1% BER is still present due to a fault likely in the RRC filtering,
since the eye diagram of the filtered stream is bad.

TG-81
2022-05-27 21:48:46 +02:00
Niccolò Izzo 6588a6718e Add M17 namespace in M17 related source files
Now M17 source files reside in the M17 namespace, the OPMODE_ prefix
was added to all opmode enums to avoid a name clash.
2022-05-27 21:48:46 +02:00
Silvano Seva a3b7b490d4 Fixed jitter in M17 baseband signal generation 2022-05-27 21:48:46 +02:00
Silvano Seva 5ffd6e5c43 Fixed compilation errors with MD-9600 and Module 17 targets 2022-03-24 19:09:00 +01:00
Silvano Seva 19c1b8eff9 Added full chip erase function to W25Qx driver 2022-03-22 11:19:22 +01:00
Silvano Seva c0a5d0a26e Quick and dirty bugfix to STM32F4 USB VCOM driver to allow data transfers of more than 300 bytes 2022-03-06 08:44:52 +01:00
Silvano Seva b97d1154d5 STDIO redirection to USB virtual COM port disabled by default, can be enabled by defining the ENABLE_STDIO macro 2022-03-05 10:40:41 +01:00
Silvano Seva 624dca2b97 Renamed macro DISABLE_KEEP_ON to RUNNING_TESTSUITE 2022-03-05 09:09:25 +01:00
Silvano Seva 91c9408f32 Removed backwards compatibility with old settings for MDx: in case of version mismatch default values are loaded 2022-02-26 15:47:18 +01:00
Silvano Seva a5209d6f52 Modified range for display backlight level from 0 - 255 to 0 - 100, set minimum allowed level to 5. 2022-02-26 15:45:41 +01:00
Silvano Seva 24464a66a8 Integration of tinyusb driver into OpenRTX, old driver still kept active 2022-02-26 12:29:28 +01:00
Silvano Seva 4bce2c9f23 Fixed bugs in MDx and Module17 input stream drivers causing errors in sample rate: one due to wrong configuration of TIM2 registers and one due to wrong configuration of ADC channel sample time. 2022-02-07 22:01:14 +01:00
Silvano Seva 3fb93f0a86 Updated CMSIS header files for STM32F4 to version 2.6.7 2022-01-15 14:55:59 +01:00
Alessio Caiazza ce5ff047ee Add NVM for settings and VFO on linux platform 2022-01-15 14:02:19 +01:00
Silvano Seva f54a0d18a7 Implemented mechanism to allow backwards-compatibility when loading settings from memory, as backlight timer introduced a new data field 2022-01-03 15:42:16 +01:00
Alessio Caiazza ade9c47f71 Implement platform_setBacklightLevel for linux 2022-01-03 14:51:22 +01:00
Silvano Seva 3776b30121 Automatically disabling the power keep switch when running testsuites, as those may never call platform_terminate() 2022-01-03 14:49:25 +01:00
Alessio Caiazza 7c978470c2 Add brightness support for the emulator 2021-12-23 14:52:25 +01:00
Silvano Seva 9dc0819b8b Linux emulator code cleanup and refactoring 2021-12-23 14:52:25 +01:00
Alessio Caiazza 18fb916834 Remove all tabs 2021-12-23 14:52:25 +01:00
Alessio Caiazza d4300c9c04 Fix Allman bracing 2021-12-23 14:52:25 +01:00
Alessio Caiazza 75f5a0a159 Free shared channel resources on power down 2021-12-23 14:52:25 +01:00
Alessio Caiazza e2baf5a833 Document functions with Doxygen format 2021-12-23 14:52:25 +01:00
Alessio Caiazza f85942785f Fix whitespaces 2021-12-23 14:52:25 +01:00
Alessio Caiazza 992d6be6eb Ensure we do not render before the framebuffer copy completes 2021-12-23 14:52:25 +01:00
Alessio Caiazza 82699f3d07 Implement an SDL main loop inside the Main Thread 2021-12-23 14:52:25 +01:00
Alessio Caiazza 51acccaec2 Don't pump SDL events outside from the main thread 2021-12-23 14:52:25 +01:00
Silvano Seva 4eb4e43cbe Activated GPIO pull-up resistors on MD3x0 PTT lines, as it seems that RT3 radios lack a physical pull-up resistor on those GPIOs. See #52 2021-12-23 14:52:25 +01:00
Niccolò Izzo 2fdbf0f236 Initial support for I2C soft pots on Module17
Initial support for I2C soft pots on Module17, ADC1 driver for input voltage
reading. Cherry-picked from Mathis DB9MAT repo.

TG-398
2021-12-23 14:52:25 +01:00
Silvano Seva d4ba8a5b9c Moved new display driver for Module_17 to 'SH110x_Mod17.c', restored and kept old one 2021-11-27 10:10:12 +01:00
Silvano Seva 6aece95e98 Fixed license header 2021-11-27 08:23:59 +01:00
Wojciech Kaczmarski 5d63c0fe63 display fix for 0.1c 2021-11-27 08:09:39 +01:00
Mathis Schmieder e9a6b0261e Fixed compilation for Module17 2021-11-27 08:09:39 +01:00
Mathis Schmieder 3d987a8ae8 Fixed reversed Enter and ESC keys for Module17 2021-11-27 08:09:39 +01:00
Mathis Schmieder 22a0d73fbc Initial fix for Module17 r0.1c display 2021-11-27 08:09:39 +01:00
Mathis Schmieder 55c0b0d868 Module17 platform changes for revision 0.1c 2021-11-27 08:09:39 +01:00
Mathis Schmieder 4811838cb8 Module17: implemented keyboard driver, updated display, output audio stream and platform drivers 2021-11-24 19:53:48 +01:00
Silvano Seva 83b0182057 Implementation of audio output stream driver for Module 17 2021-11-24 19:53:48 +01:00
Silvano Seva cc00cce982 Driver for input audio stream on Module17 2021-11-24 19:53:48 +01:00
Silvano Seva 38231e3a53 Driver stubs for keyboard and non volatile memory on Module17 2021-11-24 19:53:48 +01:00
Mathis Schmieder 7bfa2336d7 Driver for SSD1306 SPI display driver on Module17 2021-11-24 19:53:48 +01:00
Silvano Seva a0d9161e1d Very preliminary support for Module17, providing only the files and configurations essential for a minimal bootstrap of the OpenRTX firmware 2021-11-24 19:53:48 +01:00