Commit graph

1798 commits

Author SHA1 Message Date
Silvano Seva
ecbd36c729 WIP! Testing codec2 noise gate on CS7k radios 2025-09-28 17:34:36 +02:00
Silvano Seva
98e3434328 core: audio_codec: added noise gate to codec2 audio encoding
Added a noise gate based on signal power: if the normalized signal power
is less than -40dB, the original incoming singal is not encoded.
This feature is activated by the CONFIG_CODEC2_NOISE_GATE macro.

Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-28 17:34:36 +02:00
Silvano Seva
c7459249ee core: dsp: added implementation of a simple energy-based squelch
Added implementation for a power-based squelch equivalent to the GnuRadio
"Power Squelch" block. The envelope filter is implemented using signed
32-bit fixed point math.

Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-28 17:34:31 +02:00
Ryan Turner
00a4dbb063 style: resolve ambiguous paths on include macros
Update meson and cmake config to only include openrtx and platform paths.
Update files to use <..> for system and external libraries, ".." for
project files and new relative paths as necessary.

Did not attempt to fix areas where includes that should be <..> were
previously ".."

Inspired by #96, closes #359.

Acked-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-28 17:27:45 +02:00
Silvano Seva
febcf8831d clang-format: update BreakBeforeBinaryOperators policy
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-28 17:15:48 +02:00
Silvano Seva
c0d8984d09 core: dsp: drop dsp_invertPhase function
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-28 14:12:20 +02:00
Silvano Seva
6db558e89c core: dsp: refactor DC block filter implementation
New DC block filter implementation using fixed-point math and guaranteeing
zero DC component on the output signal.

Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-28 14:12:20 +02:00
Silvano Seva
4b9f75fe81 ui: converted SpanishStrings.h file to Unix line endings
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-22 21:59:07 +02:00
Silvano Seva
d092c51df5 ui: settings: add CTCSS enable to FM settings menu
Added the ability to manage CTCSS enablement via the FM settings menu.
As part of this, refactored the existing instances of setting and
displaying this value on the main vfo screen and on the macro menu.

Acked-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-22 21:55:55 +02:00
imostlylurk
f7e5e45d09 ui: settings: introduce FM settings menu option
This seeks to create a place for settings on the FM mode that complement
the quick actions available from the macro menu. This way as more FM mode
features are added, there is a menu to configure them in.

Co-authored-by: Ryan Turner <ryan@turnrye.com>
Acked-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-22 21:54:26 +02:00
imostlylurk
2df9addccc ui: refactor CTCSS entries in macro menu to be more user friendly
This change makes it so that the macro menu shows the current tone and
change the tone setting with macro 1, then change tone frequency with
macro 2 and 3. This is a clearer UX.

Co-authored-by: Ryan Turner <ryan@turnrye.com>
Acked-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-22 21:51:06 +02:00
Silvano Seva
a30dae357d ui: fix misspelled strings
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
2025-09-21 18:52:08 +02:00
romanat
3add35275c ui: battery: add menu entry to select between icon or percentage 2025-09-18 19:43:08 +02:00
Grzegorz SP6HFE
6aecd2b727 vscode: add DM1701 build target 2025-09-16 21:51:25 +02:00
Peter Buchegger
024a18588d scripts: removed bin2sgl binaries 2025-09-14 14:21:19 +02:00
Peter Buchegger
4b1e2943c9 meson.build: use bin2sgl python script
Resolve #344
2025-09-14 14:21:15 +02:00
Peter Buchegger
7f3991b8f1 scripts: add bin2sgl python script
Converted C program to python script, output binary is identical
2025-09-14 14:14:17 +02:00
Ryan Turner
e1994357f8 ci: create builds using devcontainer
This change makes it so that CI/CD builds against all supported platforms,
utilizing the devcontainer as its environment rather than setting up one
separately. This allows to have the CICD builds and dev local builds more
similar and reduces the maintenance overhead.

Co-authored-by: Peter Buchegger <peter@pbuchegger.at>
2025-09-12 17:20:20 +02:00
Ryan Turner
26b15d46f3 devtools: update devcontainer to reliably execute on amd64 env
This change makes it so that the devcontainer in this project is able to
build and wrap all supported platforms. There is a pre-existing issue on
arm64 devices preventing the openrtx_gd77_wrap and openrtx_dm1801_wrap
targets from working, which is being tracked in
https://github.com/OpenRTX/OpenRTX/issues/344.

Co-authored-by: Peter Buchegger <peter@pbuchegger.at>
2025-09-12 17:02:00 +02:00
Silvano Seva
12dc81aef2 test: platform: codec2_encode_test: reformat code to new coding style 2025-09-12 16:33:15 +02:00
Silvano Seva
882a7e58ee test: platform: updated codec2 encode test 2025-09-12 16:31:30 +02:00
Silvano Seva
b2e289e6fd test: platform: mic_test: reformat code to new coding style 2025-09-12 16:23:34 +02:00
Silvano Seva
d18905aeb4 test: platform: updated mic test to new audio API 2025-09-12 16:06:55 +02:00
Ryan Turner
74e89450b7 clang-format: add lint job and update run script
Update clang-format script to only run on files that are passing the
formatter, that way the clang-format script is useable by CI and
contributors.
2025-09-12 15:46:08 +02:00
Ryan Turner
28fe4eb9e1 clang-format: update rules
Update clang-format rules to the linux kernel coding style, with some
exceptions
2025-09-12 15:41:57 +02:00
marco
485dedc8f3 Use -std=gnu17 to allow building with gcc 15
gcc 15 uses C23 by default now.
The project does not yet compile with C23.
Thus we set the standard back to C17, as it was the default before
2025-08-27 08:49:46 +02:00
Silvano Seva
76b8d191b0 core: gps: clear the RTC update request flag when sync is done
Once the RTC has been synchronized with GPS time, set the gps_set_time
flag back to false. This resets also the corresponding ON/OFF menu entry,
providing both a feedback that the operation is done and allowing the user
to just set it back to ON in case a new synchronization is needed.
2025-08-25 21:31:00 +02:00
Silvano Seva
2f0b7f8df7 core: gps: added field for HDOP to GPS data
HDOP is expressed in cm, meaning that an HDOP of 1.37m is stored as 137 in
the GPS data structure.
2025-08-25 21:31:00 +02:00
JKI757
e738e18d16 stm32h7xx: rcc: configure USART1/USART6 kernel clock source to pclk2 2025-08-19 08:45:29 +02:00
JKI757
ac04f247b0 stm32h7xx: rcc: set dividers for 200MHz APB bus clock 2025-08-19 08:42:30 +02:00
Silvano Seva
40ff9baa47 ui: gps: added indication for no GPS device detected
Clearly show on UI the case when no GPS receiver has been detected in the
hardware. Previously either the "GPS off" or "No fix" strings where shown
also in case of no GPS, causing ambiguity.
2025-08-15 20:07:32 +02:00
Silvano Seva
44d0774b39 ttwrplus: updated GPS driver 2025-08-15 20:07:32 +02:00
Silvano Seva
7684c11328 linux: updated GPS driver to new API 2025-08-15 20:07:32 +02:00
Silvano Seva
f1486c9a41 CS7000 Plus: enabled GPS 2025-08-15 20:07:32 +02:00
Silvano Seva
f8dcefb76b MD-9600: using new STM32 GPS driver 2025-08-15 20:07:32 +02:00
Silvano Seva
6cdec19cb7 MD-UV3x0: using new STM32 GPS driver 2025-08-15 20:07:32 +02:00
Silvano Seva
5d50439312 MD3x0: using new STM32 GPS driver 2025-08-15 20:07:32 +02:00
Silvano Seva
29ebf95966 CS7000: using new STM32 GPS driver 2025-08-15 20:07:27 +02:00
Silvano Seva
72845e4c1f core: gps: use new gps device API 2025-08-15 20:00:20 +02:00
Silvano Seva
219bb4e986 core: gps: added new API for GPS device management 2025-08-15 20:00:20 +02:00
Silvano Seva
b8e220c276 drivers: gps: generic driver for STM32 USART peripherals 2025-08-15 20:00:20 +02:00
Silvano Seva
e2b3a62a8e STM32H7: rcc: added rcc_getPeriphClock function 2025-08-13 18:56:25 +02:00
Silvano Seva
e66125fafc STM32H: drivers: renamed pll sources to "rcc" 2025-08-13 18:56:25 +02:00
Silvano Seva
e9b517abbc STM32F4: rcc: added rcc_getPeriphClock function
Added function to retrieve the clock frequency of the bus a peripheral is
attached to, given its base address. The function is C++ only and relies
on constexpr mechanism to have zero memory footprint.
2025-08-13 18:56:25 +02:00
Silvano Seva
2230c48d5d drivers: gps: added ring buffer for storing NMEA sentences.
Added implementation for a lock-free ring buffer designed for storage and
retrieval of full NMEA sentences. Data can be inserted either by char or
by sentence and extracted only by full sentences.
The size of the buffer, in byte, is defined via the CONFIG_NMEA_RBUF_SIZE
macro.
2025-08-13 18:56:25 +02:00
Silvano Seva
498aa309cd tests: platform: added tool for MDx and GDx calibration readout 2025-08-03 12:11:19 +02:00
Silvano Seva
acfffb13a9 tests: platform: added nonvolatile memory dump tool 2025-08-03 12:11:19 +02:00
Silvano Seva
0d249994cf tests: platform: added display test 2025-08-03 12:11:19 +02:00
Silvano Seva
6881c2430b tests: platform: updated keyboard test 2025-08-03 12:11:19 +02:00
Silvano Seva
fa9134e106 tests: platform: updated platform API test 2025-08-03 12:11:19 +02:00