Commit Graph

166 Commits

Author SHA1 Message Date
Silvano Seva e204891776 CS7000: calibrated AK2365 RSSI output curve 2025-03-16 10:13:00 +01:00
Silvano Seva 832b933983 CS7000: implemented transmission of CTCSS squelch tones 2025-03-16 10:13:00 +01:00
Silvano Seva f883d4e7e1 CS7000: avoid spillover of FM audio when switching to HR_C6000 DAC output 2025-03-16 10:13:00 +01:00
Silvano Seva ebff73a95f CS7000: audio driver 2025-03-16 10:13:00 +01:00
Silvano Seva 68b001310e CS7000: radio driver 2025-03-16 10:13:00 +01:00
Silvano Seva 24a35a8933 CS7000: HR_C6000 driver 2025-03-16 10:13:00 +01:00
Silvano Seva e4b64fbef2 Driver for AK2365A FM detector 2025-03-16 10:13:00 +01:00
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
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 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 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
Morgan Diepart 3df8657b16 fixed missing static keyword 2024-07-12 09:01:55 +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 ed92d81543 Module17: implemented configurable logic levels for PTT in/out
See #248
2024-03-13 08:37:04 +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
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 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
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 6a17bb8483 ttwrplus: implemented radio band detection. 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 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 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 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
Silvano Seva 5ea94ee1af Improved management of FM audio volume on MD-UV3x0.
Fix #160.
2023-09-08 16:14:11 +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
Silvano Seva 4cd1fdfcf3 Moved gpio.h to peripherals 2023-07-21 19:27:14 +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 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 e93666a515 Implemented mic gain setting based on UI for 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