Silvano Seva
2d0bf51873
MDUV3x0: using HR_C6000 for MCU to speaker audio
2024-10-12 12:24:05 +02:00
Silvano Seva
8f9502cade
MDUV3x0: updated radio driver
2024-10-09 22:00:10 +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
079b57e383
Updated authors' list
2024-07-12 19:01:24 +02:00
Silvano Seva
ecea0186a0
UI: made authors' list scrollable
2024-07-12 19:00:59 +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
Silvano Seva
c60445d5be
UI: exit from macro menu on PTT press
2024-07-12 08:13:30 +02:00
Silvano Seva
e2c70bd4fd
CPS: fixed wrong TX power in default channel values
2024-07-12 08:03:51 +02:00
Silvano Seva
b1a18d0b8e
UI: fixed overlapped text on macro menu
2024-07-12 08:02:17 +02:00
Morgan Diepart
4c240a38be
UI: fixed locked callsign entry after hash keypress
2024-07-10 09:16:18 +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
4f2c461bf0
Module17: added detection of baseband soft potentiometers
...
Detects the presence of the soft potentiometers. Display the detected potentiometers in the info menu.
2024-06-21 19:26:32 +02:00
Morgan Diepart
30e9311a20
Module17: added support for hardware revision 1.0
2024-06-21 19:26:31 +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
f833ace5ca
UI: fixed issue with overflowing text input buffer
2024-06-21 09:58:08 +02:00
Marco
65bc773a1f
UI: fixed issue on callsign's last character editing
...
When editing the callsign on a device with keypad, when entering the last
character the same key did not rotate through the possible values
2024-06-21 09:58:08 +02:00
Morgan Diepart
d43dd57031
Module17 Fixed Baseband tuning potentiometer setting
2024-04-26 21:20:08 +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
67cad97b19
UI: fixed missing leading zeroes in VFO frequency visualization
...
Fix #255
2024-03-15 13:57:33 +01:00
Silvano Seva
bf97bcb011
Module17 UI: cleaned up dead code
2024-03-13 08:37:04 +01:00
Silvano Seva
94b9cd46b6
Module17 UI: code refactoring pass
2024-03-13 08:37:04 +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
marco
9c2bec9727
Ensure RSSI is int32
...
This will fix the RSSI display in the info section
2024-03-02 09:21:07 +01:00
Derecho
ce8e758348
Fix compilation warning during mduv3x0 build
2024-02-11 18:06:15 +01:00
Derecho
02bcec0bd4
Fix compilation warnings during linux build
2024-02-11 18:06:15 +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
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
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
Silvano Seva
73bfc2a15d
Set proper thread stack size also when using the Zephyr RTOS
2023-09-22 13:57:33 +02:00