Commit Graph

548 Commits

Author SHA1 Message Date
Niccolò Izzo 8e8daa78c8 ttwrplus: implement PMU support
Begin implementing PMU, now successfully read and write registers, need
to implement button functionality, battery voltage readout, charge
detection etc.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo df853c8527 ttwrplus: add support for keys using Zephyr bindings
Zephyr already provides button support based on gpios. We are mapping
Zephyr keycodes to OpenRTX therefore future targets will only need to
configure their devicetrees to have button support.

Rotary encoder readout leverages the hardware pulse counter. PTT in
this device is also bound to KEY_ESC, that matched the behaviour
observed in many commercial radios.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo 9a445f3b31 Enable malloc on ESP32 BSP, specify ttwrplus battery type.
Mallocs now are working.
This radio sports a single cell Li-Po battery.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo 0c27c9ce28 Enable Zephyr dynamic stack threads
Enable Zephyr dynamic stack posix threading, with stack pool of 4 and
stack size of 4096.

TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo 1f1d20e120 Update T-TWR devicetree
Updated T-TWR devicetree to reflect changes in upstream Zephyr.

TG-553
2023-09-20 21:08:35 +02:00
Silvano Seva 67f6d56168 Display driver for ttwrplus 2023-09-20 21:08:35 +02:00
Silvano Seva ebc5910015 Renamed "bcd2bin" utility to "bcdToBin" to avoid conflicting with Zephyr includes 2023-09-20 21:08:35 +02:00
Silvano Seva 7c2c61f948 Added Lilygo T-TWR Plus target, using stub drivers. 2023-09-20 21:08:35 +02:00
Silvano Seva 21a93911da Added support for ESP32-S3 MCU using Zephyr RTOS 2023-09-20 21:08:35 +02:00
tarxvf 9d141b8f93 Fix emulator screenshot 2023-09-11 12:22:08 +02:00
Silvano Seva 5ea94ee1af Improved management of FM audio volume on MD-UV3x0.
Fix #160.
2023-09-08 16:14:11 +02: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
Silvano Seva 8dc1cba1f7 Removed sources of old audio stream drivers, updated stub audio driver 2023-08-30 18:04:25 +02:00
Silvano Seva cd936ea216 Audio devices table for linux and GDx targets 2023-08-30 18:04:25 +02:00
Silvano Seva 344aa46da7 Audio devices table for MDx 2023-08-30 18:04:25 +02:00
Silvano Seva 2b1d3236d3 Audio devices table for Module17 2023-08-30 18:04:25 +02:00
Silvano Seva f56771734f Audio device driver for STM32F4xx ADC peripheral 2023-08-30 18:04:25 +02:00
Silvano Seva 5aed3e3316 Audio device driver for STM32F4xx PWM-based 8-bit DAC emulation 2023-08-30 18:04:25 +02:00
Silvano Seva efb5f22750 Audio device driver for STM32F4xx DAC peripheral 2023-08-30 18:04:24 +02:00
Silvano Seva 435f7a416d Basic driver to configure STM32F4 timers as perioric update sources. 2023-08-30 18:04:24 +02:00
Silvano Seva 4d03d1535c Added function to STM32F4 DMA stream driver returning its status (running or not). 2023-08-30 18:04:24 +02:00
Silvano Seva 2931a83303 Almost general purpose driver for peripheral <-> memory DMA streams on STM32F4xx 2023-08-30 18:04:24 +02:00
Silvano Seva 1011dd1081 Moved audio_stream.h from interfaces to core headers 2023-08-30 18:04:24 +02:00
Silvano Seva 4920921862 MD-UV3x0: fixed bug causing no FM rx after tx end. Fix #171
Thanks to turnrye and tarxvf for debugging and testing this.
2023-08-23 09:54:36 +02:00
k5jae c1a9db22b7 Made Brightness setting optional based on HW capabilities 2023-08-16 20:46:25 +02:00
Silvano Seva 6c12a326cc Fixed a bug in STM32 flash driver causing data not being written to the internal flash.
Solves #133.
2023-07-29 16:31:14 +02:00
Silvano Seva 4cd1fdfcf3 Moved gpio.h to peripherals 2023-07-21 19:27:14 +02:00
Silvano Seva 28122a3bf3 Moved gps.h to peripherals 2023-07-21 08:32:26 +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 b335aeb22c Adding folder with stub drivers for the OpenRTX interface APIs.
Stub drivers provide a safe default implementation of the OpenRTX interface
APIs and can be used both as a starting point to implement the actual drivers
and to allow compiling binary images without needing to provide an actual
implementation first.
2023-07-18 23:08:49 +02:00
Silvano Seva 65dde770e7 Changed return type of cps_readBankData() from "int32_t" to "int".
Made the return type of cps_readBankData() consistent with the one of
the other CPS API functions.
2023-07-18 23:04:31 +02:00
Silvano Seva a5b925e76f Small code cleanup in MD-UV3x0 HR_C6000 driver, temporary workaround to fix #129 2023-07-14 18:12:31 +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 6d58230c8c Module17: set threshold for detection of hardware rev 0.1e to 3V 2023-07-13 09:12:45 +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 beca0ea093 Module17: implemented control of power on switch, introduced in rev 0.1e 2023-06-14 21:57:33 +02:00
Silvano Seva 694181df92 Module17: implemented detection of hardware version 2023-06-14 21:50:12 +02:00
Silvano Seva 1afd868d64 Renamed "lcd_type" field of hardare info struct to "hw_version" 2023-06-14 21:30:52 +02:00
Silvano Seva e93666a515 Implemented mic gain setting based on UI for Module 17 2023-05-29 22:12:40 +02:00
Mathis Schmieder 89aedef3ae Implemented non-volatile memory for settings on Module 17 2023-05-29 22:12:40 +02:00
Silvano Seva 2b7fc6e150 Implemented control of Module 17 MCP4551 digital wipers 2023-05-29 22:12:40 +02:00
Silvano Seva c862638fd1 Created calibration data structure for Module17 2023-05-29 22:12:40 +02:00
Wojciech Kaczmarski a9a6217d89 Removed RTC_PRESENT macro for Module 17 since hardware does not have an RTC 2023-05-29 22:12:40 +02:00
Silvano Seva bd8585c45d Fixed SDL-based display driver giving errors when compiled in BW pixel mode 2023-05-29 22:12:40 +02:00
Silvano Seva a89a7523cb Updated year in copyright headers 2023-02-08 16:33:02 +01:00
Silvano Seva 0692bea269 Partial fix for speaker pop when a voiceprompt begins 2022-10-31 08:41:31 +01:00
Silvano Seva 4411e0f3e8 Implemented audio path management API in GDx and Mod17 audio drivers, removed old audio management API 2022-10-28 09:47:47 +02:00