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
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
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
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
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
41e6c1d1e6
Added flags to enable TX and RX tones in rtxStatus_t
2021-01-04 08:58:17 +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
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
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
8b6f4e3056
Renamed rtc_shutdown() and toneGen_shutdown() to rtc_terminate() and toneGen_terminate()
2020-12-31 18:31:00 +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
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
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
Federico Amedeo Izzo
99bd45d465
Add linux RTX stub
2020-12-14 15:31:39 +01:00
Silvano Seva
4f0ffe8565
Improved message passing mechanism for rtx driver configuration
2020-12-13 09:17:08 +01:00
Silvano Seva
6ca3faceaf
Made calls to 'display_renderRows' and 'display_render' blocking, thus not requiring anymore to busy wiat on 'display_renderingInProgress'. Modifications involved only MDx display driver, the others were already blocking.
2020-12-12 10:16:26 +01:00
Fred
1a11ff8401
Optimize libSDL driver for RGB565
2020-12-11 14:41:44 +01:00
Silvano Seva
47dd9e2046
Fixed glitching keyboard buttons on MDx targets
2020-12-11 14:41:44 +01:00
Silvano Seva
bb53b5ccef
Added squelch system to MD3x0 rtx driver
2020-12-06 19:33:27 +01:00
Silvano Seva
2c0b75b221
Added CTCSS TX tone
2020-12-06 19:33:27 +01:00
Silvano Seva
41d09ce28e
Cleaned up HR_C5000 driver source file
2020-12-06 19:33:27 +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
6e144a7160
Fixed bug in MD3x0 calibration loader, made the input parameters of 'interpCalParameter' const
2020-12-06 19:33:27 +01:00
Silvano Seva
b1412dedb8
Added 'OSIntEnter'/'OSIntExit' to MDx tone generator ISR
2020-12-06 19:33:27 +01:00
Silvano Seva
aa0e1f479e
Fixed error in function to set HR_C5000 modulation bias, merged rx and tx testsuites for MD380
2020-12-06 19:33:27 +01:00
Silvano Seva
29f5b82488
Refactoring code of HR_C5000 driver, adding documentation and sharpening its API.
2020-12-06 19:33:27 +01:00
Silvano Seva
bd9a258541
More refactoring of HR-C5000 driver, cleaning up command sequences
2020-12-06 19:33:27 +01:00
Silvano Seva
88ea167804
Began refactoring of HR-C5000 driver
2020-12-06 19:33:27 +01:00
Silvano Seva
46f68ebca6
First skeleton of a driver for HR-C5000 and made TX working on TYT MD-380
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
Fred
41ecb11d3a
Add GD77 keyboard driver
2020-12-05 15:27:04 +01:00
Fred
0d437b239d
Add GD77 keyboard file
2020-12-04 20:39:20 +01:00
Fred
5d9ac78548
Fix GD77 display driver
2020-12-04 20:39:20 +01:00
Silvano Seva
8762a9e3a8
Display driver for GD77, still work in progress
2020-12-04 20:39:19 +01:00
Silvano Seva
d4cdba2243
Moved calibration data structures from 'platform/drivers/NVM' to 'openrtx/include/calibration', since various modules need them
2020-12-04 10:27:04 +01:00
Federico Amedeo Izzo
efc4820328
Keyboard: Replace uint32_t with keyboard_t
2020-11-28 09:51:18 +01:00
Silvano Seva
3bb7e2cfd4
Moved to static allocated framebuffer and USB vcom rx buffer
2020-11-27 22:34:25 +01:00
Silvano Seva
4dbdb5ddbb
Implemented reading of channel data from external flash memory for MDx targets
2020-11-25 16:40:17 +01:00
Silvano Seva
83f375c675
Merged MD3x0 and MDUV3x0 calibration data structures into a single header file for MDx family
2020-11-25 13:57:36 +01:00
Silvano Seva
8b60ad83b4
Added sample averaging to MDx ADC driver
2020-11-25 10:26:53 +01:00
Silvano Seva
8efbfab6e1
Fixed parsing errors in MD-UV3x0 calibration data loader
2020-11-24 12:41:20 +01:00
Silvano Seva
e690a36dd1
Implemented NVM interface API also for MD-UV3x0 targets
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
9b14e9fae7
Low-level driver for external SPI flash memory on MDx family devices
2020-11-20 14:47:52 +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
Silvano Seva
552a88ed4c
Reorganising includes in MDxx380 tone generator source file
2020-11-19 12:53:13 +01:00
Federico Amedeo Izzo
a58eaa2a08
keyboard_linux.c: add kbd_init() implementation to fix compilation on Linux
2020-11-16 21:29:10 +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
Silvano Seva
89e822813b
Adding the remaining part of issue #5 fix, forgot in the previous commit
2020-11-15 21:16:49 +01:00
Silvano Seva
72988cd5cf
Fix for both issue #5 and a bug in keyboard driver leading to undetected keypresses in some cases
2020-11-15 20:38:28 +01:00
Silvano Seva
793a2dcd52
Adding build target for Tytera MD-390 radio
2020-11-13 16:57:49 +01:00
Silvano Seva
9458fd252b
Moving to a general flag for x-axis mirroring in MDxx380 display driver
2020-11-13 16:32:57 +01:00
Silvano Seva
f7fde110bb
Tone generator for CTCSS and user interface 'beep' on MD380
2020-11-13 14:31:43 +01:00
Silvano Seva
a5eeca7dae
Moving ADC driver for MDxx380 family to common drivers folder.
2020-11-13 08:58:10 +01:00
Fred
f10a6e426c
Improve SDL keyboard event handling
2020-11-11 11:01:27 +01:00
Silvano Seva
b4b3b3fa5a
Fixing screen orientation for MD380
2020-11-03 22:46:58 +01:00
Fred
9f9b76e9b5
Make the SDL window resizable
2020-11-03 15:15:36 +01:00
Fred
3d1f255d46
Add keyboard implementation for linux
2020-11-03 15:15:36 +01:00
Silvano Seva
b0f5341304
Added flag for 'monitor' button to keyboard driver, implemented 'monitor' and 'function' buttons in MDxx380 keyboard driver
2020-11-03 15:15:36 +01:00
Silvano Seva
9a94efb1c7
Keyboard driver for MD-380 and MD-UV380
2020-11-03 15:15:36 +01:00
Silvano Seva
bf3488def8
Improved check for rendering in progress in HX83XX display driver, now both chip select and DMA enable bit are verified
2020-11-03 15:15:36 +01:00
Silvano Seva
69c96c1d81
Renamed source file of display driver for MD-380 and MD-UV380
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
6b0f0242d1
Remove screenWidth and screenHeight getters.
2020-11-03 15:15:36 +01:00
Silvano Seva
ba40d5f70f
Moving GPIO definitions to hwconfig.h
2020-11-03 15:15:36 +01:00
Silvano Seva
9b20e5010c
Made gpio API completely platform independent
2020-11-03 15:15:35 +01:00
Silvano Seva
beb33ff244
Moved constants for screen dimensions to platform-dependent hwconfig file
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
c3ef0ca036
Remove backlight control from anywhere except platform.c and platform.h
2020-11-03 15:15:35 +01:00
Silvano Seva
06346ac827
Moving function for setting display backlight level from display driver to 'platform.c' file
2020-11-03 15:15:35 +01:00
Niccolò Izzo
4a27aadcc2
Fix typo
2020-11-03 15:15:35 +01:00
Silvano Seva
e5decb7244
Fixed endianness reordering in MD380 display driver, now it reorders only the lines to be rendered instead of the whole framebuffer
2020-11-03 15:15:35 +01:00
Silvano Seva
bdb59a3ff9
Adapting MD380 display driver to uC/OS-III, making little code reorganisation and embedding endianness reordering into display_render()
2020-11-03 15:15:35 +01:00
Silvano Seva
b9517e5867
Adding support for 8bpp grayscale and 1bpp black/white pixel formats to SDL-based display emulator, keeping 16bpp RGB565 as the default one.
2020-11-03 15:15:35 +01:00
Silvano Seva
638707a6aa
Renamed 'lcd.h' to 'display.h' and updated the function names for low-level display driver.
2020-11-03 15:15:35 +01:00
Silvano Seva
f043581928
Making the interface for low-level display drivers more general: now the pointer to framebuffer is returned as void *. Updated existing drivers and test code accordingly.
2020-11-03 15:15:35 +01:00
Silvano Seva
b2d613f38b
Improved lcd_terminate function in SDL-based lcd driver
2020-11-03 15:15:35 +01:00
Silvano Seva
2cfca62b00
Driver for SDL-based display emulator, updated lcd.h documentation
2020-11-03 15:15:35 +01:00
Silvano Seva
564c7b94d9
Added missing folder
2020-11-03 15:15:35 +01:00
Silvano Seva
327d8c193c
Start migrating code from previous work
2020-11-03 15:15:35 +01:00