Commit Graph

183 Commits

Author SHA1 Message Date
Silvano Seva 036f74c69e Removed call to rtc_terminate inside MDx platform_terminate, as this freezed RTC on radio power off 2021-11-12 22:46:11 +01:00
Silvano Seva 691b388228 Implemented load/save of settings and VFO configuration for MDx devices 2021-11-09 19:28:23 +01:00
tarxvf 588265fa3d astyle applied to try and match current OpenRTX style - just doesn't work on the header block 2021-11-03 19:20:42 +01:00
tarxvf f451ff8aae unused args cast to void instead of __attribute__ 2021-11-03 19:20:42 +01:00
tarxvf 3ded05a6dc update the linux emulator scriptability for the knob values 2021-11-03 19:20:42 +01:00
tarxvf 45228e226e just the emulator shell broken out 2021-11-03 19:20:42 +01:00
Silvano Seva 5113a39f2a Enabled M17 support also in MD-UV3x0 radio driver 2021-09-21 12:02:32 +02:00
Silvano Seva 92ea1535ff Moved definition of 'PLATFORM_LINUX' macro from hwconfig to meson.build, added '-std=c++14' compilation flag to compile arguments for linux platform, added missing includes to M17Utils.h 2021-09-03 16:44:57 +02:00
Silvano Seva 9650ff5925 Removed macro disabling by default the USB virtual COM port, which is now permanently enabled. 2021-08-26 10:22:55 +02:00
Silvano Seva a7acc3301b Modified 'platform_getVbat' API: now it returns an uint16_t value containing the battery voltage in millivolt 2021-08-14 12:47:21 +02:00
Silvano Seva 8e0a5d1c0f Made 'platform_getVolumeLevel' and 'platform_getMicLevel' API functions return a normalised 8 bit value ranging from 0 to 255 (TG-293 #closed) 2021-08-14 10:18:55 +02:00
Federico Amedeo Izzo c69c2be478 Fixed external microphone sticky PTT button on MD-UV380 2021-08-14 10:02:34 +02:00
Federico Amedeo Izzo 07e1f28f79 Fix sticky PTT button on MD-UV380 by removing double initialization of PTT_SW gpio. 2021-08-11 20:53:54 +02:00
Silvano Seva b80ddc1145 Implemented reading of PTT status from external microphone on MD-3x0 and MD-UV3x0 2021-07-10 21:52:15 +02:00
Federico Amedeo Izzo a8b838bd47 On Linux target emulate PTT button with P key 2021-07-08 20:24:27 +02:00
Federico Amedeo Izzo 1f74c0abb7 Add `VCOM_ENABLED` define to disable VCOM that is currently broken 2021-06-06 10:13:51 +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
Federico Amedeo Izzo c653535e68 Remove old band and limits defines, now replaced by hwInfo_t 2021-06-05 11:27:20 +02:00
Federico Amedeo Izzo f5c9d97e49 Check frequency limits against hwInfo_t, not hardcoded defines 2021-06-05 10:47:52 +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
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
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 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 e46c77a300 Enabled ADC and NVM manager 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 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 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 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 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
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
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 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
Federico Amedeo Izzo dc5739b8bc Fix GD-77 SPI flash pinout to make flash working 2021-03-01 20:54:00 +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
Niccolò Izzo 4d66d8b1af Fix various warnings 2021-02-17 11:21:46 +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 845d0b8a7d Reduce RTX and Platform verbosity on Linux, add missing newline in RTX 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
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
Federico Amedeo Izzo 83d91b555d Add hwInfo in Info menu 2021-02-02 21:45:10 +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 88387ee00d Renamed 'GD77' folder to 'GD-77' to correctly match the device name 2021-02-01 15:55:45 +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 0b98f50a12 Add absolute knob positioning and horizontal keys emulation 2021-01-28 14:14:25 +01:00
Silvano Seva 41a413cfdd RTX support for GD77 target 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 9802bc4e75 Started implementation of baseband drivers for GDx platforms 2021-01-24 18:59:12 +01:00
Silvano Seva 8010302d4d Tone generator and GPIO for audio control on MD-UV380 platform 2021-01-04 20:53:42 +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 48775a71fd Finalising merge of branch master into GDx-development 2021-01-02 15:17:15 +01:00
Silvano Seva ff7216e9cd Driver for AT24Cx external EEPROM present on GDx devices 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
Federico Amedeo Izzo b74dba7564 Differentiate MDUV380G target from MDUV380 2021-01-02 12:08:58 +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 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
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 4f34822db2 Implemented backlight dimming for GD77 and DM-1801 targets 2020-12-21 12:55:34 +01:00
Silvano Seva 18709607b3 Board support package for Radioddity DM-1801 2020-12-20 15:14:50 +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 1f8840b3ca Reorganised and cleaned up GD77 BSP files 2020-12-18 18:28:47 +01:00
Silvano Seva 0d5a703521 Began integrating RTX driver with all the other code 2020-12-13 11:44:07 +01:00
Niccolò Izzo 41ec005680 Implement battery voltage to charge conversion
Voltage to charge nonlinear function is being linearly approximated in
the operating range.
2020-12-11 14:09:36 +01:00
Silvano Seva 2f05bbc6ff Added compilation of MD3x0 rtx source files to MD390 target 2020-12-06 19:49:10 +01:00
Silvano Seva 0fee5acbf0 Complete refactoring of both rtx API and its implementation for MD3x0 platforms 2020-12-06 19:33:27 +01:00
Silvano Seva 55b182406d Initial implementation of rtx driver for TYT MD-380 radio, by now supporting only analog FM reception 2020-12-06 19:33:27 +01:00
Federico Amedeo Izzo 17376b819a hwconfig: Define MAX_VBAT for MD-UV380 2020-12-06 18:29:38 +01:00
Niccolò Izzo 1ee4744cb7 Improve battery icon drawing implementation
Fix a bug where the signature of the battery draw function was not
present, causing a build error. Now the battery size and position is
screen size independent and should work for all layouts.
2020-12-06 16:22:38 +01:00
Niccolò Izzo f1400ac528 Add battery icon 2020-12-06 16:19:46 +01:00
Fred 41ecb11d3a Add GD77 keyboard driver 2020-12-05 15:27:04 +01:00
Fred c096e946a4 Change GD77 display padding and font size 2020-12-04 20:49:04 +01:00
Fred 5d9ac78548 Fix GD77 display driver 2020-12-04 20:39:20 +01:00
Silvano Seva eaaaca648b Support package for Radioddity GD77 2020-12-04 20:39:19 +01:00
Silvano Seva 774468ae46 Added to platform API a function allowing to retrieve device calibration data 2020-12-04 10:45:03 +01:00
Fred 7db1ee28e8 Fix gcc warnings in emulator.c 2020-11-29 13:29:11 +01:00
Silvano Seva 50771c8bbe Moved macro for compile-time definition of the current target from per-target 'hwconfig.h' files to meson.build 2020-11-24 17:39:19 +01:00
Silvano Seva 7a6f39ad26 Added NVM driver compilation for all the MDx family devices and reorganised the platform test printing the calibration, now merged into one single file for all the MDx devices. 2020-11-24 15:42:57 +01:00
Silvano Seva 8ddebef197 Dumping security registers of MD-UV380 2020-11-24 12:41:20 +01:00
Silvano Seva 310f19c6b7 API to access external nonvolatile memory, implementation for MD3x0 devices and testsuite for printing calibration values of MD3x0 devices 2020-11-21 09:37:12 +01:00
Silvano Seva 1cf2a40182 Changed names of source files for MDx drivers to comply to new naming convention 2020-11-19 18:24:28 +01:00