Silvano Seva
98ab11d7a9
Added Codec2 dependency as meson subproject
2021-09-03 15:46:13 +02:00
Niccolò Izzo
110a922534
Add radio_tool as a submodule
...
Now radio tool is checked out, compiled and used as a submodule,
removing the need of installing it as an external dependency and
ensuring consistency in the tool version.
2021-08-26 08:22:30 +02:00
Silvano Seva
f3c6e92911
Driver for input audio stream on MDx
2021-08-25 18:34:41 +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
4d68f02ab4
Updated documetation for radio.h API, removed old baseband C source files.
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
e7b48b14a5
Updated radio driver stub for linux platform
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
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
Niccolò Izzo
e3a128f035
Add DSP code with DC removal and FIR PWM filter compensation
...
Add generic FIR implementation, specialized to compensate the PWM filter
applied by STM32 targets when modulating M17 signal.
Add DC bias compensation to normalize audio signal received from STM32
ADC.
TG-85 #ready-for-test
TG-199 #ready-for-test
2021-04-16 09:46:32 +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
c0ecf2e13f
Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61
2021-04-12 19:10:13 +02:00
Silvano Seva
60defbedc0
Implemented stack and heap memory profiling functions. TG-47
2021-04-12 12:03:15 +02:00
Federico Amedeo Izzo
58f4f5dcaf
Print git commit or tag inside Info menu
2021-04-11 09:56:46 +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
f9570f3636
Temporary hand-filled hwInfo for MD-9600
2021-04-10 12:16:20 +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
c804223fcd
Reorganised meson.build
2021-04-10 11:56:41 +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
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
Niccolò Izzo
f2f7f6dd51
Embedded OpenGD77 wrapping and flashing scripts
2021-03-24 12:09:49 +01:00
Federico Amedeo Izzo
fc65891a29
Renamed target `mduv380` to `mduv3x0 to be consistent with `md3x0`
2021-03-21 18:26:53 +01:00
Federico Amedeo Izzo
e83cc7f849
Remove `mduv380g` target, it is a duplicate of `mduv380`
2021-03-21 09:20:46 +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
a5120ffddc
Radio driver for MD-UV3x0 targets
2021-03-20 11:51:35 +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
a02b693843
Made the RTX thread run with the maximum priority on ARM Cortex targets
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
67c41188ab
Created 'lib' folder, containing all the external libraries
2021-02-23 14:00:34 +01:00
Niccolò Izzo
57a1d11228
Fix the weirdest bug in the history of weird bugs
2021-02-17 14:33:53 +01:00
Niccolò Izzo
9aefde7fc7
Add undefined behaviour sanitizer option
2021-02-17 09:52:36 +01:00
Niccolò Izzo
1f9793d268
Complete GPS compass implementation
...
Now the GPS screen compass has a needle, which point to the current
movement direction.
2021-02-13 12:43:48 +01:00
Silvano Seva
6578422c9d
Main stack size is automatically increased to 4kB when a test suite is compiled
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
9b9c521459
GPS driver for MD-3x0 targets
2021-02-04 09:57:43 +01:00
Niccolò Izzo
7192659899
Add minmea integration for GPS data decoding
...
Added a platform test to decode NMEA sentences received from GPS modules
in the MD3x0 GPS radios.
2021-02-03 22:51:44 +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
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
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
bcf2aa636c
Final cleanup and renaming of MDx display driver
2021-02-02 11:18:33 +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
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
Federico Amedeo Izzo
571adfaabf
UI: Move ui_*.c files to ui subfolder
2021-01-10 09:04:53 +01:00
Federico Amedeo Izzo
e23b9bcea6
UI: Move main screen functions to ui_main.c
2021-01-10 09:03:07 +01:00
Federico Amedeo Izzo
e34674151b
UI: Move menu related functions to ui_menu.c
2021-01-09 10:47:18 +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
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
56d56e901f
Driver for MK22FN512xx I2C0 peripheral
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
Niccolò Izzo
2cd9a989fe
Integrate OpenGD77 wrapping and flashing tools into meson
2021-01-01 19:08:55 +01:00
Federico Amedeo Izzo
8163eba67b
Add MD-9600 support, boot and USB serial working
2021-01-01 18:32:50 +01:00
Niccolò Izzo
73c7b74a3a
Add input parsing functions
...
Input parsing functions are moved into input.c/input.h, and currently
contain functions to determine if a number is pressed and to extract the
pressed number.
2020-12-30 15:46:43 +01:00
Federico Amedeo Izzo
692bd970e0
meson.build: Add commented GDx family display emulation
2020-12-27 15:43:02 +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
0f09504453
Integrated MK22FN512xx USB VCOM driver with stdio system
2020-12-22 12:16:01 +01:00
Silvano Seva
498109a672
Second cleanup pass to MK22FN512xx USB VCOM driver sources
2020-12-22 11:05:50 +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
424d337442
Added compilation of (mock) RTC driver for MK22FN512 MCU, was left behind in previous commit
2020-12-18 21:54:34 +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
Niccolò Izzo
e0d5d8278d
Add file to fix building error in FM test
2020-12-11 15:15:28 +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
409bd0f9d0
Fixed errors in 'meson.build'
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
Niccolò Izzo
d8c81dcabb
Include the correct graphics implementation
...
Now meson chooses the correct graphics implementation according to the
selected keyword in the defines array.
2020-12-06 17:08:58 +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
eaaaca648b
Support package for Radioddity GD77
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
Niccolò Izzo
e3285fee10
Add platform test compilation options
2020-11-27 12:49:39 +01:00
Niccolò Izzo
3310b5f730
Add memory size info linker flag
2020-11-27 12:23:59 +01:00
Federico Amedeo Izzo
f7b1423053
UI: Fix uint32_t frequency printing
2020-11-26 16:53:17 +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
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
e690a36dd1
Implemented NVM interface API also for MD-UV3x0 targets
2020-11-24 12:41:20 +01:00
Silvano Seva
8ddebef197
Dumping security registers of MD-UV380
2020-11-24 12:41:20 +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
e917738516
Add initial emulator implementation
2020-11-17 15:44:06 +01:00
Niccolò Izzo
91d0e05af7
Replace OpenGD77 fonts with Adafruit GFX fonts
...
OpenGD77 custom binary font format was replaced with Adafruit GFX
library standard font format, to be able to reuse all the available
fonts, together with the relative tools.
2020-11-17 14:42:23 +01:00
Silvano Seva
b06b120148
Reorganising thread structure, moving thread bodies and thread creation function into a dedicated source file to make overall source code more easily readable
2020-11-15 22:23:32 +01:00
Silvano Seva
793a2dcd52
Adding build target for Tytera MD-390 radio
2020-11-13 16:57:49 +01:00
Silvano Seva
f7fde110bb
Tone generator for CTCSS and user interface 'beep' on MD380
2020-11-13 14:31:43 +01:00
Niccolò Izzo
d261f3e8fe
Add optional AddressSanitizer
2020-11-13 12:38:59 +01:00
Silvano Seva
eb876f1b0c
Fixed bad clock tree configuration for STM32F405 MCU
2020-11-13 12:27:07 +01:00
Silvano Seva
a5eeca7dae
Moving ADC driver for MDxx380 family to common drivers folder.
2020-11-13 08:58:10 +01:00
Niccolò Izzo
6445eb0950
Move selection of linker script in meson.build
...
Now the linker script was moved from cross_arm.txt into meson.build, so
that the same cross_arm.txt can be used for both the MD380 and the GD77.
2020-11-12 22:10:13 +01:00
Federico Amedeo Izzo
c0e4115482
UI: Add clock to top bar, add rtc.c for Linux
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
a36fbc97a1
Default linux simulation to color display
2020-11-03 15:15:36 +01:00
Silvano Seva
71e41ec869
Refining meson.build structure for better readability and source management
2020-11-03 15:15:36 +01:00
Fred
3d1f255d46
Add keyboard implementation for linux
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
a2b2b602dd
Add initial UI main
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
Federico Amedeo Izzo
adb4995653
MD-UV380: Separate target from MD380, add platform.c code
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
Silvano Seva
05f180f596
Implementing the remaining API specified in platform.h for MD380 target
2020-11-03 15:15:36 +01:00
Fred
42704090c9
meson.build: Add main.c to linux_src
2020-11-03 15:15:36 +01:00
Silvano Seva
00d726ddbc
Moved bootstrap code into a dedicated file to improve readability
2020-11-03 15:15:36 +01:00
Silvano Seva
7ff11ff5a3
Fixing compilation issues after having added hwconfig.h and platform.c for MD380 radio
2020-11-03 15:15:36 +01:00
Silvano Seva
beb33ff244
Moved constants for screen dimensions to platform-dependent hwconfig file
2020-11-03 15:15:35 +01:00
Niccolò Izzo
190548a0d0
Improve handling of missing radio_tool dependency
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
41c4dfa0bc
meson.build: Make radio_tool and objcopy optional
2020-11-03 15:15:35 +01:00
Niccolò Izzo
0716d7d78c
Make radio_tool an optional dependency
2020-11-03 15:15:35 +01:00
Niccolò Izzo
02209e4c1a
Add main file stub and display demo
...
Initial MVP of a main file that prints a text on the radio display.
The code is already platform independent, to be ported effortlessly
to any of the supported platforms.
2020-11-03 15:15:35 +01:00
Niccolò Izzo
f6df51c3c3
Rewrite meson.build in a more compact form
2020-11-03 15:15:35 +01:00
Niccolò Izzo
4b27cb7db2
Add support for wrapping and flashing through meson
2020-11-03 15:15:35 +01:00
Niccolò Izzo
8e92a81115
Add wrapping and flashing capabilities to build system
...
Now the meson build system is able to wrap and flash supported radios,
wrapping targets will be called openrtx_MODEL_wrap and flashing targets
will be called openrtx_MODEL_flash.
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
72d739b987
Import OpenGD77 font
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
Niccolò Izzo
6420d2b2c1
Add TYT MD380 build target
...
Add meson cross-compilation configuration for building for the TYT
MD-380 and MD-UV380 radios.
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
94bece00c0
add graphics_rgb565.c to linux target, fixed compilation errors
2020-11-03 15:15:35 +01:00
Niccolò Izzo
3a4ef7501a
Add meson build system
2020-11-03 15:15:35 +01:00