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
Fred
de6fa813af
Move assets folder and add splash screen gif
2020-11-19 12:31:28 +01:00
Fred
610da21013
Fix emulator compilation errors
2020-11-17 21:58:24 +01:00
Federico Amedeo Izzo
fc3ee1d6ed
emulator.h: Remove not needed SDL_image dependency
2020-11-17 18:00:38 +01:00
Fred
e917738516
Add initial emulator implementation
2020-11-17 15:44:06 +01:00
Silvano Seva
85a89d1f84
Doubled the prescale value of all the timers, since they run at twice the frequency of the bus they are connected to
2020-11-16 18:03:02 +01:00
Silvano Seva
01ee477b02
Workaround for an STM32F405 bug causing a delay between an RCC peripheral clock enable and the effective peripheral enabling, as described in ST's silicon errata sheet
2020-11-16 11:24:52 +01:00