Silvano Seva
11d7a92f4e
Removed framebuffer from ttwrplus
2024-02-06 19:19:47 +01:00
Silvano Seva
5a164fe2ab
Removed framebuffer from SDL display driver
2024-02-06 19:19:47 +01:00
Silvano Seva
5ff098d2fb
Removed framebuffer from MDx display driver
2024-02-06 19:19:47 +01:00
Silvano Seva
d119e7d1b2
Moved pixel framebuffer out of display drivers into graphics layer
...
Reorganized code for pixel framebuffer in order to have it instantiated once
and for all the possible display drivers. Dropped the display_getFrameBuffer()
function.
2024-02-06 19:19:47 +01:00
Silvano Seva
731054a131
Dropped display_renderingInProgress() function from display API
...
Removed display_renderingInProgress() function from display interface as it
has never been used so far.
2024-02-06 19:19:47 +01:00
Silvano Seva
d8c0ab1c44
Dropped support for 20kHz bandwidth
...
Dropped support for 20kHz bandwith in rtx code and radio drivers. This option
is supported only by MDx radios and so far is not being used at all.
2024-02-06 19:19:47 +01:00
Silvano Seva
44385b3b25
Using signed 32-bit data type for RSSI instead of floating points
...
Switched to int32_t for RSSI representation to allow running the code also
on devices with limited resources. Defined a new ad-hoc type to still keep
the possibility of using floating points on more capable devices.
2024-02-01 11:07:20 +01:00
Silvano Seva
5b3929ef44
Moved from float to uint32_t for TX power, substituted dBm with mW in CPS channel struct
...
General code optimization allowing to reduce the overall binary size, especially
for devices without hardware floating point support. On the MD-380 (which has the
FPU) the .text size has been reduced of 4'928 bytes.
2024-02-01 11:07:20 +01:00
Silvano Seva
24c4a25b2d
Made "static" all the variables local to each translation unit
2024-02-01 11:07:20 +01:00
Silvano Seva
0f4290cdfe
Using Kconfig-style #defines for display parameters' description.
2024-02-01 11:07:20 +01:00
edgetriggered
2ce3f5e949
ttwrplus: Ignore revision from sa8x8-fw version
...
The "revisions since last tag" version field is now accurately named and no longer checked. Extra parentheses also added to reduce compiler warnings.
Fix #217
2023-12-24 10:48:41 +01:00
Silvano Seva
ab4a964ddd
Linux NVM: added implementation of nvm_getMemoryAreas()
2023-12-07 12:02:48 +01:00
Silvano Seva
419d02a203
Linux NVM: updated implementation to use the new standard API
2023-12-03 19:00:55 +01:00
Silvano Seva
070ed3de32
Device driver for file-based nonvolatile memory storage
2023-12-03 19:00:55 +01:00
Silvano Seva
578c4f425b
Added list of NVM areas to ttwrplus target
2023-12-03 19:00:55 +01:00
Silvano Seva
f94e6ce49e
Added list of NVM areas to Module17
2023-12-03 19:00:55 +01:00
Silvano Seva
ecd3602662
Added list of NVM areas to GDx targets
2023-12-03 19:00:55 +01:00
Silvano Seva
72c8b8246b
Added list of NVM areas to MDx targets
2023-12-03 19:00:52 +01:00
Niccolò Izzo
09587ab6c8
Added wrapper to NVM device API for Zephyr flash API.
...
Wrapped Zephyr flash API calls for OpenRTX interface, added
additional settings specific to T-TWR Plus.
TG-553
2023-12-03 18:34:39 +01:00
Silvano Seva
d20f0e2c8d
Added implementation of the standard NVM device API to AT24Cx driver.
2023-12-03 18:34:39 +01:00
Silvano Seva
ab66054341
Added implementation of the standard NVM device API to W25Qx driver.
2023-12-03 18:34:39 +01:00
Silvano Seva
f125bbe9be
Refactored AT24Cx EEPROM driver and implemented memory write function
2023-12-03 18:34:39 +01:00
Silvano Seva
be07b8f73e
Refactoring of W25Qx driver
2023-12-03 18:34:39 +01:00
Silvano Seva
91c0965007
Module17: made M17 baseband output have correct DC bias and amplitude
...
Removed an old workaround for an hardware bug of Module17 rev 0.1b limiting
the output swing of baseband signal in newer hardware revisions.
Contribution by Mathis Schmieder DB9MAT.
2023-11-21 18:46:03 +01:00
Silvano Seva
75abbaa12c
Linux: using file-based driver for SOURCE_RTX input device
2023-11-12 12:35:21 +01:00
Silvano Seva
8040a012b4
Driver for file-based audio input device
2023-11-12 12:34:37 +01:00
Silvano Seva
e362a80d45
Fixed truncation error in AT1846S setFrequency()
...
Fixed error in compuation of values for AT1846S frequency registers
causing the output frequency to have an effective resolution of 1kHz
instead of 62.5Hz.
2023-10-22 03:24:25 +02:00
Niccolò Izzo
4697be5ea6
Fix squelch behaviour on T-TWR Plus
...
On LILYGO T-TWR Plus the squelch was being controlled by AT1846s,
resulting in the squelch bar setting being completely ignored. Now we
are introducing the support for a new command of sa8x8-fw called
AT+AUDIO that controls the muting or unmuting of the speaker power
amplifier, enabling us to:
1. Disable AT1846s embedded squelch
2. Enable OpeRTX squelch
Also fixed a bug where the sa8x8-fw version was incorrectly checked.
AT+AUDIO requires sa8x8-fw version v1.3.0.r1, bumped version check in
OpenRTX.
TG-553
2023-10-17 09:54:09 +02:00
Niccolò Izzo
04d6d01a5c
Reduce encoder sensitivity on T-TWR Plus
...
Reduce encoder sensitivity on T-TWR Plus by dividing the pulse counter
input by two.
TG-553
2023-10-09 09:23:45 +02:00
Silvano Seva
e2ab831c27
Added 1750Hz squelch tone on MD-3x0 radios
2023-09-22 13:58:59 +02:00
marco
06515e324a
Enabled 1750Hz squelch tone on GDx
2023-09-22 13:58:59 +02:00
marco
77e0ad27a0
Added support for 1750Hz squelch tone, implemented squelch tone in UV-3x0 radio driver.
...
When pressing the Hash key and the PTT key in FM mode
a 1750 Hz tone is transmitted
2023-09-22 13:58:59 +02:00
Silvano Seva
6f567cc38d
ttwrplus: implemented the platform_pwrButtonStatus() function.
...
The platform_pwrButtonStatus() function returns false (shutdown) in
case of a long press of the power button.
2023-09-20 21:16:43 +02:00
Niccolò Izzo
7619b9473b
ttwrplus: Slow down encoder input
...
Two ticks are needed to emit one KNOB_LEFT or KNOB_RIGHT event, thus
slowing down the rotary encoder input and making it more comfortable.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
fe027c440c
ttwrplus: enable volume control
...
Replaced KEY_F7 and KEY_F8 with KEY_VOLUP and KEY_VOLDOWN.
Remapped the T-TWR Plus volume up and down keys to those, fixing a bug
in the pmu key detection where the wrong active edge was selected.
Adapt soft volume code for the UV3x0 to control code in the T-TWR Plus
by acting on the AT1846s Rx gain.
For target T-TWR Plus bound long press of KEY_VOLDOWN to macro menu open.
Unbound KNOB_LEFT and KNOB_RIGHT to squelch control and bound
instead KEY_VOLUP and KEY_VOLDOWN.
TG-553
2023-09-20 21:08:35 +02:00
Silvano Seva
6a17bb8483
ttwrplus: implemented radio band detection.
2023-09-20 21:08:35 +02:00
Niccolò Izzo
ad1beffcf3
ttwrplus: implemented PMU interrupts handling
...
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
2dabacebd8
ttwrplus: Implement power control on SA8x8
...
Implemented power control in T-TWR Plus by using the embedded switch
(RADIO_PWR) that controls the H/L pin of the SA868.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
c276fc5a51
ttwrplus: moved all the SA8x8 code in a dedicated translation unit.
2023-09-20 21:08:35 +02:00
Niccolò Izzo
d935532fc4
ttwrplus: enable GPS
...
GPS was enabled using UART1 and Zephyr message queues.
UI is a bit crushed on the small 128x64 screen but hardware works as expected.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
eeb05bcc0f
ttwrplus: fix unstable baseband startup
...
A proper baseband reset is now issued at each startup. Now OpenRTX check
for SA868 responsiveness before proceeding with radio initialization,
eliminating unstable behaviour at boot.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
dc84908fbc
ttwrplus: enable TURBO mode on SA868S
...
Enabled AT+TURBO command on SA868 that switches the baud rate of the
serial communication from 9600 to 115200 to get a more responsive
baseband. Bumped up the required baseband firmware version to
v1.1.0.r20.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
82218aabce
ttwrplus: enable macro menu
...
Modified keyboard mapping to enable macro menu, interface is still
broken as the T-TWR Plus is missing a keyboard.
Now the volume down key, mapped as the MONI button can be also used to
set the squelch level.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
4c035bbf16
ttwrplus: enable Tx capability
...
Enabled Tx capability on T-TWR Plus.
Since Tx requires the SA8x8 to disable the Rx stage, we check that at
least firmware v.1.1.0.r14 is present on the baseband, otherwise we
don't initialize the radio.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
4df315473f
ttwrplus: add RGB LED support
...
Implemented WS2812C support with Zephyr driver.
Hooked up the RGB control to the existing RED and GREEN LED support.
TG-553
2023-09-20 21:08:35 +02:00
Niccolò Izzo
c60f580396
ttwrplus: add support for SA868
...
Add support for initializing SA868 and querying its firmware version,
created a new instance of the AT1846S class that leverages the SA8x8
serial connection as an i2c implementation.
Rx works! In the sense that the RSSI bar behaves as expected, still no
audio.
This commit was contributed by edgetriggered.
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
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
5ea94ee1af
Improved management of FM audio volume on MD-UV3x0.
...
Fix #160 .
2023-09-08 16:14:11 +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
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
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
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
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
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
Silvano Seva
21481072e7
Moved audio management in M17 opmode handler to audio path system
2022-10-28 09:47:47 +02:00
Silvano Seva
ebc7be39ab
Implemented audio path management API in MDx audio driver
2022-10-28 09:47:47 +02:00
Silvano Seva
3c65f8834a
Added to radio driver interface two functions to enable and disable AF output towards the speaker
2022-10-28 09:47:47 +02:00
Silvano Seva
714a0dd331
Implemented audio path management API in linux audio driver
2022-10-28 09:47:47 +02:00
Silvano Seva
26048b90d1
Bugfix and refactoring of linux output stream driver
2022-10-28 08:30:46 +02:00
Niccolò Izzo
adbd1f070d
Fixed bug in circular buffer management inside linux output stream driver, added unit test for circular buffer mode.
...
TG-220
2022-10-28 08:30:46 +02:00
Niccolò Izzo
58c1c3bbd6
Implemented circular buffer mode in linux output stream driver.
2022-10-28 08:30:46 +02:00
Niccolò Izzo
081b19e52c
Implemented output audio stream driver for linux.
...
Implement outputStream backend on linux using Pulseaudio simple API.
TG-250
2022-10-28 08:30:46 +02:00
Silvano Seva
3ab36f3738
Fixed bug in MD3x0 radio driver causing underdeviation of M17 signal
2022-08-28 10:13:22 +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
57349cba80
Changed allocation of display framebuffers from dynamic to static. Reorganised code in some of the display drivers.
2022-08-10 12:26:04 +02:00
Silvano Seva
fdb2143157
Fixed bug affecting CTCSS RX squelch on MD-UV380. Solves #42
2022-08-02 12:54:51 +02:00
Silvano Seva
1fa13d63d8
Modified radio drivers so that bandwidth parameter in radio configuration is ignored for operating modes different from analog FM. Fixes #100
2022-08-01 18:29:20 +02:00
Jacob McSwain
822fb84146
nvmem: md3x0: Explicitly read in calibration data
...
This should fix the frequency offset issues
2022-07-17 08:18:16 +02:00
Jacob McSwain
44dc9239be
baseband: C5000: Set the mic input during early init
...
Otherwise, the "frequency wiggle" is present
2022-07-16 08:18:06 +02:00
Alain Carlucci
724e3196b4
Removed exceptions from linux input stream driver
2022-07-10 11:01:15 +02:00
Alain Carlucci
07394cc8a0
Linux input stream driver: bugfixes and completed test
2022-07-10 11:00:49 +02:00
Alain Carlucci
1d48e5e3e0
Implementation of linux input stream driver
2022-07-10 10:59:45 +02:00
Silvano Seva
7e8a960001
Fixed compiler warnings on MD-UV3x0 and MD-9600 targets
2022-07-10 09:23:37 +02:00
Silvano Seva
d39783af2f
Moved libc implementation of CPS I/O interface to drivers folder
2022-07-02 10:47:19 +02:00
Silvano Seva
28929aab90
Fixed memory leaks at linux emulator shutdown
2022-07-02 10:47:19 +02:00
Silvano Seva
52ead401bd
Reorganised GPS task to make it a non-blocking task to be called periodically
2022-07-02 10:28:28 +02:00
Silvano Seva
45d919f50f
Reorganised GPS driver to allow for non-blocking acquisition of NMEA sentences
2022-07-02 10:28:28 +02:00