Commit Graph

549 Commits

Author SHA1 Message Date
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
Silvano Seva dc930f4a4b Added CONFIG_M17 macro to enable M17 support on each target 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 e54234f968 Renamed UI_NO_KEYBOARD macro to CONFIG_UI_NO_KEYBOARD 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 0f4290cdfe Using Kconfig-style #defines for display parameters' description. 2024-02-01 11:07:20 +01:00
Silvano Seva 598f1c4523 M17: deeply restructured the demodulator code
Restructured the M17Demodulator class and rewritten the
demodulator logic to have a more solid lock on the
baseband stream. This fixes the long standing bug of the
demodulator causing random losses of lock even when
receiving a solid baseband stream.
2024-01-27 15:15:37 +01:00
Silvano Seva ddf889177c Frame synchronizer class 2024-01-27 15:15:37 +01:00
Silvano Seva 3375d0b5d1 Correlator class 2024-01-27 12:17:07 +01:00
Silvano Seva 90cf0f6f58 Added reset() method to RingBuffer class 2024-01-27 12:17:07 +01:00
Silvano Seva 275ef16977 Added IIR filter implementation 2024-01-20 14:31:39 +01:00
Morgan Diepart 2653ee01aa M17: added callsign-based squelch for incoming transmissions 2024-01-10 19:03:48 +01:00
Morgan Diepart 5ec0587c48 Added macro menu latching setting 2024-01-10 18:08:35 +01:00
Silvano Seva b1fa154ad9 UI: renamed "Voice Prompts" menu to "Accessibility" 2024-01-10 18:06:48 +01:00