Commit Graph

155 Commits

Author SHA1 Message Date
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
Silvano Seva 5ffd6e5c43 Fixed compilation errors with MD-9600 and Module 17 targets 2022-03-24 19:09:00 +01:00
Silvano Seva 624dca2b97 Renamed macro DISABLE_KEEP_ON to RUNNING_TESTSUITE 2022-03-05 09:09:25 +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
Alessio Caiazza ce5ff047ee Add NVM for settings and VFO on linux platform 2022-01-15 14:02:19 +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 e2baf5a833 Document functions with Doxygen format 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 6aece95e98 Fixed license header 2021-11-27 08:23:59 +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
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
Silvano Seva 036f74c69e Removed call to rtc_terminate inside MDx platform_terminate, as this freezed RTC on radio power off 2021-11-12 22:46:11 +01:00
Silvano Seva 691b388228 Implemented load/save of settings and VFO configuration for MDx devices 2021-11-09 19:28:23 +01:00
tarxvf 588265fa3d astyle applied to try and match current OpenRTX style - just doesn't work on the header block 2021-11-03 19:20:42 +01:00
tarxvf f451ff8aae unused args cast to void instead of __attribute__ 2021-11-03 19:20:42 +01:00
tarxvf 3ded05a6dc update the linux emulator scriptability for the knob values 2021-11-03 19:20:42 +01:00
tarxvf 45228e226e just the emulator shell broken out 2021-11-03 19:20:42 +01:00
Silvano Seva 5113a39f2a Enabled M17 support also in MD-UV3x0 radio driver 2021-09-21 12:02:32 +02:00
Silvano Seva 92ea1535ff Moved definition of 'PLATFORM_LINUX' macro from hwconfig to meson.build, added '-std=c++14' compilation flag to compile arguments for linux platform, added missing includes to M17Utils.h 2021-09-03 16:44:57 +02:00
Silvano Seva 9650ff5925 Removed macro disabling by default the USB virtual COM port, which is now permanently enabled. 2021-08-26 10:22:55 +02:00
Silvano Seva a7acc3301b Modified 'platform_getVbat' API: now it returns an uint16_t value containing the battery voltage in millivolt 2021-08-14 12:47:21 +02:00
Silvano Seva 8e0a5d1c0f Made 'platform_getVolumeLevel' and 'platform_getMicLevel' API functions return a normalised 8 bit value ranging from 0 to 255 (TG-293 #closed) 2021-08-14 10:18:55 +02:00
Federico Amedeo Izzo c69c2be478 Fixed external microphone sticky PTT button on MD-UV380 2021-08-14 10:02:34 +02:00
Federico Amedeo Izzo 07e1f28f79 Fix sticky PTT button on MD-UV380 by removing double initialization of PTT_SW gpio. 2021-08-11 20:53:54 +02:00
Silvano Seva b80ddc1145 Implemented reading of PTT status from external microphone on MD-3x0 and MD-UV3x0 2021-07-10 21:52:15 +02:00
Federico Amedeo Izzo a8b838bd47 On Linux target emulate PTT button with P key 2021-07-08 20:24:27 +02:00
Federico Amedeo Izzo 1f74c0abb7 Add `VCOM_ENABLED` define to disable VCOM that is currently broken 2021-06-06 10:13:51 +02:00
Silvano Seva 96abae4bad Temporary workaround to fix compilation error with MD-9600 due to not yet defined GPIOs for audio control, still to be identified. 2021-06-05 21:43:10 +02:00
Federico Amedeo Izzo c653535e68 Remove old band and limits defines, now replaced by hwInfo_t 2021-06-05 11:27:20 +02:00
Federico Amedeo Izzo f5c9d97e49 Check frequency limits against hwInfo_t, not hardcoded defines 2021-06-05 10:47:52 +02:00
Silvano Seva c0ecf2e13f Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61 2021-04-12 19:10:13 +02:00
Silvano Seva 7209414a2b Fixed error in ADC conversion sequence in MD-3x0 platforms, improved behaviour of 'platform_pwrButtonStatus' in targets having the power switch on the volume knob. 2021-04-11 18:19:08 +02:00
Silvano Seva 1e7c2ceac3 Fixed missing ';' in GD-77 and DM-1801 implementations of 'platform_pwrButtonStatus' 2021-04-11 12:47:22 +02:00
Silvano Seva 1dfcf1b75f Added missing implementation of 'platform_pwrButtonStatus' in linux platform.c 2021-04-11 12:43:17 +02:00
Silvano Seva 4b30a66735 Added 'platform_pwrButtonStatus' API function, which returns the current status of the power button/knob. Implemented power on/off mechanism on MD-9600 2021-04-11 12:38:20 +02:00
Federico Amedeo Izzo 93d2ede113 Add default contrast setting define 2021-04-11 09:10:08 +02:00
Silvano Seva 944a597d33 Created low-level driver for management of channel selector knobs with quadrature encoder 2021-04-10 19:29:35 +02:00
Silvano Seva 56c598da7e Created low-level driver for backlight level management 2021-04-10 14:12:15 +02:00
Silvano Seva db6b427513 Support for palmtop mic keys in MD9600 keyboard driver 2021-04-10 12:16:21 +02:00