Commit Graph

562 Commits

Author SHA1 Message Date
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 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 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 280d5ad350 Fixed compilation errors with GCC 15.1 2025-07-08 21:36:25 +02:00
Silvano Seva 03d1ae5546 Updated year in copyright headers 2025-04-04 21:15:39 +02:00
Silvano Seva e204891776 CS7000: calibrated AK2365 RSSI output curve 2025-03-16 10:13:00 +01:00
Silvano Seva 135bf562f1 CS7000: NVM: added reading of calibration data 2025-03-16 10:13:00 +01:00
Silvano Seva b5ca097c52 Added implementation of CTCSS tone detector 2025-03-07 19:06:16 +01:00
Silvano Seva 4515bd9e60 utils: added macro to retrieve the number of elements of an array 2025-03-02 18:09:08 +01:00
Jim Ancona b16c3c0fd1 M17: replaced std::experimental::array with std:array 2025-03-01 20:01:08 +01:00
Silvano Seva 1099f0f7a3 CPS: added enumeration type for CTCSS tone index 2025-03-01 19:01:10 +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
Morgan Diepart dd8d6be5a9 M17: Synchronizer: fixed uninitialized variable and out-of-bounds array access. 2024-11-10 14:37:40 +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 a84d8fe6f0 Removed unused function from radio interface API 2024-10-12 14:46:52 +02:00
Silvano Seva 2d0bf51873 MDUV3x0: using HR_C6000 for MCU to speaker audio 2024-10-12 12:24:05 +02:00
Silvano Seva 8612b28215 MDx: reorganized data structures for calibration data 2024-10-08 18:46:41 +02:00
Silvano Seva 565a056e82 Added macros for thread priority levels 2024-10-08 18:44:08 +02:00
Silvano Seva b70963d1d5 SPI: forced transfers via spi_transfer to have the same TX and RX size 2024-10-08 18:31:15 +02:00
Silvano Seva ac7e176d3b SPI: refactored spiDevice data structure, added two utility functions 2024-10-08 18:31:02 +02:00
Silvano Seva 71d3a2c319 Driver for emulated EEPROM storage 2024-08-14 18:20:06 +02:00
Silvano Seva 5b9cc789b9 Refactored NVM data structures and functions 2024-08-14 18:20:05 +02:00
Silvano Seva a6f01c3e55 Small refactoring of M17 modulator.
- made start() function return a boolean indicating the actual modulator status
- moved sending of preamble to a dedicated function
- renamed send() function to sendFrame()
2024-07-12 11:11:44 +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
Silvano Seva 84d9803f57 Module17: hide menu entries for soft potentiometers if hardware does not have them 2024-06-21 19:27:33 +02:00
Morgan Diepart bd93d9429b HwInfo: extended hw_version field to 16 bits, added a 16-bit "flags" field 2024-06-21 19:26:11 +02:00
Silvano Seva bfc9f8c77f Standard interface for ADC peripherals 2024-06-21 18:00:33 +02:00
Silvano Seva 8347c3bdcd Standard interface for SPI peripherals 2024-06-21 18:00:33 +02:00
Silvano Seva f2c0f2cc90 Standard interface for I2C peripherals (MCU side) 2024-06-21 18:00:33 +02:00
Silvano Seva e53e110a3b Reorganized and extended the gpio peripheral API 2024-06-21 18:00:33 +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
Marco 36ef3b310c Added function to convert minmea coordinate to fixed-point integer representation 2024-04-10 08:04:26 +02:00
jpucheu 71b35985ce UI: added string table for Spanish language 2024-03-19 18:26:38 +01:00
Silvano Seva 8550e4f7a6 Module17: renamed calibration fields for TX/RX baseband inversion 2024-03-13 08:37:04 +01:00
Silvano Seva ed92d81543 Module17: implemented configurable logic levels for PTT in/out
See #248
2024-03-13 08:37:04 +01:00
Silvano Seva 6c8eaf7073 Module17: removed backlight timer 2024-02-06 21:11:46 +01:00
Silvano Seva fdd08d4bcb Module17: removed screen contrast setting, added screen brightness setting
Module17 uses an OLED display, which does not have contrast regulation. The
contrast control register, however, allows to change the brightness of the
display.
2024-02-06 21:11:41 +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 c533c47103 Default UI: optimized layout_t struct and _ui_calculateLayout() function
Small optimizations to layout management code, saved around 132 bytes of
.text space.
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 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