Wykres commitów

1545 Commity (d119e7d1b21fec95e1d32d17ae9201f2d122fd18)

Autor SHA1 Wiadomość Data
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 0feb8f9075 Moved GPIO mappings out of hwconfig.h to a dedicated header file 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
Morgan Diepart 7b48d2bc28 Fix meson setup for windows
cp does not exist on windows but xcopy does.
2024-01-17 21:54:26 +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 4ed9262a96 Updated linux build targets in github workflow 2024-01-09 12:36:23 +01:00
marco 7a31dfba3d Configured linux target for Module17 emulation similar to a Module17 rev. 0.1e 2024-01-09 12:36:23 +01:00
marco 0e6473f95e meson.build: created three separate linux targets for different build configurations 2024-01-09 12:36:14 +01:00
marco 7987bd732f Add button info for mod17 callsign entry 2023-12-31 17:18:50 +01:00
edgetriggered 2ce3f5e949 ttwrplus: Ignore revision from sa8x8-fw version
The "revisions since last tag" version field is now accurately named and no longer checked. Extra parentheses also added to reduce compiler warnings.

Fix #217
2023-12-24 10:48:41 +01:00
Silvano Seva 0363825c1a meson.build: fix linker error on unit tests
Append the sources of the main entrypoint only when defining the build
targets for the executables. This avoids having the symbol for main()
defined twice when building the unit tests.
2023-12-24 10:48:41 +01:00
Silvano Seva 230e6310c7 Module17: added 100ms blink of sync led to indicate device startup
See also #216.
2023-12-24 10:48:37 +01:00
Silvano Seva 916337e3d7 Refactored meson.build 2023-12-19 21:17:20 +01:00
Silvano Seva f703a48069 ci: use linux codec2 library from apt instead of building it 2023-12-12 19:08:02 +01:00
Ryan Turner 384a07d197 ci: add a job for builds 2023-12-12 19:07:53 +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 ab4a964ddd Linux NVM: added implementation of nvm_getMemoryAreas() 2023-12-07 12:02:48 +01:00
Niccolò Izzo ca5519812f Added platform test for validation of NVM devices.
Refactored memory dump test to be compatible with xxd format.

TG-502
2023-12-03 19:00:55 +01:00
Silvano Seva 419d02a203 Linux NVM: updated implementation to use the new standard API 2023-12-03 19:00:55 +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