Commit Graph

260 Commits

Author SHA1 Message Date
Silvano Seva 10d7ded93f MD-UV3x0: 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 3469feb065 MD-UV3x0: using HR_C6000 DAC for "beep" tones 2024-11-09 12:02:46 +01:00
Silvano Seva 2d0bf51873 MDUV3x0: using HR_C6000 for MCU to speaker audio 2024-10-12 12:24:05 +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 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 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 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
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
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 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 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
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 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 dc930f4a4b Added CONFIG_M17 macro to enable M17 support on each target 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
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 578c4f425b Added list of NVM areas to ttwrplus target 2023-12-03 19:00:55 +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 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
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 e11c529807 Bump Zephyr to commit a4de2eb3d1756c
TODO: the include fixes can be probably refactored by including the
correct zephyr directories, as include/zephyr/posix/pthread.h should
already bringing in those header files.

TG-553
2023-09-20 21:16:43 +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 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
Niccolò Izzo 8aa9b0a18f ttwrplus: enable macro menu usage
Enabled macro menu implementation without keyboard.

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