Commit Graph

360 Commits

Author SHA1 Message Date
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
Silvano Seva a1bd2fe22b Fixed bug in PLL divider computation which leads to have VCO frequency 4.2MHz below the expected value. See #13 2021-02-03 14:30:06 +01:00
Silvano Seva 061c90cfb4 Fixed missing removal of PA drive voltage before turning on RX LNAs in GDx radio driver 2021-02-03 14:30:06 +01:00
Silvano Seva 20930cdc18 Renamed HR_C5000 driver sources 2021-02-03 14:30:06 +01:00
Silvano Seva 5c54de0fac Renamed sources for SKY72310 driver 2021-02-03 14:30:06 +01:00
Silvano Seva fa07a55140 Removing old rtx driver implementations 2021-02-03 14:30:06 +01:00
Silvano Seva e9b7a0154a Added missing audio mux control to GDx radio driver 2021-02-03 14:30:06 +01:00
Silvano Seva eb619f4b38 Radio driver for GDx targets 2021-02-03 14:30:06 +01:00
Silvano Seva fd9c26565d Radio driver for MD-UV3x0 target 2021-02-03 14:30:06 +01:00
Silvano Seva 72455b7fb0 New radio driver for linux platform 2021-02-03 14:30:06 +01:00
Silvano Seva d9a55c137a Implementation of all common rtx functionalities and radio driver for MD3x0 2021-02-03 14:30:06 +01:00
Silvano Seva edb2697124 New 'radio' interface API, providing a standard interface for low-level platform-specific baseband control 2021-02-03 14:30:06 +01:00
Silvano Seva 2fee6d0d06 Fixed decoding of CT/DCSS codeplug field in MDx nvmem driver 2021-02-02 22:24:12 +01:00
Federico Amedeo Izzo 83d91b555d Add hwInfo in Info menu 2021-02-02 21:45:10 +01:00
Federico Amedeo Izzo 61ad0879c5 CPS-UI: Make channels, zones and contacts 1-based to fix zone bound 2021-02-02 20:52:37 +01:00
Silvano Seva bcf2aa636c Final cleanup and renaming of MDx display driver 2021-02-02 11:18:33 +01:00
Silvano Seva 1249a791cc Automatic display detection and configuration in MDx display driver 2021-02-02 10:36:54 +01:00
Federico Amedeo Izzo faf943b02b NVM: Add Linux fake zone members 2021-02-01 22:29:35 +01:00
Silvano Seva 80c7668faa Added a data structure providing some hardware information parameters and the relative platform API function to retrieve them 2021-02-01 21:27:31 +01:00
Silvano Seva 13db8244b2 Fixed sporadic keyboard glitches in MDx devices 2021-02-01 19:11:14 +01:00
Niccolò Izzo 09864adf21 Add zones and contact parsing on MD-3x0 2021-02-01 18:51:40 +01:00
Niccolò Izzo ceb109946e Fix input acquisition bug on MD-3x0 2021-02-01 18:51:21 +01:00
Silvano Seva 88387ee00d Renamed 'GD77' folder to 'GD-77' to correctly match the device name 2021-02-01 15:55:45 +01:00
Silvano Seva 86c25d6e26 Fixed missing include in 'keyboard_MDx.c' 2021-02-01 11:25:45 +01:00
Silvano Seva c87f178823 Fixed bug in UC1701 preventing some settings to be correctly applied 2021-01-30 07:53:37 +01:00
Federico Amedeo Izzo 50841f40ff Enable contrast menu for DM-1801 and MD-9600 2021-01-29 23:11:11 +01:00
Federico Amedeo Izzo 450c965ee0 Disable contrast menu on targets without adjustable contrast 2021-01-29 22:57:24 +01:00
Niccolò Izzo 9f980f1dd4 Sane default for linux RSSI stub 2021-01-29 18:14:48 +01:00
Niccolò Izzo cf8e02506c Align squelch values with rssi 2021-01-29 11:28:21 +01:00
Niccolò Izzo 2fa5b7a6e6 Fix squelch setting on linux 2021-01-28 16:46:09 +01:00
Niccolò Izzo 226d2ccaf7 Implement RSSI based squelch control 2021-01-28 15:13:06 +01:00
Niccolò Izzo 0b98f50a12 Add absolute knob positioning and horizontal keys emulation 2021-01-28 14:14:25 +01:00
Niccolò Izzo 90445e29a7 Implement voltage to dBm conversion in MDx
MDx radios get an RSSI voltage in mV, to be converted into dBm, we used
and empirically derived linear relation to compute the dBm value.
2021-01-28 10:31:37 +01:00
Silvano Seva 92870f477f Added display API function to set LCD contrast 2021-01-26 08:53:42 +01:00
Federico Amedeo Izzo 5a37ba3e8a CPS: Add dummy zones and contacts generation on Linux 2021-01-24 19:01:51 +01:00
Silvano Seva 41a413cfdd RTX support for GD77 target 2021-01-24 18:59:12 +01:00
Silvano Seva b9ddaca42c Added TX support to GDx baseband driver 2021-01-24 18:59:12 +01:00
Silvano Seva 4e4130e524 Added some missing setters for AT1846S calibration and fixed other ones 2021-01-24 18:59:12 +01:00
Silvano Seva 72220c377e Implemented RTX driver for GDx platform, by now only supporting RX 2021-01-24 18:59:12 +01:00
Silvano Seva 8afa1d700e Driver for HR_C6000 baseband IC 2021-01-24 18:59:12 +01:00
Silvano Seva b2eb042d2b Driver for AT1846S baseband IC 2021-01-24 18:59:12 +01:00
Silvano Seva 9802bc4e75 Started implementation of baseband drivers for GDx platforms 2021-01-24 18:59:12 +01:00
Federico Amedeo Izzo 302eb572be CPS: Add Zone and Contact reading function stubs 2021-01-24 18:11:09 +01:00
Federico Amedeo Izzo d3796971df NVMEM: Fix compiler warning on linux 2021-01-24 16:29:48 +01:00
Federico Amedeo Izzo 0608176342 CPS: Read contact data from codeplug 2021-01-23 11:28:12 +01:00
Federico Amedeo Izzo 33336ecccc CPS: Return -1 when reading an empty channel or zone 2021-01-23 10:38:18 +01:00
Federico Amedeo Izzo fe35d4017a CPS: Fix zone data reading 2021-01-23 10:05:18 +01:00
Federico Amedeo Izzo 489326f5cd CPS: Fix zone extension reading 2021-01-22 21:23:45 +01:00
Federico Amedeo Izzo 6706a796ad CPS: Add code to read zone data from Codeplug 2021-01-22 21:16:13 +01:00
Silvano Seva 4bbad17012 Refactoring of data structure for GDx calibration data: 'vhfCal' and 'uhfCal' fields merged into a single two-element array field 2021-01-21 12:34:11 +01:00
Federico Amedeo Izzo cb4b55d9a3 NVM: Remove unused duplicate driver 2021-01-13 21:13:14 +01:00
Federico Amedeo Izzo 6b47a32292 UI NVM: Fix base address for UV3x0 radios, and convert from 10*Hz to Hz 2021-01-10 11:50:03 +01:00
Federico Amedeo Izzo 47c20f8cff NVM: Convert freq from tens of Hz to Hz when reading CPS channel 2021-01-10 11:27:01 +01:00
Federico Amedeo Izzo 73c9ab56a6 UI: Channel mode: load channel from cps and do basic validation 2021-01-10 10:18:29 +01:00
Niccolò Izzo adc48efb19 Implement CTCSS available tones array
Now the CTCSS tones are taken from an array and indexed from that array.
A macro that sets the tone has been implemented.
2021-01-05 11:26:22 +01:00
Niccolò Izzo bbcd6483a2 Add tone enable flags into channel data structure 2021-01-05 10:08:18 +01:00
Niccolò Izzo 2fe6cd1cb6 Implement draft of the macro menu feature 2021-01-05 10:08:18 +01:00
Silvano Seva a057d2bfee Fix for MD3x0 rtx driver transmitting TX CTCSS tone even if settings tell it as disabled 2021-01-05 09:42:52 +01:00
Silvano Seva 8010302d4d Tone generator and GPIO for audio control on MD-UV380 platform 2021-01-04 20:53:42 +01:00
Silvano Seva 41e6c1d1e6 Added flags to enable TX and RX tones in rtxStatus_t 2021-01-04 08:58:17 +01:00
Federico Amedeo Izzo 5f5c993f9a Remove separate MD-UV380G platform files.
From now on they will be shared with MD-UV380,
with only a GPS define set in meson.build.
2021-01-03 08:25:37 +01:00
Silvano Seva 16e4642b97 Fix for first part of #11, caused by VCO not being updated when a new configuration is received by the rtx driver 2021-01-02 21:19:26 +01:00
Silvano Seva 403f37844f Fixed compilation error for MD-UV380G target 2021-01-02 19:39:59 +01:00
Silvano Seva 48775a71fd Finalising merge of branch master into GDx-development 2021-01-02 15:17:15 +01:00
Silvano Seva 206daec861 Driver for nonvolatile external memory on GDx devices, by now only supporting retrieval of calibration parameters 2021-01-02 15:07:14 +01:00
Silvano Seva ff7216e9cd Driver for AT24Cx external EEPROM present on GDx devices 2021-01-02 15:07:14 +01:00
Silvano Seva b393cdad8d Added locking mechanism to MK22FN512xx I2C0 driver to allow for multithread use 2021-01-02 15:07:14 +01:00
Silvano Seva 56d56e901f Driver for MK22FN512xx I2C0 peripheral 2021-01-02 15:07:14 +01:00
Silvano Seva 5581276ec5 Calibrated delayMs and delayUs on MK22FN512xx MCU 2021-01-02 15:07:14 +01:00
Silvano Seva efb235ae4e Fixed issues with _read_r in MK22FN512xx libc integration code 2021-01-02 15:07:14 +01:00
Silvano Seva aad19cc41c Driver for external SPI flash memory on Baofeng DM-1801 2021-01-02 15:07:14 +01:00
Silvano Seva d9f6ea31ab Separated code for SPI communication from sources of external flash memory driver. 2021-01-02 15:07:14 +01:00
Federico Amedeo Izzo 89813199d3 Add dummy nvmem Linux driver 2021-01-02 12:10:10 +01:00
Federico Amedeo Izzo b74dba7564 Differentiate MDUV380G target from MDUV380 2021-01-02 12:08:58 +01:00
Federico Amedeo Izzo 08087cb14a linux-keyboard.c: Fix 0 key contantly pressed on Linux 2021-01-01 20:41:15 +01:00
Federico Amedeo Izzo 94b7be826a Disable RTC related code on platforms without a functional RTC 2021-01-01 18:58:35 +01:00
Federico Amedeo Izzo 8163eba67b Add MD-9600 support, boot and USB serial working 2021-01-01 18:32:50 +01:00
Silvano Seva a8b18b68d7 Mapped DM1801 VFO/MR button to KEY_F3 and A/B button to KEY_F4 2021-01-01 18:00:51 +01:00
Silvano Seva 7cc4b36907 Suppressed some compiler warnings 2021-01-01 17:31:42 +01:00
Silvano Seva 8b6f4e3056 Renamed rtc_shutdown() and toneGen_shutdown() to rtc_terminate() and toneGen_terminate() 2020-12-31 18:31:00 +01:00
Silvano Seva 142d6e90b9 In all the platforms having it, added RTC initialisation to platform_init() 2020-12-31 17:55:04 +01:00
Federico Amedeo Izzo 418fec0ac9 Platform: Fix wrong VHF high limit 2020-12-31 15:06:50 +01:00
Federico Amedeo Izzo 7a9135d746 Platform: Add frequency limit check 2020-12-31 14:51:19 +01:00
Federico Amedeo Izzo d4bc1bbd9c RTC: Fix Linux RTC driver date format 2020-12-28 16:02:41 +01:00
Niccolò Izzo c77cc46fb6 Fix include syntax
Interface header includes have acquired the interface prefix, to
distinguish them from regular header includes.
2020-12-24 16:30:13 +01:00
Silvano Seva f38ce61dc9 ADC driver for GDx targets 2020-12-22 15:29:32 +01:00
Silvano Seva 0f09504453 Integrated MK22FN512xx USB VCOM driver with stdio system 2020-12-22 12:16:01 +01:00
Silvano Seva 498109a672 Second cleanup pass to MK22FN512xx USB VCOM driver sources 2020-12-22 11:05:50 +01:00
Silvano Seva 83d438ec15 USB VCOM for MK22FN512xx targets almost ready 2020-12-22 09:06:03 +01:00
Silvano Seva 4d4a561345 First cleanup pass to USB VCOM sources 2020-12-21 21:55:37 +01:00
Silvano Seva 626d710151 Initial USB VCOM driver 2020-12-21 21:36:22 +01:00
Silvano Seva 4f34822db2 Implemented backlight dimming for GD77 and DM-1801 targets 2020-12-21 12:55:34 +01:00
Silvano Seva 7b442047ec Increased MK22FN512xx clock frequency to ~120MHz 2020-12-21 11:08:17 +01:00
Silvano Seva 18709607b3 Board support package for Radioddity DM-1801 2020-12-20 15:14:50 +01:00
Silvano Seva 85a41a5ca7 On MDx targets made the ADC DMA trasfer priority higher than the DMA framebuffer one to avoid ADC overruns due to the ADC DMA transfer being suspended by the framebuffer ones 2020-12-19 21:57:43 +01:00
Federico Amedeo Izzo 1f6bfa4cff RTX: Remove printf from UV3x0 RTX stub, fixes issue #9 2020-12-19 16:46:00 +01:00
Niccolò Izzo d56fafe1a2 Merge graphics_* into a single compilation unit
The specialized graphics libraries ended up sharing the majority of the
code, now they have been merged into a single library so that the
graphics development can be done quicker without leaving any of the
platforms behind.
2020-12-19 12:49:30 +01:00
Silvano Seva f0862abac1 On MD3x0 baseband, fixed PLL going nuts for some frequencies (e.g. 430.0MHz) and causing the radio transmitting on a shifted band. 2020-12-19 10:12:05 +01:00
Silvano Seva 1f8840b3ca Reorganised and cleaned up GD77 BSP files 2020-12-18 18:28:47 +01:00
Silvano Seva 431d445c77 Adding stub RTX driver for GDx devices 2020-12-18 17:16:08 +01:00
Federico Amedeo Izzo 599569f236 Add UV3x0 RTX stub 2020-12-17 22:18:09 +01:00