Commit Graph

260 Commits

Author SHA1 Message Date
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 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
Silvano Seva 72845e4c1f core: gps: use new gps device API 2025-08-15 20:00:20 +02:00
Silvano Seva 280d5ad350 Fixed compilation errors with GCC 15.1 2025-07-08 21:36:25 +02:00
Silvano Seva 0962b533c7 core: battery: added Li-Ion battery type, updated targets accordingly 2025-07-08 21:18:41 +02:00
Silvano Seva 71c144d426 core: battery: split configurations for battery chemistry and cells number 2025-07-05 14:05:49 +02:00
Silvano Seva 03d1ae5546 Updated year in copyright headers 2025-04-04 21:15:39 +02:00
Silvano Seva 23b16053df Audio stream: fixed early start of input stream when in liner buffer mode 2025-04-02 19:31:50 +02:00
Silvano Seva 959e9df457 Added support for STM32H743 MCU 2025-03-16 17:50:19 +01:00
Jim Ancona 5b7f835817 Small code changes to support emulator build on MacOS 2025-03-01 20:01:06 +01:00
Silvano Seva 1099f0f7a3 CPS: added enumeration type for CTCSS tone index 2025-03-01 19:01:10 +01:00
Silvano Seva 27d04aab2b Voice prompts: fixed extra leading zero when announcing the kHz part of a frequency 2024-12-26 16:59:18 +01:00
Trriss 185d3f1a22 UI: fixed RSSI to S-level conversion in gfx_drawSmeter and gfx_drawSmeterLevel 2024-12-26 16:19:03 +01:00
Silvano Seva 847750e233 Added volume level to device state data structure.
Added filtered volume level to device state. Value is updated at 10Hz and
filtering is done by averaging the current value with the new sample.
2024-10-25 18:48:58 +02:00
Silvano Seva 565a056e82 Added macros for thread priority levels 2024-10-08 18:44:08 +02:00
Silvano Seva 5b9cc789b9 Refactored NVM data structures and functions 2024-08-14 18:20:05 +02:00
Silvano Seva e2c70bd4fd CPS: fixed wrong TX power in default channel values 2024-07-12 08:03:51 +02:00
Morgan Diepart 9cae1cfd3e UI: improved handling of numeric input.
Updated isNumberPressed() to make it not return anymore true if star or hash keys are pressed. Check
for character input, star and hash keys included, is now done by the input_isCharPressed function.
This separation also now prevents from entering non numeric characters during VFO frequency input.
2024-07-10 09:16:18 +02:00
Marco 70f0ce45d3 GPS: using 16-bit integers for course over ground 2024-04-10 19:12:34 +02:00
Marco a17ad80f10 GPS: using 16-bit integers for altitude and speed 2024-04-10 19:12:34 +02:00
Marco e4a62f30ee GPS: using fixed-point 32-bit value for latitude and longitude 2024-04-10 19:12:34 +02:00
Derecho 02bcec0bd4 Fix compilation warnings during linux build 2024-02-11 18:06:15 +01:00
Silvano Seva d119e7d1b2 Moved pixel framebuffer out of display drivers into graphics layer
Reorganized code for pixel framebuffer in order to have it instantiated once
and for all the possible display drivers. Dropped the display_getFrameBuffer()
function.
2024-02-06 19:19:47 +01:00
Silvano Seva 731054a131 Dropped display_renderingInProgress() function from display API
Removed display_renderingInProgress() function from display interface as it
has never been used so far.
2024-02-06 19:19:47 +01:00
Silvano Seva d8c0ab1c44 Dropped support for 20kHz bandwidth
Dropped support for 20kHz bandwith in rtx code and radio drivers. This option
is supported only by MDx radios and so far is not being used at all.
2024-02-06 19:19:47 +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 44385b3b25 Using signed 32-bit data type for RSSI instead of floating points
Switched to int32_t for RSSI representation to allow running the code also
on devices with limited resources. Defined a new ad-hoc type to still keep
the possibility of using floating points on more capable devices.
2024-02-01 11:07:20 +01:00
Silvano Seva 963f402f1b Graphics: using uint8_t instead of float for squelch and volume levels
Modified type of drawSmeter() and drawSmeterLevel() input parameters from
float to uint8_t.
2024-02-01 11:07:20 +01:00
Silvano Seva 49c99acf85 Utility function to strip leading zeroes from numbers in decimal notation 2024-02-01 11:07:20 +01:00
Silvano Seva 7b0ff04a2d Graphics: removed 18pt and 24pt fonts
Removing 18pt and 24pt fonts from graphics layer since currently are unused
and take up flash space. On MD-380, removal freed up 12'928 bytes in the
.text section.
2024-02-01 11:07:20 +01:00
Silvano Seva cb7b605251 Removed use of floating points when printing/announcing CTCSS tone frequency 2024-02-01 11:07:20 +01:00
Silvano Seva 5b3929ef44 Moved from float to uint32_t for TX power, substituted dBm with mW in CPS channel struct
General code optimization allowing to reduce the overall binary size, especially
for devices without hardware floating point support. On the MD-380 (which has the
FPU) the .text size has been reduced of 4'928 bytes.
2024-02-01 11:07:20 +01:00
Silvano Seva 24c4a25b2d Made "static" all the variables local to each translation unit 2024-02-01 11:07:20 +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 cc27cc28a4 Using Kconfig-style #defines for battery 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
Silvano Seva c4b7b7a337 Removed low-pass filtering of battery voltage in state update for GD77 and DM-1801
GD77 and DM-1801 already have an hardware low-pass filter on the battery measurement
probe which causes the low battery protection to trigger at boot if the digital low
pass filter is also used. Given that the hardware one is good enough for our purposes,
the digital filter is now excluded.

Provides a fix for #221
2024-01-09 18:54:41 +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 be07b8f73e Refactoring of W25Qx driver 2023-12-03 18:34:39 +01:00
Marco 5a0f92e23d Add a volume bar in the bottom over the other bars
This will fix #190
2023-11-25 19:08:38 +01:00
Morgan Diepart f43281e815 Display callsign on splash screen 2023-10-26 06:01:54 +02:00
Morgan Diepart 1124c76b73 Added M17 destination to settings
# callsign in backed-up settings
2023-10-23 00:40:55 +02:00
Niccolò Izzo 5d3c6c825d Add radio settings for frequency offset, direction, and frequency step.
Add customizable frequency_step in radio state.
Offset is not yet selectable from Settings->Radio but only with keypad
from the VFO screen.
2023-10-16 21:49:56 +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
marco 0126efe429 Fixed possible undeflow in battery charge level computation. Fix #192.
We check if the battery is below minimum and, if so, assume that the charge
is 0%. This to prevent an underflow which would result in the function
returing a 100% charge level.
2023-09-22 19:32:29 +02:00
marco 77e0ad27a0 Added support for 1750Hz squelch tone, implemented squelch tone in UV-3x0 radio driver.
When pressing the Hash key and the PTT key in FM mode
a 1750 Hz tone is transmitted
2023-09-22 13:58:59 +02:00
Silvano Seva 73bfc2a15d Set proper thread stack size also when using the Zephyr RTOS 2023-09-22 13:57:33 +02:00
Niccolò Izzo e11c529807 Bump Zephyr to commit a4de2eb3d1756c
TODO: the include fixes can be probably refactored by including the
correct zephyr directories, as include/zephyr/posix/pthread.h should
already bringing in those header files.

TG-553
2023-09-20 21:16:43 +02:00