Wykres commitów

405 Commity (ade9c47f715f095dfc19465a45a71abe6218865c)

Autor SHA1 Wiadomość Data
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
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