Commit Graph

367 Commits

Author SHA1 Message Date
Niccolò Izzo f43f54117c Fix M17 callsign setting
Fix M17 callsign disappearing in M17 settings.

The generic callsign (currently not used) was being shown instead of M17 callsign.
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo dc28f90a1d Fix keypad text input, add caps-only input, add terminator to callsign 2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo f104955686 Text Input: Delete character by using any arrow button 2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo acc1c2a779 M17: Print source and destination IDs in mode screen 2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo 229a81b2ad Add text input draft
Fix text input position not being reset when entering edit mode
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo 87703a76e6 Add M17 Settings 2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo 882a657359 * Combine S-meter and Level meter
* Make squelch bar always yellow
* Include font height in s-meter total height

Correct bottom bar printing position

Increase bottom bar size on GD-77
2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo 118c514081 UI: Add digital mode screen
Use main screen bottom bar in mode screen

mode screen: Move frequency and channel name to center

Show S-meter without squelch bar for digital modes

Change S-meter for digital modes, add audio level meter

Print FM information in mode screen

Add mode screen fonts
2021-09-03 16:44:57 +02:00
Silvano Seva c8d62ff47f Initial implementation of M17 operating mode handler 2021-09-03 16:44:57 +02:00
Silvano Seva 98e4164f54 M17 transmitter class 2021-09-03 16:44:57 +02:00
Silvano Seva 39e41ee470 M17 4FSK modulator class 2021-09-03 16:44:57 +02:00
Silvano Seva 0ebcbeed5d Updated digital filter for compensation of PWM filter frequency response. 2021-09-03 16:43:44 +02:00
Niccolò Izzo 3439f3a497 Add invert phase DSP filter 2021-09-03 16:40:41 +02:00
Silvano Seva 7b5e98bbca Implemented generation of Golay(24,12) LICH blocks inside M17LinkSetupFrame class 2021-09-03 16:39:06 +02:00
Silvano Seva 9e5c689bf3 M17 protocol data structures 2021-09-03 16:39:06 +02:00
Silvano Seva 222ba690a5 Improved implementation of DSP function for DC removal 2021-09-03 15:46:13 +02:00
Silvano Seva 4d3eacc144 Switched 'v_bat' and 'charge' fields of state struct from float to, respectively, uint16_t and uint8_t and updated UI functions accordingly. Rationale for this change is providing better support for future platforms without hardware floating point unit. 2021-08-14 12:56:45 +02:00
Silvano Seva 46819ba993 Modified 'battery_getCharge': now it takes as input the battery voltage in mV and returns charge percentage as an integer ranging from 0 to 100. Function body is implemented using fixed point math instead of floats for improved platform compatibility when hardware floating point support is not present. 2021-08-14 12:52:55 +02:00
Silvano Seva 8e0a5d1c0f Made 'platform_getVolumeLevel' and 'platform_getMicLevel' API functions return a normalised 8 bit value ranging from 0 to 255 (TG-293 #closed) 2021-08-14 10:18:55 +02:00
Silvano Seva a1ca509eec Restore original functionality of getCurrentFreeHeap() memory profiling function, as the cause of its incorrect behaviour has been found 2021-08-10 09:35:00 +02:00
Niccolò Izzo 3bdaae0805 Fix squelch control on md3x0
Knob now generates dedicated KNOB_LEFT and KNOB_RIGHT messages,
fixed ui to consider those for enabling the squelch change.
2021-07-10 06:57:09 +02:00
Silvano Seva eb474d6bee Driver for STM32F4 USART3, can be used as a debug serial interface on MD3x0 devices without GPS and is enabled by defining the macro MD3x0_ENABLE_DBG 2021-07-09 08:53:12 +02:00
Federico Amedeo Izzo 1fbecb4c22 Increase keyboard thread polling rate to 40Hz to improve knob reactivity 2021-06-07 20:10:02 +02:00
Federico Amedeo Izzo 57b66652b7 Use channel knob to change frequency and navigate menus (TG-238) 2021-06-05 18:11:30 +02:00
Federico Amedeo Izzo f5a70b3e43 Fixed Initial GUI rendering with an empty state 2021-06-05 16:32:05 +02:00
Federico Amedeo Izzo 01b4a98f85 Set initial frequency based on supported bands (TG-239) 2021-06-05 11:06:22 +02:00
Federico Amedeo Izzo f5c9d97e49 Check frequency limits against hwInfo_t, not hardcoded defines 2021-06-05 10:47:52 +02:00
Federico Amedeo Izzo 5b3f2b7e23 Simplify frequency limits check for VFO input 2021-06-05 10:08:15 +02:00
Federico Amedeo Izzo 49cb28c5b8 Fix RTX not updated when switching from MEM to VFO (#30,TG-240,TG-241) 2021-06-05 09:36:00 +02:00
Silvano Seva b29b24fdc0 Implemented RX tone squelch on MD-UV3x0 and GDx (TG-43) 2021-06-02 12:44:46 +02:00
Silvano Seva f1a01d7613 New radio driver for MD-UV3x0, testing required 2021-05-29 08:20:12 +02:00
Silvano Seva f0dfd7036f Fixed bug in OpMode_FM.cpp which prevented entering in RX mode, removed code for setting input gain in HR_C5000 driver, modified meson.build to make it compile the new sources 2021-05-29 08:20:12 +02:00
Silvano Seva 850e3580ed New radio driver for MD-3x0 platform, still requiring a bit of debugging 2021-05-29 08:20:12 +02:00
Silvano Seva 5b0bec8c5f Created OpMode class for modular OOP-based management of operating modes. Created OpMode_FM class for analog FM management. Refactored and moved to C++ the content of openrtx/src/rtx.c. (TG-38, TG-41) 2021-05-29 08:20:12 +02:00
Niccolò Izzo e3a128f035 Add DSP code with DC removal and FIR PWM filter compensation
Add generic FIR implementation, specialized to compensate the PWM filter
applied by STM32 targets when modulating M17 signal.
Add DC bias compensation to normalize audio signal received from STM32
ADC.

TG-85 #ready-for-test
TG-199 #ready-for-test
2021-04-16 09:46:32 +02:00
Silvano Seva c0ecf2e13f Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61 2021-04-12 19:10:13 +02:00
Silvano Seva 90048700ba Fixed compilation error on linux target after addition of memory profiling functions 2021-04-12 12:13:55 +02:00
Silvano Seva 60defbedc0 Implemented stack and heap memory profiling functions. TG-47 2021-04-12 12:03:15 +02:00
Silvano Seva 4b30a66735 Added 'platform_pwrButtonStatus' API function, which returns the current status of the power button/knob. Implemented power on/off mechanism on MD-9600 2021-04-11 12:38:20 +02:00
Federico Amedeo Izzo a42354a204 Remove Messages menu as it's not implemented yet 2021-04-11 10:06:12 +02:00
Federico Amedeo Izzo 58f4f5dcaf Print git commit or tag inside Info menu 2021-04-11 09:56:46 +02:00
Federico Amedeo Izzo 26eb381ca2 Fix date change if timezone brings to different day 2021-04-10 15:57:58 +02:00
Federico Amedeo Izzo 341c46a263 Now state.time is UTC, add functions to convert from UTC to local and reverse 2021-04-10 15:39:59 +02:00
Silvano Seva d70e0bc60a Made 'battery_getCharge' return full charge when 'BAT_NONE' is defined 2021-04-10 12:45:07 +02:00
Silvano Seva cdaf3f38dd Renamed MDx display, keyboard and spiFlash drivers to MD3x to adapt the changes made to meson.build also to MD-9600. Fixed missing API change in ui_main. 2021-04-10 12:37:45 +02:00
Federico Amedeo Izzo 2d3d932111 Print battery voltage instead of battery icon for platform without battery 2021-04-10 12:16:21 +02:00
Federico Amedeo Izzo 8045a9bcea Improve gfx_printLine calculation 2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo 3e326a43f0 Add gfx_getFontHeigth() function 2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo c3a8251ca9 Integrated getLineY() functionality in gfx_printLine() 2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo 765fb3f4c9 Add getLineY Layout helper function 2021-04-10 11:10:52 +02:00