Commit Graph

957 Commits

Author SHA1 Message Date
Silvano Seva c0115c14b3 UI: removed use of floats when displaying VFO frequency, offset and step 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 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 f771d4ec06 Improved indentation in _ui_drawMacroMenu() 2024-02-01 11:07:19 +01:00
marco c3f1ec0ea1 Improve the callsign input of module17 UI
This will change the bahavior of the left and right button in callsign input:
The right button will add a new character to the input starting at `A`.
The right button will stop at the maximum allowed length.
The left button will delete the current charater.
The left button will go back one character and make it editable again.
The left button will not do anything when only one character is displayed.
2024-01-31 08:45:30 +01:00
Silvano Seva 3f0cfe94e5 M17: always open squelch on tramsissions with destination set to INFO or ECHO
Fix #229
2024-01-28 19:16:14 +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
Silvano Seva dbe7ff4700 M17: activate speaker only when a valid transmission is received
Audio path from codec2 to speaker is now set up only when an incoming stream
with matching CAN and destination callsign is received. Speaker is then turned
off when the demodulator goes back in unlocked state.
2024-01-10 19:03:48 +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 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
marco 4a45ce0c16 Allow skipping keypad lock when only hash key is pressed 2024-01-09 14:14:49 +01:00
marco 7987bd732f Add button info for mod17 callsign entry 2023-12-31 17:18:50 +01:00
Silvano Seva 3a2bac3e7e Fixed missing transmission of the 1750Hz tone when keypad is locked.
Fix #210
2023-12-12 19:05:52 +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
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
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 7ccfbe62c8 Fixed compilation errors in M17 demodulator logger 2023-11-12 12:41:35 +01:00
Silvano Seva 7dc2ca5524 Driver for random number generator peripheral 2023-11-02 18:36:07 +01:00
marco 9433f8735a Mod17: get last callsign if available 2023-10-28 11:58:25 +02: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
Silvano Seva 44bfdec947 Added 30ms sleep in OpMode_M17::offState to prevent the rtx thread from going into an endless loop. 2023-10-22 18:59:06 +02:00
Niccolò Izzo 744ad85799 Adapt Radio settings to UI_NO_KEYBOARD interface
Enabled the T-TWR Plus to use split frequency settings by adapting the
Settings->Radio menu to the UI_NO_KEYBOARD user interface.

TG-553
2023-10-16 21:50:03 +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 7612044d91 VFO screen cleanup: removed unused options, introduced compressed frequency print and lock icon.
Contribution by tarxvf.
2023-10-16 21:47:01 +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
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 6baa368984 Enable edit mode for dst callsign on mod17
This allows editing the destination callsign on the module17
When on the main screen, the right arrow will enter edit mode.
2023-09-29 17:05:14 +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