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
83f4e1584a
STM32: added function to retrieve the clock frequency of APB/AHB busses
2024-10-08 18:30:31 +02:00
Silvano Seva
9ff6375c18
GDx: merged the GD-77 and DM-1801 targets into a common "GDx" one
...
Radioditty GD-77 and Baofeng DM-1801 radios are 99.9% equal, the only
difference being the assigment of a few gpio pins.
2024-10-02 09:37:53 +02:00
Silvano Seva
76104dd065
STM32: Gpio: fixed possible #include conficts
2024-10-02 09:37:15 +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
Silvano Seva
031eda1d7e
STM32F4xx: fixed bug in gpio driver
...
Fixed bug causing gpios set in alternate function mode to have the internal
pull-up resistor enabled, even if not requested.
2024-07-17 19:07:10 +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
fc1fc41f14
Module17: removed old DAC initialization code in platform_init()
2024-07-03 21:47:38 +02:00
Silvano Seva
cea48f8d57
Linux: added Module17 hardware info flags to allow compilation of UI emulator
2024-06-23 09:46:13 +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
220d4d2ef4
Module17: added VBat measurement to ADC1 driver
2024-06-21 19:27:28 +02:00
Morgan Diepart
4f2c461bf0
Module17: added detection of baseband soft potentiometers
...
Detects the presence of the soft potentiometers. Display the detected potentiometers in the info menu.
2024-06-21 19:26:32 +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
539d1b45f6
STM32F4xx: driver for ADC peripherals
2024-06-21 18:00:33 +02:00
Silvano Seva
8fff2e7361
Driver for STM32F4xx SPI peripherals
2024-06-21 18:00:33 +02:00
Morgan Diepart
07ee9a3369
Driver for STM32F4xx I2C peripheral
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
8550e4f7a6
Module17: renamed calibration fields for TX/RX baseband inversion
2024-03-13 08:37:04 +01: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
3c137a31de
Fixed error in STM32F4 linker scripts causing radio thread lockup
...
Error in linker script definitions made the heap area to start at end of the
64kB CCM RAM, thus effectively allocating memory in an access-protected zone.
2024-02-07 18:37:28 +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
202a199442
Module17: added a 100ms sleep after power off to prevent the board from rebooting.
...
Fix #230 .
2024-02-06 21:08:17 +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
1791e70eef
Using newlib-specific sniprintf in place of snprintf
...
Using the newlib's printing functions without floating point support in order
to reduce the overall binary size. This allows to free up around 15kB of space
in the .text section.
2024-02-06 19:19:44 +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
dc930f4a4b
Added CONFIG_M17 macro to enable M17 support on each target
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
e54234f968
Renamed UI_NO_KEYBOARD macro to CONFIG_UI_NO_KEYBOARD
2024-02-01 11:07:20 +01:00
Silvano Seva
8bc867beae
Using Kconfig-style #defines for GPS, RTC and knob type description
2024-02-01 11:07:20 +01:00
Silvano Seva
cc27cc28a4
Using Kconfig-style #defines for battery type description.
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
Silvano Seva
0feb8f9075
Moved GPIO mappings out of hwconfig.h to a dedicated header file
2024-02-01 11:07:20 +01:00
marco
7a31dfba3d
Configured linux target for Module17 emulation similar to a Module17 rev. 0.1e
2024-01-09 12:36:23 +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
230e6310c7
Module17: added 100ms blink of sync led to indicate device startup
...
See also #216 .
2023-12-24 10:48:37 +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
Silvano Seva
faffbfb930
ttwrplus: updated flash memory partitions
2023-12-03 18:34:39 +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
6b34bf362d
Linux: declared an instance of Module17 calibration data to allow linking with Module17 UI code.
...
Declared the "mod17CalData" variable inside linux platform.c to make the symbol available
to the linker when building the linux emulator with the Module17 UI.
2023-11-05 18:33:12 +01:00
Silvano Seva
7dc2ca5524
Driver for random number generator peripheral
2023-11-02 18:36:07 +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
b4c8fca767
Implemented uf2 image wrapping for T-TWR Plus
...
T-TWR Plus target now produces images in UF2 format.
This format is compatible with bootloaders such as tinyuf2, and future
releases of the hardware will come pre-flashed with tinyuf2, thus
flashing them will not requires any other dependency than the uf2 file
itself.
TG-553
2023-10-18 11:27:43 +02:00
Niccolò Izzo
95e79e871d
ttwrplus: Add emergency shutdown
...
Enabled 10 second long press emergency shutdown PMU function to be able
to reset the radio even when OpenRTX is freezed, without the need of
pulling out and back in the battery.
TG-553
2023-10-17 09:54:13 +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