Silvano Seva
83f4e1584a
STM32: added function to retrieve the clock frequency of APB/AHB busses
2024-10-08 18:30:31 +02:00
Silvano Seva
9ff6375c18
GDx: merged the GD-77 and DM-1801 targets into a common "GDx" one
...
Radioditty GD-77 and Baofeng DM-1801 radios are 99.9% equal, the only
difference being the assigment of a few gpio pins.
2024-10-02 09:37:53 +02:00
Marc Balmer
644ffb5580
Linux: removed dependency from pulse-simple
2024-09-22 18:25:39 +02:00
Silvano Seva
e95b5bbb6f
Linux: fixed compilation errors due to missing gpio-native.h header file
2024-06-23 09:39:43 +02:00
Morgan Diepart
b5e49a3b4d
Module17: reorganized display drivers, implemented dynamic selection of display driver
2024-06-21 19:26:32 +02:00
Morgan Diepart
caf3225a87
Driver for CAP1206 capacitive touch controller
2024-06-21 19:26:11 +02:00
Silvano Seva
40780af16d
Module17: using standard ADC driver
2024-06-21 19:26:03 +02:00
Morgan Diepart
7052dbcf8b
Module17: use hardware I2C for MCP4551
2024-06-21 18:09:53 +02:00
Silvano Seva
b196ce9cbc
Driver for bitbanged SPI on MCU gpios
2024-06-21 18:00:33 +02:00
Silvano Seva
539d1b45f6
STM32F4xx: driver for ADC peripherals
2024-06-21 18:00:33 +02:00
Silvano Seva
8fff2e7361
Driver for STM32F4xx SPI peripherals
2024-06-21 18:00:33 +02:00
Morgan Diepart
07ee9a3369
Driver for STM32F4xx I2C peripheral
2024-06-21 18:00:33 +02:00
Marco
36ef3b310c
Added function to convert minmea coordinate to fixed-point integer representation
2024-04-10 08:04:26 +02:00
Niccolò Izzo
7aa9385ec3
Fix build on T-TWR Plus
...
Whenever one is building T-TWR Plus without having built other targets
previously, we ensure that the codec2 sources are in place.
2024-02-09 09:06:57 +01:00
marco
31d9b909f7
Allow git commit as version
...
At the moment the github action actifacts have no version listed on the info screen.
We use the `--always` flag, as yhis allows `git describe` to show only the commit if nothing else is available.
2024-02-06 19:30:54 +01:00
Silvano Seva
1791e70eef
Using newlib-specific sniprintf in place of snprintf
...
Using the newlib's printing functions without floating point support in order
to reduce the overall binary size. This allows to free up around 15kB of space
in the .text section.
2024-02-06 19:19:44 +01:00
Silvano Seva
8bc867beae
Using Kconfig-style #defines for GPS, RTC and knob type description
2024-02-01 11:07:20 +01:00
Silvano Seva
0f4290cdfe
Using Kconfig-style #defines for display parameters' description.
2024-02-01 11:07:20 +01:00
Morgan Diepart
7b48d2bc28
Fix meson setup for windows
...
cp does not exist on windows but xcopy does.
2024-01-17 21:54:26 +01:00
marco
7a31dfba3d
Configured linux target for Module17 emulation similar to a Module17 rev. 0.1e
2024-01-09 12:36:23 +01:00
marco
0e6473f95e
meson.build: created three separate linux targets for different build configurations
2024-01-09 12:36:14 +01:00
Silvano Seva
0363825c1a
meson.build: fix linker error on unit tests
...
Append the sources of the main entrypoint only when defining the build
targets for the executables. This avoids having the symbol for main()
defined twice when building the unit tests.
2023-12-24 10:48:41 +01:00
Silvano Seva
916337e3d7
Refactored meson.build
2023-12-19 21:17:20 +01:00
Silvano Seva
419d02a203
Linux NVM: updated implementation to use the new standard API
2023-12-03 19:00:55 +01:00
Silvano Seva
096da4102d
Utility functions to perform read/write/erase operations on NVM areas and partitions
2023-12-03 19:00:55 +01:00
Silvano Seva
8040a012b4
Driver for file-based audio input device
2023-11-12 12:34:37 +01:00
Silvano Seva
12e2a0f18b
Linux: added garbage collection of unused .text and .data sections at link time
2023-11-05 18:27:29 +01:00
Silvano Seva
7dc2ca5524
Driver for random number generator peripheral
2023-11-02 18:36:07 +01:00
Silvano Seva
1035c2b801
Updated version number in meson.build
2023-10-23 18:30:14 +02:00
Niccolò Izzo
b4c8fca767
Implemented uf2 image wrapping for T-TWR Plus
...
T-TWR Plus target now produces images in UF2 format.
This format is compatible with bootloaders such as tinyuf2, and future
releases of the hardware will come pre-flashed with tinyuf2, thus
flashing them will not requires any other dependency than the uf2 file
itself.
TG-553
2023-10-18 11:27:43 +02:00
Niccolò Izzo
e939218001
Integrate west manifest to facilitate Zephyr build
...
Add west manifest contributed by edgetriggered to allow automated
cloning of the correst Zephyr revision.
Now codec2 dependency is enabled also for T-TWR build, enabling to build
it from scratch without first building a Miosix target.
Enabled non-cross build to use codec2 compiled sources.
2023-10-09 09:23:45 +02:00
Niccolò Izzo
7c09f7d2b0
Add meson wrapper to build Zephyr targets
...
Now zephyr build process can be invoked from meson by running:
- meson setup build
- meson compile -C build openrtx_ttwrplus
TG-553
2023-09-25 14:31:15 +02:00
Federico Amedeo Izzo
c5a63d8767
Add XPowersLib meson subproject
2023-09-20 21:08:35 +02:00
Silvano Seva
344aa46da7
Audio devices table for MDx
2023-08-30 18:04:25 +02:00
Silvano Seva
2b1d3236d3
Audio devices table for Module17
2023-08-30 18:04:25 +02:00
Silvano Seva
24208db609
New unified audio stream manager
2023-08-30 18:04:25 +02:00
Ryan Turner
ec57e74bc6
feat(ui): add tooling to generate symbols, add GPS status icon and macro latch icon to the macro menu
...
Ref https://github.com/OpenRTX/OpenRTX/issues/161
2023-08-24 09:32:01 +02:00
Ryan Turner
29b6eb08ff
chore(test): fix unit tests and explore a github workflow
2023-08-17 12:16:13 +02:00
k5jae
c1a9db22b7
Made Brightness setting optional based on HW capabilities
2023-08-16 20:46:25 +02:00
Silvano Seva
4cd1fdfcf3
Moved gpio.h to peripherals
2023-07-21 19:27:14 +02:00
Silvano Seva
dcafd07085
Created "peripherals" include folder for non-mandatory drivers, moved rtc.h to peripherals folder.
2023-07-21 08:23:41 +02:00
Silvano Seva
e93666a515
Implemented mic gain setting based on UI for Module 17
2023-05-29 22:12:40 +02:00
Silvano Seva
d8c4ba4420
Base sources for Module 17 UI
2023-05-29 22:12:40 +02:00
Silvano Seva
76ded06751
Split UI sources in a default one for the radios and the Module17 one.
2023-05-29 22:12:40 +02:00
Silvano Seva
4a3bc93fa4
Always send an M17 EOT frame as the last frame before terminating baseband output
2023-03-12 16:27:31 +01:00
Silvano Seva
49c6cbd7c0
Added implementation of soft-decision Viterbi decoder for M17 protocol, updated version number in meson.build
2022-11-11 22:04:34 +01:00
Silvano Seva
714a0dd331
Implemented audio path management API in linux audio driver
2022-10-28 09:47:47 +02:00
Silvano Seva
6d9ad2b947
Implementation of audio path manager
2022-10-28 09:47:47 +02:00
Silvano Seva
d0d603901e
Implemented storage of voice prompts data inside the binary executable image. Voice prompts data is placed in .rodata section at link time
2022-10-28 08:30:46 +02:00
Silvano Seva
5840f459fa
Renamed UIStrings.h/.c to ui_strings.h/.c and refactored their content
2022-10-28 08:30:46 +02:00
Niccolò Izzo
8eca684a7d
Voice prompts bugfixes:
...
- added missing initialization of codec2 in voice prompts code
- discarding the voice prompt header as we only support 3200 bit rate
- fixed wrong offset in pick vpQueueStringTableEntry
- fixed bug in vpInit causing voiceprompts to hang
2022-10-28 08:30:46 +02:00
vk7js
fd5c5b4979
Got voice prompts code compiling. (certain blocks are commented out until we get codec2 decode figured out).
2022-10-28 08:30:46 +02:00
vk7js
901db10c87
Next round of changes to add literals to string table and voice prompt wordlists.
2022-10-28 08:30:46 +02:00
Niccolò Izzo
081b19e52c
Implemented output audio stream driver for linux.
...
Implement outputStream backend on linux using Pulseaudio simple API.
TG-250
2022-10-28 08:30:46 +02:00
Silvano Seva
5093545c58
Removed tinyusb dependency from meson.build
2022-10-19 14:40:44 +02:00
Fred
28408fbdf8
Add Mod17 to nightly builds
2022-09-27 22:35:50 +02:00
Niccolò Izzo
6a9ce50f6b
Usability improvements
...
Remove DMR from macro menu until we actually support it.
Remove print of M17 source callsign
Bank and channel visualization is more compact to make room for
additional data on a single screen.
Refactor mode screen to fit all data into a single screen.
2022-09-27 22:35:50 +02:00
Silvano Seva
b861beb0e6
Compiling miosix kernel from sources instead of linking against a pre-build image
2022-09-08 09:11:00 +02:00
Silvano Seva
d11bb903b1
Made public the M17Modulator.stop() function, added macro to enable the transmission of an M17 EOT frame (disabled by default).
2022-08-28 12:00:36 +02:00
Silvano Seva
a22aceb576
Reorganized code for M17 transmission: removed M17Transmitter class, use M17FrameEncoder to assemble LSF and data frames, modified API of M17Modulator class.
2022-08-28 11:59:31 +02:00
edgetriggered
a5a0de1428
UI: Build time font selection
2022-08-15 08:17:37 +02:00
Silvano Seva
1bb574c4fa
Reorganised graphics module and moved graphics.h from interfaces to core folder
2022-07-18 21:30:43 +02:00
Silvano Seva
073440ef1a
Removed unnecessary build dependencies when project is being configured for linux target
2022-07-18 18:48:26 +02:00
Alain Carlucci
1d48e5e3e0
Implementation of linux input stream driver
2022-07-10 10:59:45 +02:00
Silvano Seva
d39783af2f
Moved libc implementation of CPS I/O interface to drivers folder
2022-07-02 10:47:19 +02:00
Silvano Seva
d16eb04696
Reorganised data structures and functions to manage date and time
2022-07-02 10:28:28 +02:00
Silvano Seva
8accc3b8b6
Replaced bin2sgl linux binary with a version statically linked with the libc, added missing wrap and flash commands for DM-1801
2022-06-17 12:44:38 +02:00
Silvano Seva
8b5b6ed571
Moved OpenRTX startup code from main.c to dedicated openrtx_init() and openrtx_run() functions in a separate source file.
2022-06-02 10:01:34 +02:00
Niccolò Izzo
dc250a25d6
Implement new codeplug interface
...
The new codeplug interface was implemented for linux and retrofitted to
all the existing OpenRTX platforms. Limited unit testing was also
implemented.
TG-428
2022-06-01 15:59:27 +02:00
Silvano Seva
cbd3922325
Cleanup and reorganisation of state header file, new OpenRTX CPS data structure
2022-06-01 15:04:17 +02:00
Silvano Seva
6caf531b85
Updated README, updated version number in meson.build
2022-06-01 10:51:26 +02:00
Silvano Seva
63f4c787c0
Moved helper functions for M17 Golay to a dedicated source file
2022-05-27 21:49:33 +02:00
Silvano Seva
086cb549c7
Stub implementation of output stream driver for linux emulator
2022-05-27 21:48:47 +02:00
Silvano Seva
c7fbd98dc9
Stub implementatio of output stream driver for GDx devices
2022-05-27 21:48:47 +02:00
Silvano Seva
b144657257
Moved CODEC2 management to a dedicated module
2022-05-27 21:48:47 +02:00
Silvano Seva
163a2ef06a
Updated Module 17 output stream driver to support also double buffered mode
2022-05-27 21:48:47 +02:00
Silvano Seva
0df1dc4f7e
Extended output stream API to support also circular double-buffered mode, implemented output stream driver for MDx
2022-05-27 21:48:47 +02:00
Niccolò Izzo
f9c23452bc
Add plotting function to graphics library
...
Added plotting function to graphics library which is native C++, so
refactored the graphics source file to allow that, consequently adapted
the hwconfig header files to be included also in C++ sources.
Propagated compile flags also to C++ sources, including asan what was
previously disabled for C++ compilation units.
TG-81
2022-05-27 21:48:46 +02:00
Silvano Seva
35c1f062c6
Implementation of M17 frame encoder
2022-05-27 21:48:46 +02:00
Silvano Seva
5fbd39959c
Implementation of M17 frame decoder
2022-05-27 21:48:46 +02:00
Niccolò Izzo
3163dd49d7
Add M17 demodulator code and tests
...
Added implementation of the M17 4FSK demodulator, including clock
recovery, phase detection, and quantization algorithms.
A testsuite is also included to do regression testing against a
reference baseband pre-generated and the corresponding reference
bitstream.
A 1% BER is still present due to a fault likely in the RRC filtering,
since the eye diagram of the filtered stream is bad.
TG-81
2022-05-27 21:48:46 +02:00
Silvano Seva
396f66a1f3
Implementation of M17 Viterbi decoder and associated unit test
2022-05-27 21:48:46 +02:00
Niccolò Izzo
876cb87d57
Move rrc filter into separate compilation unit
...
By moving the rrc filter into a separate compilation unit with its own
header file, we can use it both in the modulator and in the demodulator.
2022-05-27 21:48:46 +02:00
Niccolò Izzo
df5a35e843
Adapt M17 Golay Test to Unit Test Infrastructure
2022-05-27 21:48:46 +02:00
Niccolò Izzo
ce10edfb47
Fix GD77 build, add windows tools
...
GD77 build was broken because of missing binary tools, Windows had no
dedicated option for wrapping the GD77 firmware.
TG-303
2022-05-03 12:53:11 +02:00
Silvano Seva
ab3d148449
Implemented activation of external flash backup and restore via menu entries
2022-03-22 15:10:52 +01:00
Silvano Seva
e56cf52f28
Partial implementation of xmodem protocol: function for transmission of xmodem packets and small testsuite for dumping the content of external flash memory via xmodem
2022-03-11 19:28:45 +01:00
Silvano Seva
052580df3a
Implementation of CCITT CRC16
2022-03-05 11:08:31 +01:00
Silvano Seva
b97d1154d5
STDIO redirection to USB virtual COM port disabled by default, can be enabled by defining the ENABLE_STDIO macro
2022-03-05 10:40:41 +01:00
Silvano Seva
3588f351a1
Created 'core' subfolders inside openrtx/include and openrtx/src containing main OpenRTX source files
2022-03-05 10:39:35 +01:00
Silvano Seva
624dca2b97
Renamed macro DISABLE_KEEP_ON to RUNNING_TESTSUITE
2022-03-05 09:09:25 +01:00
tarxvf
9297c08b05
Add a menu for clearing settings and vfo to sane defaults ( #67 )
2022-02-26 12:42:28 +01:00
Silvano Seva
24464a66a8
Integration of tinyusb driver into OpenRTX, old driver still kept active
2022-02-26 12:29:28 +01:00
Federico Amedeo Izzo
8df0ce2f2f
Add tinyusb library as meson subproject, providing USB drivers.
2022-02-26 12:23:27 +01:00
Silvano Seva
3fb93f0a86
Updated CMSIS header files for STM32F4 to version 2.6.7
2022-01-15 14:55:59 +01:00
Silvano Seva
3776b30121
Automatically disabling the power keep switch when running testsuites, as those may never call platform_terminate()
2022-01-03 14:49:25 +01:00
Niccolò Izzo
cc2677f8f9
Add Module17 flashing target
...
Add target openrt_mod17_flash that will invoke dfu-util to flash
Module17.
TG-398
2021-12-28 21:41:24 +01:00
Alessio Caiazza
18fb916834
Remove all tabs
2021-12-23 14:52:25 +01:00
Alessio Caiazza
82699f3d07
Implement an SDL main loop inside the Main Thread
2021-12-23 14:52:25 +01:00
Niccolò Izzo
2fdbf0f236
Initial support for I2C soft pots on Module17
...
Initial support for I2C soft pots on Module17, ADC1 driver for input voltage
reading. Cherry-picked from Mathis DB9MAT repo.
TG-398
2021-12-23 14:52:25 +01:00