Wykres commitów

303 Commity (3d169484e9b6aedef392a6ebf820a4334777964d)

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