Silvano Seva
be21364b30
Made 'toneGen_playAudioStream' a non-blocking function, added 'toneGen_waitForStreamEnd' API function to allow blocking execution flow until a currently playing audio stream terminates or is stopped
2021-09-03 16:39:06 +02:00
Silvano Seva
db3efb21be
Added to MDx tone generator driver a function to interrupt an audio stream before its natural completion
2021-09-03 16:39:06 +02:00
Silvano Seva
943838c263
Fixed bug affecting management of data buffers inside MDx implementation of inputStream API
2021-08-27 14:26:16 +02:00
Silvano Seva
f3c6e92911
Driver for input audio stream on MDx
2021-08-25 18:34:41 +02:00
Silvano Seva
d329e141ed
Fixed wrong conversion in GDx ADC driver
2021-08-15 18:05:23 +02:00
Silvano Seva
4d3eacc144
Switched 'v_bat' and 'charge' fields of state struct from float to, respectively, uint16_t and uint8_t and updated UI functions accordingly. Rationale for this change is providing better support for future platforms without hardware floating point unit.
2021-08-14 12:56:45 +02:00
Silvano Seva
379f5aa71b
Refactoring of GDx ADC1 driver: added function allowing to retrieve the raw conversion value, changed return value of 'adc1_getMeasurement' from float to uint16_t
2021-08-14 10:18:55 +02:00
Silvano Seva
5dc2ba25d8
Refactoring of MDx ADC1 driver: removed DMA, added function allowing to retrieve the raw conversion value, changed return value of 'adc1_getMeasurement' from float to uint16_t (TG-276 #closed)
2021-08-14 10:18:55 +02:00
Silvano Seva
f286245f4f
Fixed USART ISR handler in MDx GPS driver to prevent it from exiting without clearing the interrupt flags when no thread is registered for wakeup (TG-271 #closed)
2021-08-13 17:01:32 +02:00
Silvano Seva
379b487f64
Added macro allowing to enable the SWD debugging interface on MDx devices (TG-272 #closed)
2021-08-12 19:46:41 +02:00
Silvano Seva
eb474d6bee
Driver for STM32F4 USART3, can be used as a debug serial interface on MD3x0 devices without GPS and is enabled by defining the macro MD3x0_ENABLE_DBG
2021-07-09 08:53:12 +02:00
Silvano Seva
fdd50c114c
Fixed wrong mic gain value in MD3x0 radio driver
2021-06-09 11:48:25 +02:00
Federico Amedeo Izzo
70a0eeaf29
Fix GD77 codeplug channel mode reading
2021-06-06 10:47:02 +02:00
Silvano Seva
96abae4bad
Temporary workaround to fix compilation error with MD-9600 due to not yet defined GPIOs for audio control, still to be identified.
2021-06-05 21:43:10 +02:00
Silvano Seva
6995230d8f
Extended 'mode' field in CPS data structure to 8 bits, to align its size to the one contained in rtxStatus_t. Modified code for channel data loading in NVM drivers to align it to the new opMode enum values.
2021-06-05 21:21:12 +02:00
Federico Amedeo Izzo
57b66652b7
Use channel knob to change frequency and navigate menus (TG-238)
2021-06-05 18:11:30 +02:00
Silvano Seva
35de41c505
Reduced printf verbosity of linux radio driver
2021-06-03 14:59:59 +02:00
Silvano Seva
66552be403
Added function to radio API allowing to fine tune the radio's VCXO polarisation voltage. Currently, this functionality is effective only on MD-3x0 devices. (TG-195 #ready-for-test)
2021-06-03 14:50:47 +02:00
Silvano Seva
b29b24fdc0
Implemented RX tone squelch on MD-UV3x0 and GDx (TG-43)
2021-06-02 12:44:46 +02:00
Silvano Seva
fdba408831
Improved registers documentation in HR_C5000 and HR_C6000 drivers
2021-05-29 08:20:12 +02:00
Silvano Seva
4d68f02ab4
Updated documetation for radio.h API, removed old baseband C source files.
2021-05-29 08:20:12 +02:00
Silvano Seva
bbdfdd1068
Added support for MD-380 VHF devices. (TG-188)
2021-05-29 08:20:12 +02:00
Silvano Seva
2d517d5bf8
New radio driver for GDx. Renamed some entries in GDx calibration data structure
2021-05-29 08:20:12 +02:00
Silvano Seva
87d9b733e6
Fixed wrong bitmask in AT1846S::setRxAudioGain. Moved getBandFromFrequency function to a dedicated file, in common for all dual-band radio drivers.
2021-05-29 08:20:12 +02:00
Silvano Seva
e7b48b14a5
Updated radio driver stub for linux platform
2021-05-29 08:20:12 +02:00
Silvano Seva
4a080d881a
Finalised MD-UV3x0 radio driver, now supporting also cross-band operation (TG-186)
2021-05-29 08:20:12 +02:00
Silvano Seva
f1a01d7613
New radio driver for MD-UV3x0, testing required
2021-05-29 08:20:12 +02:00
Silvano Seva
f0dfd7036f
Fixed bug in OpMode_FM.cpp which prevented entering in RX mode, removed code for setting input gain in HR_C5000 driver, modified meson.build to make it compile the new sources
2021-05-29 08:20:12 +02:00
Silvano Seva
850e3580ed
New radio driver for MD-3x0 platform, still requiring a bit of debugging
2021-05-29 08:20:12 +02:00
Silvano Seva
529b108771
Added to HR_Cx000 driver a function for setting the gain of the audio input stage.
2021-05-29 08:20:12 +02:00
Silvano Seva
887d95ec58
Created 'wrappers' subfolder in platform/drivers/baseband containing the C wrappers for the AT1846S, HR_C5000 and HR_C6000 drivers
2021-05-29 08:20:12 +02:00
Silvano Seva
11161fa64a
Moved to C++ and refactored HR_C5000/HR_C6000 drivers, grouping common code. A C-callable wrapper is also provided. TG-37
2021-05-29 08:20:07 +02:00
Silvano Seva
d95e36f43b
Moved to C++ and refactored AT1846S driver, grouping common code. A C-callable wrapper is also provided. TG-37
2021-05-29 08:19:47 +02:00
Silvano Seva
a6c638b063
Updated code attributions and informations about licensing of part of the codebase
2021-04-21 10:07:34 +02:00
Silvano Seva
63e68b642a
Audio management module for x86/64 target, only providing empty stubs since there is no hardware to control
2021-04-12 19:16:47 +02:00
Silvano Seva
c070060b0a
Fix error in ADC conversion sequence when compiling for MD-3x0
2021-04-12 19:10:45 +02:00
Silvano Seva
c0ecf2e13f
Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61
2021-04-12 19:10:13 +02:00
Silvano Seva
7209414a2b
Fixed error in ADC conversion sequence in MD-3x0 platforms, improved behaviour of 'platform_pwrButtonStatus' in targets having the power switch on the volume knob.
2021-04-11 18:19:08 +02:00
Federico Amedeo Izzo
a17e50edef
Add NVM codeplug support for MD9600
2021-04-10 22:37:32 +02:00
Silvano Seva
944a597d33
Created low-level driver for management of channel selector knobs with quadrature encoder
2021-04-10 19:29:35 +02:00
Silvano Seva
56c598da7e
Created low-level driver for backlight level management
2021-04-10 14:12:15 +02:00
Silvano Seva
cdaf3f38dd
Renamed MDx display, keyboard and spiFlash drivers to MD3x to adapt the changes made to meson.build also to MD-9600. Fixed missing API change in ui_main.
2021-04-10 12:37:45 +02:00
Silvano Seva
c77aebebad
Mapped 'C' and 'D' palmtop keys to, respectively, 'ENTER' and 'ESC' functions in MD9600 keyboard driver
2021-04-10 12:16:21 +02:00
Silvano Seva
db6b427513
Support for palmtop mic keys in MD9600 keyboard driver
2021-04-10 12:16:21 +02:00
Silvano Seva
a15159e7ce
Driver for ST7567 display controller
2021-04-10 12:15:29 +02:00
Silvano Seva
94d3a8f52b
Stub drivers for NVM and radio management on MD-9600
2021-04-10 12:15:29 +02:00
Silvano Seva
e157fc361d
Restructured ADC1_MDx code and extended its support also to MD-9600
2021-04-10 12:15:28 +02:00
Silvano Seva
6b541a8ba1
Platform interface and initial keyboard driver for MD-9600
2021-04-10 12:13:34 +02:00
Silvano Seva
0772f1924b
Renamed GDx display and keyboard driver from 'xxx_GD77' to 'xxx_GDx' for consistency with naming scheme
2021-04-10 12:00:36 +02:00
Silvano Seva
311a89ac0f
Refactoring of MDx tone generator, adding support for AFSK encoding (not yet implemented) and reproduction of arbitrary audio streams.
2021-04-10 11:24:33 +02:00
Silvano Seva
0ca7258f03
MD3x0 bugfixes: fixed wrong ADC conversion sequence preventing squelch opening and corrected control of W/N switch in radio driver
2021-04-09 12:54:53 +02:00
Caleb Jamison
e5c5ee90f2
Add support for encoder knob on MD-UV380
...
Added: qdec, a header only quadrature encoder library
Added: EXTI15_10_IRQHandler to handle the encoder knob
Changed: platform_init() for the MD-UV380 now configures the EXTI15_10
interrupt.
Changed: platform_getChSelector now returns signed int8
Changed: size of settings_t.valid went from 6 to 7
Without this change, pressing the macro button crashes the radio, I
haven't investigated and I don't remember how I found that solution.
Changed: meson.build includes the qdec library
2021-04-03 09:21:47 +02:00
Silvano Seva
3f9d46dc2a
Fixed C6000_setModOffset in MD-UV3x0 HR_C6000 driver, now behaves in the same way as TYT firmware does. Provides a fix for #21 , although it still have to be sharpened a bit.
2021-03-31 16:57:35 +02:00
Silvano Seva
c13bc94e91
Fixed bug in MD-UV3x0 radio driver making it transmit with 1W output power even when 5W is selected
2021-03-31 15:05:40 +02:00
Silvano Seva
86f6d114e2
Applied __attribute__((packed)) to all data structures to reduce memory footprint
2021-03-26 18:11:22 +01:00
Silvano Seva
7f9600cdb7
Moved MDx tone generator sine table to FLASH
2021-03-26 16:33:08 +01:00
Fred
f4e25a3f8f
Fix compilation for gd77 and dm1801 targets
2021-03-24 09:25:57 +01:00
Silvano Seva
32e6eb7029
Applied bugfix to MD-UV3x0 radio driver also to GDx one
2021-03-24 08:54:46 +01:00
Silvano Seva
a20f907330
Fixed issue with RSSI calculation on MD-UV3x0, leading to an output value of +105dBm when AT1846S register read 0x00
2021-03-22 18:01:37 +01:00
Silvano Seva
fb295a7aa0
Fixed issues with AT1846S I2C bus on MD-UV3x0, which caused it to work only if additional capacitance was added to SDA line by probing wires, oscilloscope probe, ...
2021-03-21 22:20:11 +01:00
Silvano Seva
97e234ecf6
Improved software I2C routines for MD-UV3x0 AT1846S driver
2021-03-20 22:46:43 +01:00
Silvano Seva
cfe2a609d5
Aligning delays in MD-UV3x0 AT1846S_init to the original firmware's ones
2021-03-20 11:51:35 +01:00
Federico Amedeo Izzo
f1643a8748
Comment AT1846S init from UV380 based on AT1846S programming guide
2021-03-20 11:51:35 +01:00
Silvano Seva
8423efb1b5
Fixed issue causing missing RX audio after a transmission on MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
c1abeefd67
Implemented volume control for audio coming from radio stage on MD-UV3x0 and fixed a compilation warning regarding non-const access to a const variable
2021-03-20 11:51:35 +01:00
Silvano Seva
4ed16fb51c
Enabled measurement of volume level on MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
a5120ffddc
Radio driver for MD-UV3x0 targets
2021-03-20 11:51:35 +01:00
Silvano Seva
9610d0db07
HR_C6000 driver for MD-UV3x0 targets
2021-03-20 11:51:35 +01:00
Silvano Seva
2ece3794a0
AT1846S driver for MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
f9332f5ce3
Implemented I2C routines for AT1846S on MD-UV3x0
2021-03-20 11:51:35 +01:00
Silvano Seva
6c79d710a1
Fixed wrong screen orientation on MD-380V(G). Thanks to @tarxvftech for testing!
2021-03-19 13:24:56 +01:00
Federico Amedeo Izzo
d6b54dc655
GD-77 properly terminate codeplug strings with 0x00 instad of 0xFF
2021-03-14 14:33:19 +01:00
Silvano Seva
5d0c7f3d9c
Removed I2C initialisation from GDx EEPROM driver, as the I2C bus is already initialised in platform_init() and the double initialisation made some radios freeze on the splash screen
2021-03-14 11:46:00 +01:00
Federico Amedeo Izzo
a5b0bc57d1
GD-77: fix bug where last zone was not read from flash
2021-03-14 11:08:52 +01:00
Federico Amedeo Izzo
b7795b47c0
Fix swapped FM/DMR channel type on GD-77
2021-03-13 22:25:51 +01:00
Silvano Seva
20ad9b7dcf
Fixed issue with MDx ADC, rolling back to real battery voltage measurement
2021-03-13 09:16:06 +01:00
Silvano Seva
608292ee5b
Removed old uC/OS-III delay function in linux GPS emulator
2021-03-13 09:16:06 +01:00
Silvano Seva
093640478c
Moving to miosix kernel: adapted GDx drivers and part of the common code to new configuration
2021-03-13 09:16:06 +01:00
Silvano Seva
7992b4abca
Moving to miosix kernel: adapted MDx drivers to new configuration
2021-03-13 09:16:06 +01:00
Federico Amedeo Izzo
f5a2f8c1ce
Disable settings write until DFU support is complete
2021-03-01 19:53:06 +01:00
Silvano Seva
4038bf811e
Fixed error in 'W25Qx_writePage' causing it skipping the blocks having an odd address
2021-02-26 11:07:32 +01:00
Silvano Seva
60b9c8b516
Made linker emit a warning whenever common symbols are merged. Fixed some variables having an unnecessary global scope and being subject to common linkage
2021-02-25 17:00:28 +01:00
Silvano Seva
d96e60873e
Added register documentation in AT1846S driver
2021-02-25 11:40:56 +01:00
Silvano Seva
3438006ef5
Removed moving average filtering from MDx ADC1 driver, added code for proper filtering of ADC samples in platform-independent code
2021-02-23 15:49:55 +01:00
Silvano Seva
dc131c3333
Refactored 'W25Qx_writeData' and disabled '-ffunction-sections', which causes printf not printing decimal dots when used with %f
2021-02-23 13:51:49 +01:00
Federico Amedeo Izzo
d4981ee288
Add Settings persistence to SPI Flash
2021-02-21 15:58:41 +01:00
Federico Amedeo Izzo
5f187bc76d
Fix SPI Flash write function
2021-02-21 14:28:42 +01:00
Federico Amedeo Izzo
bf8a5cf87d
Add SPI Flash write data implementation and test
2021-02-21 08:30:51 +01:00
Federico Amedeo Izzo
a009ffa2d0
Add CPS contact reading for GD-77 (currently not working for SPI flash issues)
2021-02-20 09:27:07 +01:00
Federico Amedeo Izzo
042ec2d5c1
Add GD-77 VFO channel CPS support
2021-02-20 08:55:42 +01:00
Federico Amedeo Izzo
a86176dcb8
Add GD-77 zone CPS support
2021-02-20 08:41:47 +01:00
Federico Amedeo Izzo
6755a4a7e5
Fix CPS channel reading on GD-77
2021-02-19 15:08:29 +01:00
Federico Amedeo Izzo
947d071f57
CPS: Fix GD-77 Channel base address
2021-02-18 15:41:59 +01:00
Silvano Seva
b699fb4d00
Trying to fix screen rotated by 180° on MD-380V devices
2021-02-17 21:14:26 +01:00
Federico Amedeo Izzo
046fcdb417
CPS: Improved GD-77 channel reading
2021-02-17 20:02:53 +01:00
Silvano Seva
06d75ad606
Implemented sector erase and page write into W25Qx driver
2021-02-17 11:39:52 +01:00
Niccolò Izzo
4d66d8b1af
Fix various warnings
2021-02-17 11:21:46 +01:00
Niccolò Izzo
c752601463
Add test NMEA sentences on linux platform
2021-02-16 23:44:18 +01:00
Federico Amedeo Izzo
8f3c46a262
Add GDx CPS channel decoding
2021-02-14 17:34:40 +01:00
Federico Amedeo Izzo
845d0b8a7d
Reduce RTX and Platform verbosity on Linux, add missing newline in RTX
2021-02-13 11:24:05 +01:00