Commit Graph

36 Commits

Author SHA1 Message Date
Silvano Seva 3469feb065 MD-UV3x0: using HR_C6000 DAC for "beep" tones 2024-11-09 12:02:46 +01:00
Silvano Seva 0f4290cdfe Using Kconfig-style #defines for display parameters' description. 2024-02-01 11:07:20 +01:00
Silvano Seva dd46a48cd1 Improved conversion law in MD-3x0 and MD-UV3x0 platform_getVolumeLevel().
Rewritten the conversion law from ADC measurement in mV and normalized
0-255 output, adding a linearization if the pseudo-logarithmic output
curve of the potentiometer.

Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2023-09-08 16:02:53 +02:00
k5jae c1a9db22b7 Made Brightness setting optional based on HW capabilities 2023-08-16 20:46:25 +02:00
Silvano Seva 4cd1fdfcf3 Moved gpio.h to peripherals 2023-07-21 19:27:14 +02:00
Silvano Seva dcafd07085 Created "peripherals" include folder for non-mandatory drivers, moved rtc.h to peripherals folder. 2023-07-21 08:23:41 +02:00
Silvano Seva 009930f914 Moved get/set of current time to platform interface API 2023-07-21 07:58:29 +02:00
Silvano Seva 8019b29947 Moved the setBacklightLevel() API function from platform.h to display.h 2023-07-14 12:26:47 +02:00
Silvano Seva 163a3df607 Refactored MDx backlight driver 2023-07-14 12:26:47 +02:00
Silvano Seva 313e9615a6 Removed platform_getCalibrationData() function because of limited usefulness.
Given that each radio driver loads its calibration data when initializing
and that the radio driver is strongly platform-specific, there is no strong
need for an intermediate redirection layer through the platform API.
2023-07-14 12:26:39 +02:00
Silvano Seva 933d291154 Made hwInfo struct const and statically initialized where dynamic loading is not needed.
Changed the hwInfo variable to static const in all the platformw where
the information are not loaded from NVM. Doing so puts the variable in
.rodata section and spares a tiny amount of RAM and FLASH.
2023-07-13 08:49:25 +02:00
Silvano Seva a89a7523cb Updated year in copyright headers 2023-02-08 16:33:02 +01:00
vk7js 853db877e9 Link beep to volume knob appropriately. 2022-10-28 08:30:47 +02:00
vk7js eb89f5a55a Now play generic beep on any key press as well as different tones when navigating the menu, when menu item wraps, and when function key latches and unlatches if voice prompt level is set to beep. 2022-10-28 08:30:47 +02:00
vk7js a1e302b19d Got beeps working so long as you don't have ctcss set.
Reduced durations to sensible values.
2022-10-28 08:30:47 +02:00
vk7js 0298aa897b Implemented beeps on MD-UV3x0 platform driver. 2022-10-28 08:30:47 +02:00
Silvano Seva e2137eae23 Implemented CRC of persistent data (settings and VFO state) in MDx devices 2022-08-11 17:02:04 +02:00
Silvano Seva 316e588bc3 Updated copyright headers 2022-06-02 09:56:05 +02:00
Silvano Seva 624dca2b97 Renamed macro DISABLE_KEEP_ON to RUNNING_TESTSUITE 2022-03-05 09:09:25 +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
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
Silvano Seva 5113a39f2a Enabled M17 support also in MD-UV3x0 radio driver 2021-09-21 12:02:32 +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
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 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
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 e157fc361d Restructured ADC1_MDx code and extended its support also to MD-9600 2021-04-10 12:15:28 +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
Renamed from platform/targets/MD-UV380/platform.c (Browse further)