Commit Graph

329 Commits

Author SHA1 Message Date
Silvano Seva 66552be403 Added function to radio API allowing to fine tune the radio's VCXO polarisation voltage. Currently, this functionality is effective only on MD-3x0 devices. (TG-195 #ready-for-test) 2021-06-03 14:50:47 +02:00
Silvano Seva b29b24fdc0 Implemented RX tone squelch on MD-UV3x0 and GDx (TG-43) 2021-06-02 12:44:46 +02:00
Silvano Seva fdba408831 Improved registers documentation in HR_C5000 and HR_C6000 drivers 2021-05-29 08:20:12 +02:00
Silvano Seva 4d68f02ab4 Updated documetation for radio.h API, removed old baseband C source files. 2021-05-29 08:20:12 +02:00
Silvano Seva bbdfdd1068 Added support for MD-380 VHF devices. (TG-188) 2021-05-29 08:20:12 +02:00
Silvano Seva 2d517d5bf8 New radio driver for GDx. Renamed some entries in GDx calibration data structure 2021-05-29 08:20:12 +02:00
Silvano Seva 87d9b733e6 Fixed wrong bitmask in AT1846S::setRxAudioGain. Moved getBandFromFrequency function to a dedicated file, in common for all dual-band radio drivers. 2021-05-29 08:20:12 +02:00
Silvano Seva e7b48b14a5 Updated radio driver stub for linux platform 2021-05-29 08:20:12 +02:00
Silvano Seva 4a080d881a Finalised MD-UV3x0 radio driver, now supporting also cross-band operation (TG-186) 2021-05-29 08:20:12 +02:00
Silvano Seva f1a01d7613 New radio driver for MD-UV3x0, testing required 2021-05-29 08:20:12 +02:00
Silvano Seva f0dfd7036f Fixed bug in OpMode_FM.cpp which prevented entering in RX mode, removed code for setting input gain in HR_C5000 driver, modified meson.build to make it compile the new sources 2021-05-29 08:20:12 +02:00
Silvano Seva 850e3580ed New radio driver for MD-3x0 platform, still requiring a bit of debugging 2021-05-29 08:20:12 +02:00
Silvano Seva 529b108771 Added to HR_Cx000 driver a function for setting the gain of the audio input stage. 2021-05-29 08:20:12 +02:00
Silvano Seva 887d95ec58 Created 'wrappers' subfolder in platform/drivers/baseband containing the C wrappers for the AT1846S, HR_C5000 and HR_C6000 drivers 2021-05-29 08:20:12 +02:00
Silvano Seva 11161fa64a Moved to C++ and refactored HR_C5000/HR_C6000 drivers, grouping common code. A C-callable wrapper is also provided. TG-37 2021-05-29 08:20:07 +02:00
Silvano Seva d95e36f43b Moved to C++ and refactored AT1846S driver, grouping common code. A C-callable wrapper is also provided. TG-37 2021-05-29 08:19:47 +02:00
Silvano Seva a6c638b063 Updated code attributions and informations about licensing of part of the codebase 2021-04-21 10:07:34 +02:00
Silvano Seva 63e68b642a Audio management module for x86/64 target, only providing empty stubs since there is no hardware to control 2021-04-12 19:16:47 +02:00
Silvano Seva c070060b0a Fix error in ADC conversion sequence when compiling for MD-3x0 2021-04-12 19:10:45 +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
Federico Amedeo Izzo a17e50edef Add NVM codeplug support for MD9600 2021-04-10 22:37:32 +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 cdaf3f38dd Renamed MDx display, keyboard and spiFlash drivers to MD3x to adapt the changes made to meson.build also to MD-9600. Fixed missing API change in ui_main. 2021-04-10 12:37:45 +02:00
Silvano Seva c77aebebad Mapped 'C' and 'D' palmtop keys to, respectively, 'ENTER' and 'ESC' functions in MD9600 keyboard driver 2021-04-10 12:16:21 +02:00
Silvano Seva db6b427513 Support for palmtop mic keys in MD9600 keyboard driver 2021-04-10 12:16:21 +02:00
Silvano Seva 795d8d4451 Implemented input voltage measurement on MD-9600 2021-04-10 12:16:21 +02:00
Silvano Seva f9570f3636 Temporary hand-filled hwInfo for MD-9600 2021-04-10 12:16:20 +02:00
Silvano Seva a15159e7ce Driver for ST7567 display controller 2021-04-10 12:15:29 +02:00
Silvano Seva 94d3a8f52b Stub drivers for NVM and radio management on MD-9600 2021-04-10 12:15:29 +02:00
Silvano Seva e46c77a300 Enabled ADC and NVM manager on MD-9600 2021-04-10 12:15:29 +02:00
Silvano Seva 10e9ac9057 Driver for STM32F4 SPI2, with locking mechanism for concurrent access 2021-04-10 12:15:29 +02:00
Silvano Seva e157fc361d Restructured ADC1_MDx code and extended its support also to MD-9600 2021-04-10 12:15:28 +02:00
Silvano Seva 6b541a8ba1 Platform interface and initial keyboard driver for MD-9600 2021-04-10 12:13:34 +02:00
Silvano Seva 0772f1924b Renamed GDx display and keyboard driver from 'xxx_GD77' to 'xxx_GDx' for consistency with naming scheme 2021-04-10 12:00:36 +02:00
Silvano Seva 311a89ac0f Refactoring of MDx tone generator, adding support for AFSK encoding (not yet implemented) and reproduction of arbitrary audio streams. 2021-04-10 11:24:33 +02:00
Silvano Seva 0ca7258f03 MD3x0 bugfixes: fixed wrong ADC conversion sequence preventing squelch opening and corrected control of W/N switch in radio driver 2021-04-09 12:54:53 +02:00
Silvano Seva a2578ba42d Propagating change of the return value of platform_getChannelSelector 2021-04-03 09:28:27 +02:00
Caleb Jamison e5c5ee90f2 Add support for encoder knob on MD-UV380
Added: qdec, a header only quadrature encoder library

Added: EXTI15_10_IRQHandler to handle the encoder knob

Changed: platform_init() for the MD-UV380 now configures the EXTI15_10
interrupt.

Changed: platform_getChSelector now returns signed int8

Changed: size of settings_t.valid went from 6 to 7
Without this change, pressing the macro button crashes the radio, I
haven't investigated and I don't remember how I found that solution.

Changed: meson.build includes the qdec library
2021-04-03 09:21:47 +02:00
Silvano Seva 1d8596e3c8 Renamed 'MD-UV380' folder and 'PLATFORM_MDUV380' define to, respectively, 'MD-UV3x0' and 'PLATFORM_MDUV3x0' to make them consistent with the meson build target 2021-04-01 08:48:56 +02:00
Silvano Seva 3f9d46dc2a Fixed C6000_setModOffset in MD-UV3x0 HR_C6000 driver, now behaves in the same way as TYT firmware does. Provides a fix for #21, although it still have to be sharpened a bit. 2021-03-31 16:57:35 +02:00
Silvano Seva c13bc94e91 Fixed bug in MD-UV3x0 radio driver making it transmit with 1W output power even when 5W is selected 2021-03-31 15:05:40 +02:00
Silvano Seva 86f6d114e2 Applied __attribute__((packed)) to all data structures to reduce memory footprint 2021-03-26 18:11:22 +01:00
Silvano Seva 7f9600cdb7 Moved MDx tone generator sine table to FLASH 2021-03-26 16:33:08 +01:00
Fred f4e25a3f8f Fix compilation for gd77 and dm1801 targets 2021-03-24 09:25:57 +01:00