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
Silvano Seva
1e7c2ceac3
Fixed missing ';' in GD-77 and DM-1801 implementations of 'platform_pwrButtonStatus'
2021-04-11 12:47:22 +02:00
Silvano Seva
1dfcf1b75f
Added missing implementation of 'platform_pwrButtonStatus' in linux platform.c
2021-04-11 12:43:17 +02:00
Silvano Seva
4b30a66735
Added 'platform_pwrButtonStatus' API function, which returns the current status of the power button/knob. Implemented power on/off mechanism on MD-9600
2021-04-11 12:38:20 +02:00
Federico Amedeo Izzo
93d2ede113
Add default contrast setting define
2021-04-11 09:10: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
795d8d4451
Implemented input voltage measurement on MD-9600
2021-04-10 12:16:21 +02:00
Silvano Seva
f9570f3636
Temporary hand-filled hwInfo for MD-9600
2021-04-10 12:16:20 +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
e46c77a300
Enabled ADC and NVM manager on MD-9600
2021-04-10 12:15:29 +02:00
Silvano Seva
10e9ac9057
Driver for STM32F4 SPI2, with locking mechanism for concurrent access
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
Silvano Seva
a2578ba42d
Propagating change of the return value of platform_getChannelSelector
2021-04-03 09:28:27 +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
1d8596e3c8
Renamed 'MD-UV380' folder and 'PLATFORM_MDUV380' define to, respectively, 'MD-UV3x0' and 'PLATFORM_MDUV3x0' to make them consistent with the meson build target
2021-04-01 08:48:56 +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
07d886a442
Fix for PTT gpio non going back to logic high when the corresponding button is released
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
Silvano Seva
5b44cb9a9f
On GDx devices deferred the loading of calibration data from 'platform_init' to the first call of 'platform_getCalibrationData' to avoid having the screen blank for a while when booting
2021-03-14 17:08:12 +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
fb9d8afb6c
Adapted MK22 vcom sources to miosix kernel but not activating it. Reconfigured x86 emulator.
2021-03-13 09:16:06 +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
fb3447b0c6
Moving to miosix kernel: swapped old uC/OS-III task management functions with pthread ones
2021-03-13 09:16:06 +01:00
Silvano Seva
2b28ea0525
Moving to miosix kernel: added two functions to 'interfaces/delays.h' to provide substitutes for their uC/OS-III counterparts and removed the old rtos sources
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
Silvano Seva
aa3680ee46
Moving to miosix kernel: boot files for MK22FN512-based targets
2021-03-13 09:16:06 +01:00
Silvano Seva
5995a5d8e0
Moving to miosix kernel: adapted parameters for cross-compilation and modified boot files for STM32-based targets
2021-03-13 09:16:06 +01:00
Federico Amedeo Izzo
dc5739b8bc
Fix GD-77 SPI flash pinout to make flash working
2021-03-01 20:54:00 +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
Silvano Seva
d69c237255
Fixed misspelled parameter of gpio_clearPin
2021-02-19 11:58:55 +01:00
Silvano Seva
af6c78542a
Added support for power gating gpio
2021-02-19 11:51:05 +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
c0a972963c
Add GPS flag to Linux target
2021-02-14 17:49:59 +01:00
Federico Amedeo Izzo
9255dfb969
Disable GPS functions for radios that don't support a GPS chip
2021-02-14 17:49:23 +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
Federico Amedeo Izzo
3ddf7f3557
Add comment explaining lack of VFO in MD380 CPS
2021-02-13 11:24:05 +01:00
Federico Amedeo Izzo
19838dbb38
Read VFO channel from flash when initializing state
2021-02-13 11:24:05 +01:00
Federico Amedeo Izzo
a9ad22a4c9
NVM: Add function to read VFO channel for MD-UV3x0
2021-02-13 11:24:05 +01:00
Silvano Seva
e35870a40f
Moved data structures for NVM management into dedicated header files
2021-02-13 11:24:05 +01:00
Silvano Seva
2fbf5fcdeb
Extending MDx GPS driver also to MD-UV3x0 and MD-9600 targets.
2021-02-10 21:36:54 +01:00
Niccolò Izzo
ebaee7b113
Add GPS stub for linux
2021-02-10 20:54:13 +01:00
Niccolò Izzo
0ce92f991c
Add GPS NMEA parsing task
...
Add dedicated task to parse NMEA sentences received by the GPS module.
The parsed data is moved to the radio state, to be read by the user
interface.
2021-02-08 17:25:11 +01:00
Silvano Seva
f847631d8e
Fixed bug in MDx GPS driver preventing the correct reception of NMEA sentences
2021-02-04 10:31:27 +01:00
Silvano Seva
9b9c521459
GPS driver for MD-3x0 targets
2021-02-04 09:57:43 +01:00
Silvano Seva
03d5184f86
Merged MD-380 and MD-390 targets into a new MD-3x0 one
2021-02-03 15:09:59 +01:00
Silvano Seva
7bfc8c5fb1
Tentative fix for display rotated of 180° on MD-380V devices. See also #13
2021-02-03 14:52:09 +01:00
Silvano Seva
1cd0efdee1
Fixed compilation warnings and code refactoring pass
2021-02-03 14:50:00 +01:00
Silvano Seva
1846fde270
Documentation of AT1846S driver API
2021-02-03 14:30:06 +01:00
Silvano Seva
3e2716f52c
Implemented TX CTCSS tone for GDx devices
2021-02-03 14:30:06 +01:00