Commit Graph

531 Commits

Author SHA1 Message Date
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
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 070ed3de32 Device driver for file-based nonvolatile memory storage 2023-12-03 19:00:55 +01:00
Silvano Seva d9b22c1d2d Added function to retrieve the list of available NVM areas 2023-12-03 18:34:39 +01:00
Silvano Seva 7174246492 Standard interface for non volatile memory devices 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
Silvano Seva 91c0965007 Module17: made M17 baseband output have correct DC bias and amplitude
Removed an old workaround for an hardware bug of Module17 rev 0.1b limiting
the output swing of baseband signal in newer hardware revisions.

Contribution by Mathis Schmieder DB9MAT.
2023-11-21 18:46:03 +01:00
Silvano Seva 7dc2ca5524 Driver for random number generator peripheral 2023-11-02 18:36:07 +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 17d5be118e Enable frequency offset input from radio menu
Adapted callsign input to create a frequency input menu, that was used
to enable the input of a frequency offset from the Settings->Radio menu.
2023-10-16 21:50:03 +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
tarxvf 7e291fe6fd Implement UI input lockout logic, toggled by macro menu key 9.
Contribution by tarxvf.
2023-10-16 21:46:37 +02:00
marco 20b0c375aa Change M17_orig to link and change callsign handling
This will swap the first extended callsign with the source callsign
if there is extended callsign data.
This allows to always store the true source in the M17_src variable

See #188
2023-10-13 09:58:34 +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 21895ae304 ttwrplus: disable Tx in menus
As T-TWR Plus reuses the PTT as a back button, thus we need to disable
PTT in menus. Also enforce rx_only logic from CPS.

TG-553
2023-09-20 21:16:40 +02:00
Niccolò Izzo fe027c440c ttwrplus: enable volume control
Replaced KEY_F7 and KEY_F8 with KEY_VOLUP and KEY_VOLDOWN.
Remapped the T-TWR Plus volume up and down keys to those, fixing a bug
in the pmu key detection where the wrong active edge was selected.
Adapt soft volume code for the UV3x0 to control code in the T-TWR Plus
by acting on the AT1846s Rx gain.
For target T-TWR Plus bound long press of KEY_VOLDOWN to macro menu open.
Unbound KNOB_LEFT and KNOB_RIGHT to squelch control and bound
instead KEY_VOLUP and KEY_VOLDOWN.

TG-553
2023-09-20 21:08:35 +02:00
Silvano Seva ebc5910015 Renamed "bcd2bin" utility to "bcdToBin" to avoid conflicting with Zephyr includes 2023-09-20 21:08:35 +02:00