Silvano Seva
2496d49ffc
HR_C6000: implemented transmission of single-frequency tones
2025-03-10 21:53:51 +01:00
Silvano Seva
5016884782
HR_C6000: added functions for CTCSS tone encode/decode
2025-03-10 21:53:51 +01:00
Silvano Seva
f65c91dc4f
Created HR_C6000 class, subclass of HR_Cx000
2025-03-10 21:53:51 +01:00
marco
0ef8e6eed9
NVM: added nvm_getDesc function to Module17 driver
2025-03-02 18:12:45 +01:00
marco
40e2e5c38e
NVM: fixed bound check error in nvm_getDesc()
2025-03-02 18:12:39 +01:00
Silvano Seva
1099f0f7a3
CPS: added enumeration type for CTCSS tone index
2025-03-01 19:01:10 +01:00
Silvano Seva
7993074a6a
gpio-native: select driver basing on MCU type instead of build target
2025-02-11 19:01:34 +01:00
marco
8b792c4773
NVM: zephyr: fixed compilation errors
2025-01-29 09:14:53 +01:00
marco
bbd104172b
Audio: ttwrplus: added missing include for SA8x8 driver
2025-01-29 09:11:56 +01:00
marco
52d0c71323
MD9600: Enable Screen Backlight
2024-12-29 00:44:03 +01:00
marco
616806471e
MD9600: Fix Keyboard not working after ADC changes
2024-11-24 15:01:25 +01:00
Silvano Seva
e1572f8eb5
MD-9600: using STM32 ADC driver
2024-11-10 13:59:35 +01:00
Silvano Seva
81c55b5377
MD-3x0: using STM32 ADC driver
2024-11-10 12:04:10 +01:00
Silvano Seva
3ff2d31a70
UV3x0: renamed PA_EN_1 and PA_EN_2 gpios to, respectively, TX_PA_EN and RF_APC_SW
2024-11-09 13:09:56 +01:00
Silvano Seva
a815588b8c
Cx000 DAC: added functions for "beep" tone generation
2024-10-26 12:26:03 +02:00
Silvano Seva
847750e233
Added volume level to device state data structure.
...
Added filtered volume level to device state. Value is updated at 10Hz and
filtering is done by averaging the current value with the new sample.
2024-10-25 18:48:58 +02:00
Silvano Seva
a310a0a2d1
Reorganized GPIO drivers
2024-10-18 19:24:22 +02:00
Silvano Seva
cfed3ded6c
Removed unused wrappers for AT1846S and HR_Cx000 drivers
2024-10-12 14:47:53 +02:00
Silvano Seva
a84d8fe6f0
Removed unused function from radio interface API
2024-10-12 14:46:52 +02:00
Silvano Seva
2d0bf51873
MDUV3x0: using HR_C6000 for MCU to speaker audio
2024-10-12 12:24:05 +02:00
Silvano Seva
2c3f9c50c5
Driver to use HR_C6000 DAC as an audio output device.
2024-10-12 12:20:49 +02:00
Silvano Seva
e51e8f675c
HR_Cx000: added function to write audio samples to the DAC FIFO
2024-10-12 12:19:41 +02:00
Silvano Seva
98978b907f
GDx: updated radio driver
2024-10-09 22:02:51 +02:00
Silvano Seva
8f9502cade
MDUV3x0: updated radio driver
2024-10-09 22:00:10 +02:00
Silvano Seva
0c4a0435a8
MD3x0: update radio driver
2024-10-09 22:00:10 +02:00
Silvano Seva
c34e4462c2
HR_Cx000: driver refactoring
...
- removed the Cx000_uSpiBusy() function.
- HR_Cx000 class is no more singleton.
- added constructor parameters for USPI interface.
2024-10-09 21:54:06 +02:00
Silvano Seva
eda8d5d835
SKY72310: driver refactoring
2024-10-09 21:51:14 +02:00
Silvano Seva
5cc38316ea
Module17: updated display drivers to new SPI subsystem
2024-10-09 21:50:51 +02:00
Silvano Seva
5e94d2fef6
GDx: updated nvm driver
2024-10-09 21:24:33 +02:00
Silvano Seva
9dc449396a
MD9600: updated nvm driver
2024-10-09 21:24:33 +02:00
Silvano Seva
23e4ce0a8a
MDUV3x0: updated nvm driver
2024-10-08 19:20:59 +02:00
Silvano Seva
3b877d20df
MD3x0: updated nvm driver
2024-10-08 18:59:05 +02:00
Silvano Seva
af5d10ec52
MDx: unified the nonvolatile memory driver
...
Merged the NVM drivers of the MDx devices into a single file covering MD-380,
MD-UV380, MD-9600, RT3 and RT3s
2024-10-08 18:58:01 +02:00
Silvano Seva
a4db8d2242
NVM: deeply restructured W25Qx driver
...
Refactored the W25Qx driver in order to make it an SPI device conformant
to the nvmDevice driver interface. Removed the read/write/erase functions.
2024-10-08 18:45:29 +02:00
Silvano Seva
ae0a467d2a
MK22: driver for SPI peripherals
2024-10-08 18:36:56 +02:00
Silvano Seva
4c952e047b
STM32: refactored SPI driver
2024-10-08 18:35:36 +02:00
Silvano Seva
04698b2279
SPI: refactored spi_bitbang driver
2024-10-08 18:34:51 +02:00
Silvano Seva
1faf65d11c
SPI: driver for devices with user-provided bus transfer function
2024-10-08 18:34:16 +02:00
Silvano Seva
71d3a2c319
Driver for emulated EEPROM storage
2024-08-14 18:20:06 +02:00
Silvano Seva
6a1cdb5fd5
Reorganized ttwrplus nonvolatile memory devices
2024-08-14 18:20:06 +02:00
Silvano Seva
0a2dc3567d
Reorganized GDx nonvolatile memory devices
2024-08-14 18:20:05 +02:00
Silvano Seva
15e7f562e3
Reorganized MDx nonvolatile memory devices
2024-08-14 18:20:05 +02:00
Silvano Seva
6aee71ec84
Reorganized Linux nonvolatile memory devices
2024-08-14 18:20:05 +02:00
Morgan Diepart
3df8657b16
fixed missing static keyword
2024-07-12 09:01:55 +02:00
Silvano Seva
fe3c54153e
Stm32 DAC: moved parameter for idle level from config to init function argument
2024-07-10 09:16:14 +02:00
Silvano Seva
e95b5bbb6f
Linux: fixed compilation errors due to missing gpio-native.h header file
2024-06-23 09:39:43 +02:00
Morgan Diepart
e50b8ce80c
Module17: keyboard: do not enable SMBus timeout while using the I2C mode
...
Enabling SMBus timeout in the capacitive touch sensor and not in the MCU would cause the CTS to reset and the MCU expecting the transaction to keep going, locking-up the device.
Timeout should be re-enabled when SMBus will be implemented.
2024-06-21 19:27:33 +02:00
Morgan Diepart
b5e49a3b4d
Module17: reorganized display drivers, implemented dynamic selection of display driver
2024-06-21 19:26:32 +02:00
Morgan Diepart
30e9311a20
Module17: added support for hardware revision 1.0
2024-06-21 19:26:31 +02:00
Morgan Diepart
caf3225a87
Driver for CAP1206 capacitive touch controller
2024-06-21 19:26:11 +02:00
Silvano Seva
40780af16d
Module17: using standard ADC driver
2024-06-21 19:26:03 +02:00
Morgan Diepart
7052dbcf8b
Module17: use hardware I2C for MCP4551
2024-06-21 18:09:53 +02:00
Silvano Seva
b196ce9cbc
Driver for bitbanged SPI on MCU gpios
2024-06-21 18:00:33 +02:00
Silvano Seva
b98ea17aee
MK22: updated gpio driver
2024-06-21 18:00:33 +02:00
Silvano Seva
8842b98a52
STM32F4xx: updated gpio driver
2024-06-21 18:00:33 +02:00
Silvano Seva
695210d689
GDx: fixed missing audio output from RTX stage
2024-06-21 18:00:18 +02:00
Silvano Seva
3940405c68
stm32_dac: refactored stm32dac_init() to have a per-instance initialization
2024-06-21 09:58:04 +02:00
Silvano Seva
81f9257888
Updated radio and display driver stubs
2024-06-17 22:56:06 +02:00
Silvano Seva
ed92d81543
Module17: implemented configurable logic levels for PTT in/out
...
See #248
2024-03-13 08:37:04 +01:00
Derecho
02bcec0bd4
Fix compilation warnings during linux build
2024-02-11 18:06:15 +01:00
Silvano Seva
fdd08d4bcb
Module17: removed screen contrast setting, added screen brightness setting
...
Module17 uses an OLED display, which does not have contrast regulation. The
contrast control register, however, allows to change the brightness of the
display.
2024-02-06 21:11:41 +01:00
Silvano Seva
adc8b05075
Removed framebuffer from MD9600
2024-02-06 19:19:47 +01:00
Silvano Seva
b416585819
Dropped framebuffer from GDx display driver
2024-02-06 19:19:47 +01:00
Silvano Seva
7fc16388e0
Removed framebuffer from Module17 display driver
2024-02-06 19:19:47 +01:00
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