Commit Graph

605 Commits

Author SHA1 Message Date
Silvano Seva a5209d6f52 Modified range for display backlight level from 0 - 255 to 0 - 100, set minimum allowed level to 5. 2022-02-26 15:45:41 +01:00
tarxvf 9297c08b05
Add a menu for clearing settings and vfo to sane defaults (#67) 2022-02-26 12:42:28 +01:00
Alessio Caiazza d04180c0df Rename brightness_timer into display_timenr 2022-01-03 14:51:22 +01:00
Alessio Caiazza d742d027b7 Display timer UI 2022-01-03 14:51:22 +01:00
Alessio Caiazza 269420c2be Load standby timer from settings 2022-01-03 14:51:22 +01:00
Alessio Caiazza fefe2f6de0 Exit standby when the squelch is open 2022-01-03 14:51:22 +01:00
Alessio Caiazza ade9c47f71 Implement platform_setBacklightLevel for linux 2022-01-03 14:51:22 +01:00
Alessio Caiazza 6e3fda2a70 PTT terminates standby
Also the keypress getting out of standby is ignored unless is the MONI
key to activate the MACRO menu
2022-01-03 14:51:22 +01:00
Alessio Caiazza f9751c9867 Send the screen in standby after 30s idle 2022-01-03 14:51:22 +01:00
Alessio Caiazza 78a2b02c91 Show TX frequency during transmission 2021-12-23 14:52:25 +01:00
Alessio Caiazza 91486291b6 MD380: adjust squelch with left and right keys 2021-12-23 14:52:25 +01:00
Silvano Seva 3c6ad9802c Added API function allowing to query the current status of the RX audio squelch 2021-12-23 14:52:25 +01:00
Alessio Caiazza 18fb916834 Remove all tabs 2021-12-23 14:52:25 +01:00
Alessio Caiazza 8a0f0564b9 Ensure proper finalization is done in emulator mode 2021-12-23 14:52:25 +01:00
Alessio Caiazza 82699f3d07 Implement an SDL main loop inside the Main Thread 2021-12-23 14:52:25 +01:00
Alessio Caiazza 51acccaec2 Don't pump SDL events outside from the main thread 2021-12-23 14:52:25 +01:00
tarxvf e7c98aa71f fixes #60 (make sure volume setting is restored after tx) 2021-12-23 14:52:25 +01:00
Alessio Caiazza 5605797816 Never store a brightness level of 0
Enforce a minimum brightness level to prevent booting with a black screen

Related to https://github.com/OpenRTX/OpenRTX/issues/50
2021-12-23 14:52:25 +01:00
Niccolò Izzo 2fdbf0f236 Initial support for I2C soft pots on Module17
Initial support for I2C soft pots on Module17, ADC1 driver for input voltage
reading. Cherry-picked from Mathis DB9MAT repo.

TG-398
2021-12-23 14:52:25 +01:00
Silvano Seva 691b388228 Implemented load/save of settings and VFO configuration for MDx devices 2021-11-09 19:28:23 +01:00
Silvano Seva 756812ca31 Created function for writing settings and VFO status to NVM, starting of temporary implementation writing data to the MCU's internal flash 2021-11-08 22:22:26 +01:00
Silvano Seva c91e306026 Reorganised settings data structure 2021-11-08 21:44:33 +01:00
Silvano Seva 83fdfc4367 Setting default squelch level at boot to S3 for all platforms. Solves #44 2021-10-18 21:05:32 +02:00
mark 17cdf3c67b https://github.com/OpenRTX/OpenRTX/issues/43 Force Squelch re-detection when coming out of TX. 2021-10-18 20:58:24 +02:00
Federico Amedeo Izzo 1e19574fd6 Add destination callsign input for M17, Add -/ to keypad input 2021-10-09 18:53:28 +02:00
Niccolò Izzo 65a632054a Disable CTCSS tones in M17 mode
Removed CTCSS modulation for M17 mode, removed FM analog specific
settings in macro menu such as tone selection, tone enable and tx
bandwidth.
2021-10-08 16:02:03 +02:00
Silvano Seva 42e7521205 Fixed compilation error with GDx targets
Added codec2 as a dependency also for GD77, DM1801 and MD9600 targets to allow compilation of OpMode_17.cpp file
Stub input audio stream driver for GDx targets
2021-10-06 21:43:07 +02:00
Silvano Seva 7db53b8bdc Fixed some compiler warnings 2021-10-06 21:30:45 +02:00
Federico Amedeo Izzo 990f5e8ce6 UI: Fix level meter and set it to platform mic level 2021-09-26 18:38:29 +02:00
Silvano Seva f2f013f5a5 Switched to pthread API for CODEC2 thread management inside M17 OpMode handler 2021-09-19 15:29:43 +02:00
Silvano Seva 0b276b2b64 Experimental implementation of voice transmission in M17 protocol handler 2021-09-07 12:22:35 +02:00
Niccolò Izzo 120fd92d73 Fix M17 callsign management
Now a default callsign "OPNRTX" is used in M17 mode, and when the user
sets its own callsign in the settings menu, that one is correctly used
instead. Add initialization to RTX data structure.
2021-09-06 22:55:46 +02:00
Niccolò Izzo e60d79241d Set CAN to 0 2021-09-05 22:05:13 +02:00
Silvano Seva b1a91603c8 Fixed wrong function signature in dsp.cpp causing linking errors 2021-09-05 19:03:29 +02:00
Silvano Seva e954f3fda2 Moved sleep regulating update rate of rtx task from rtx thread to OpMode implementations, as each operating mode may require a custom update rate 2021-09-03 16:44:57 +02:00
Silvano Seva 2f3db118fc Changed streamType_t from bitfield struct to union of anonymous bitfield struct and uint16_t to facilitate endianness conversion. Change also fixed a bug in endianness conversion inside M17LinkSetupFrame class due to unaligned memory access. 2021-09-03 16:44:57 +02:00
Silvano Seva 065c15fb72 Force deactivation of TX and RX tone squelch for operating modes different from FM 2021-09-03 16:44:57 +02:00
Federico Amedeo Izzo c04ceb9a8d Add M17 radio mode to UI 2021-09-03 16:44:57 +02:00
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
Federico Amedeo Izzo 0e33848d68 gfx_print: use global buffer instead of allocating it to the stack 2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo 341ab84ce9 Converted `gfx_print()` from char * pointer to format string 2021-04-10 11:10:52 +02:00
Federico Amedeo Izzo 9fb7ace303 Fix swapped UP/DOWN keys in Display Settings 2021-04-04 20:36:23 +02:00
Silvano Seva 1d8596e3c8 Renamed 'MD-UV380' folder and 'PLATFORM_MDUV380' define to, respectively, 'MD-UV3x0' and 'PLATFORM_MDUV3x0' to make them consistent with the meson build target 2021-04-01 08:48:56 +02:00
Silvano Seva 9d02ffaea4 Fix for #20, caused by a memory leak when clearing information about GPS satellites in state data structure 2021-03-26 17:50:06 +01:00
Silvano Seva 90122b0c7a Fixed bug in gps task which made it setting time and date even whithout GPS fix. 2021-03-24 12:28:57 +01:00
Fred f4e25a3f8f Fix compilation for gd77 and dm1801 targets 2021-03-24 09:25:57 +01:00
Niccolò Izzo d95e0a1513 Print signed GPS longitude as unsigned+direction 2021-03-24 08:54:46 +01:00
Federico Amedeo Izzo 75df9b7bb8 Set default squelch to S3 2021-03-24 08:54:46 +01:00
Federico Amedeo Izzo 75cd4417c7 Restore squelch functionality after mute fix 2021-03-21 17:51:23 +01:00
Federico Amedeo Izzo e8ae618382 Add ifdef to fix compilation on Linux 2021-03-21 11:59:35 +01:00
Federico Amedeo Izzo 3a92547ef5 UV380: Mute speaker when volume knob is set to minimum 2021-03-21 11:42:47 +01:00
Federico Amedeo Izzo 42153be082 Macro Menu: Change squelch also with UP and DOWN 2021-03-21 09:14:44 +01:00
Silvano Seva 2bde981222 Removed speaker 'POP' on squelch opening and when starting TX with squelch open 2021-03-20 11:51:35 +01:00
Silvano Seva c1abeefd67 Implemented volume control for audio coming from radio stage on MD-UV3x0 and fixed a compilation warning regarding non-const access to a const variable 2021-03-20 11:51:35 +01:00
Silvano Seva a5120ffddc Radio driver for MD-UV3x0 targets 2021-03-20 11:51:35 +01:00
Silvano Seva 01ea1a9b3f Made the main() thread run the UI task, thus removing the need for a dedicated one 2021-03-14 17:17:24 +01:00
Silvano Seva 952f5afc3c Fixed squelch issue on GDx which made it briefly opening whenever an RTX parameter changed 2021-03-14 16:54:07 +01:00
Federico Amedeo Izzo 92e0abafa2 Display: Set default contrast at boot. Improve default contrast for GD-77 2021-03-14 11:35:45 +01:00
Federico Amedeo Izzo 3da311ee38 UI: Change contrast steps to 4 to match GD-77 HW contrast range (0-63) 2021-03-14 11:21:39 +01:00
Federico Amedeo Izzo 1637159329 Completely disable persistence until we have a proper flash backup/restore method 2021-03-13 23:03:37 +01:00
Federico Amedeo Izzo 9720032238 Disable reading VFO and settings from flash until persistence is implemented 2021-03-13 22:52:37 +01:00
Federico Amedeo Izzo 9e7b04c1fa Disable reading VFO channel from flash to fix boot freeze on GD-77 2021-03-13 22:21:23 +01:00
Silvano Seva a02b693843 Made the RTX thread run with the maximum priority on ARM Cortex targets 2021-03-13 09:16:06 +01:00
Silvano Seva 20ad9b7dcf Fixed issue with MDx ADC, rolling back to real battery voltage measurement 2021-03-13 09:16:06 +01:00
Silvano Seva 81e8aae103 Re-enabled all the tasks, temporarily bypassing battery voltage reading since it has to be debugged 2021-03-13 09:16:06 +01:00
Silvano Seva e5316aa8be Minimal refactoring of queue sources 2021-03-13 09:16:06 +01:00
Silvano Seva fb3447b0c6 Moving to miosix kernel: swapped old uC/OS-III task management functions with pthread ones 2021-03-13 09:16:06 +01:00
Silvano Seva cbfb78e19e Fixed bug which made the GPS task re-syncronising the RTC with GPS time once per second. 2021-03-13 09:14:26 +01:00
Federico Amedeo Izzo fb3c055f85 Disable writing settings until DFU support is ready 2021-03-01 20:52:57 +01:00
Niccolò Izzo de85ba90cb Filter out BeiDou NMEA strings 2021-02-25 11:20:31 +01:00
Silvano Seva 056c53b35d Made UI fsm skip low battery check when TX is enabled to avoid spurious triggers of low battery alert caused by the high current absorption from RF PA 2021-02-24 21:00:30 +01:00
Niccolò Izzo 6b24895ef3 Extended GPS support to UV-380 module 2021-02-24 08:07:58 +01:00
Silvano Seva 3438006ef5 Removed moving average filtering from MDx ADC1 driver, added code for proper filtering of ADC samples in platform-independent code 2021-02-23 15:49:55 +01:00
Silvano Seva 416ae13eb1 Fixed linking error when building for linux 2021-02-23 14:01:09 +01:00
Niccolò Izzo eb0a5ee9f0 Fix compass orientation, speed formatting 2021-02-21 20:38:54 +01:00
Silvano Seva d0e8d15389 Added 'packed' attribute to settings data structure. Some refactoring of settings and state code. 2021-02-21 19:25:09 +01:00
Federico Amedeo Izzo 35bde9bccb Add state_terminate() that saves settings to flash 2021-02-21 16:44:31 +01:00
Federico Amedeo Izzo d4981ee288 Add Settings persistence to SPI Flash 2021-02-21 15:58:41 +01:00
Federico Amedeo Izzo 0b14e36bdb Fix About screen on GD-77 2021-02-20 16:25:06 +01:00
Federico Amedeo Izzo 820ac73d08 UI: Add menu_h and menu_font layout parameters 2021-02-20 16:03:37 +01:00
Federico Amedeo Izzo 9c47797ff0 UI: Fixed mismatch between visible and selectable menu elements 2021-02-20 15:47:41 +01:00
Federico Amedeo Izzo c644e8db1d UI: Remove position parameter from menu list 2021-02-20 15:35:19 +01:00
Federico Amedeo Izzo 711d8426c9 Add 10pt font. Reduce frequency line on GD-77 to avoid overlap 2021-02-20 15:14:35 +01:00
Federico Amedeo Izzo 5bb200933b UI: Add missing GPS ifdefs 2021-02-17 20:02:53 +01:00
Niccolò Izzo f49655c44d Better GPS time synchronization 2021-02-17 14:58:20 +01:00
Niccolò Izzo 4d66d8b1af Fix various warnings 2021-02-17 11:21:46 +01:00
Federico Amedeo Izzo f357f476dc GPS: Enable GPS on gps_task start only if enabled in settings 2021-02-16 22:47:38 +01:00
Federico Amedeo Izzo cbe657cd77 UI: Fixed GPS OFF bug caused by ambiguous enable/disable code 2021-02-16 22:22:20 +01:00
Federico Amedeo Izzo 9de0857ff4 UI: Add switch cases default options 2021-02-16 22:09:28 +01:00
Niccolò Izzo fed9912c7d Improved RTC GPS time synchronization 2021-02-16 08:33:34 +01:00
Niccolò Izzo 8d90ee0588 Add Smeter numbers 2021-02-16 07:59:37 +01:00
Federico Amedeo Izzo 75c1f13882 UI: Replaced strcmp with switch case to fix GPS/menu bug 2021-02-15 22:02:09 +01:00
Niccolò Izzo 479eda3d96 Fix altitude print 2021-02-15 13:54:23 +01:00
Niccolò Izzo d230a19623 Adjusted battery thresholds 2021-02-15 09:28:23 +01:00
Niccolò Izzo f850dbdc45 Add GPS RTC time synchronization, remove debug prints 2021-02-15 09:26:13 +01:00
Niccolò Izzo e9f0a46823 Fix speed tracking bug 2021-02-15 07:40:25 +01:00
Federico Amedeo Izzo 9255dfb969 Disable GPS functions for radios that don't support a GPS chip 2021-02-14 17:49:23 +01:00
Federico Amedeo Izzo 663673b697 UI: Fix compilation warnings 2021-02-14 14:04:01 +01:00
Federico Amedeo Izzo 619cda7aeb Turn off GPS when it's turned off in settings 2021-02-14 13:55:33 +01:00
Federico Amedeo Izzo 31552ff2b2 Consider RTC time UTC instead of local time, applying timezone 2021-02-13 22:11:25 +01:00
Federico Amedeo Izzo ebe87b22e2 UI: Add menu edit mode. Small refactoring 2021-02-13 21:29:25 +01:00
Federico Amedeo Izzo 66af402e83 Move settings from UI to State 2021-02-13 20:32:53 +01:00
Federico Amedeo Izzo d66b59694a UI: Add GPS settings menu 2021-02-13 17:23:16 +01:00
Federico Amedeo Izzo a803958c61 UI: Menu scrolling logic refactoring, add GPS Settings entry 2021-02-13 16:35:03 +01:00
Federico Amedeo Izzo 0a04650d58 UI: Use more compact representation for menu entries 2021-02-13 16:14:44 +01:00
Niccolò Izzo a163bc6998 Fix a bug where only satellites with a low id were marked active 2021-02-13 13:49:03 +01:00
Niccolò Izzo 7577b4d6ae Improved algorithm for keeping track of active satellites 2021-02-13 13:27:06 +01:00
Niccolò Izzo 1f9793d268 Complete GPS compass implementation
Now the GPS screen compass has a needle, which point to the current
movement direction.
2021-02-13 12:43:48 +01:00
Federico Amedeo Izzo b3e0f964a1 State: remove unused variable channelInfoUpdated 2021-02-13 11:24:05 +01:00
Federico Amedeo Izzo 19838dbb38 Read VFO channel from flash when initializing state 2021-02-13 11:24:05 +01:00
Niccolò Izzo 3017ff1f3a Reduced smeter width, fix max RSSI representation 2021-02-13 11:24:05 +01:00
Silvano Seva 6578422c9d Main stack size is automatically increased to 4kB when a test suite is compiled 2021-02-13 11:24:05 +01:00
Niccolò Izzo a0814fd5d1 Better rendering when no fix is present 2021-02-13 11:23:40 +01:00
Niccolò Izzo 586b524625 Add GPS compass stub 2021-02-13 11:23:13 +01:00
Niccolò Izzo c7e8a258f3 Add active satellite field in GPS data
Now for each satellite in view we are keeping track if it's part of a
fix or not. This information is represented by a yellow color in the bar
graph screen.
2021-02-13 11:20:06 +01:00
Niccolò Izzo ec06b14618 Add GPS satellites snr bar graph 2021-02-11 21:27:03 +01:00
Niccolò Izzo 0cf86ce6ea Add GPS UI draft 2021-02-11 09:44:41 +01:00
Niccolò Izzo b570f3b690 Add GPS altitude parsing 2021-02-11 09:43:51 +01:00
Niccolò Izzo 0ce92f991c Add GPS NMEA parsing task
Add dedicated task to parse NMEA sentences received by the GPS module.
The parsed data is moved to the radio state, to be read by the user
interface.
2021-02-08 17:25:11 +01:00
Silvano Seva 03d5184f86 Merged MD-380 and MD-390 targets into a new MD-3x0 one 2021-02-03 15:09:59 +01:00
Silvano Seva 1cd0efdee1 Fixed compilation warnings and code refactoring pass 2021-02-03 14:50:00 +01:00
Silvano Seva 6dfbd2419d Improved RX activation mechanism in rtx driver 2021-02-03 14:30:06 +01:00
Silvano Seva 712d65c797 Improved handling of new configuration in rtx module 2021-02-03 14:30:06 +01:00
Silvano Seva d9a55c137a Implementation of all common rtx functionalities and radio driver for MD3x0 2021-02-03 14:30:06 +01:00
Silvano Seva 1840c1aeb5 Moved 'rtx.h' out of 'interfaces' folder, since it now becomes a cross-platform component 2021-02-03 14:30:06 +01:00
Federico Amedeo Izzo 83d91b555d Add hwInfo in Info menu 2021-02-02 21:45:10 +01:00
Federico Amedeo Izzo 65b5c0b002 Info menu: Fixed battery percentage 2021-02-02 21:10:48 +01:00
Federico Amedeo Izzo 61ad0879c5 CPS-UI: Make channels, zones and contacts 1-based to fix zone bound 2021-02-02 20:52:37 +01:00
Federico Amedeo Izzo 08a44375fc UI: Fix macro menu line 2 height 2021-02-02 20:08:15 +01:00
Federico Amedeo Izzo b7ae2ba86d UI: Fix VFO Input line position 2021-02-02 19:55:03 +01:00
Federico Amedeo Izzo 2728dbcce1 UI: Use separate font setting for VFO input and Time to
avoid inheriting asymmetric fonts from the main screen
2021-02-02 12:54:09 +01:00
Niccolò Izzo 6e28fa5b21 Improved Squelch MACRO Menu visual hinting 2021-02-02 11:11:36 +01:00
Niccolò Izzo 7e0500d3a5 Improved Smeter rendering in MACRO menu 2021-02-01 23:33:49 +01:00
Federico Amedeo Izzo 6fdb6b8890 UI: Fix zone elements indexes 2021-02-01 22:30:25 +01:00
Federico Amedeo Izzo 70bce5a5fc UI: Fixed zone menu bug causing last zone to be replicated 2021-02-01 21:47:10 +01:00
Federico Amedeo Izzo 438540290b UI: Add MEM channel filtering per zone 2021-01-31 14:14:54 +01:00
Niccolò Izzo 81461669fe Remove bswap into transparent rendering 2021-01-31 13:30:18 +01:00
Niccolò Izzo d60c75d9e3 Move MACRO menu into super-state 2021-01-31 13:29:23 +01:00
Federico Amedeo Izzo c8b4328450 UI: Change layout to show big digits frequency 2021-01-31 11:37:42 +01:00
Federico Amedeo Izzo 046d1a160c UI: Change right and left positions in layout_t to a unique position
This can be done since you can now print with right aligning on a left position
2021-01-30 20:04:04 +01:00
Federico Amedeo Izzo da7cda8020 Fix warning: Remove unnecessary parameter 2021-01-30 19:58:25 +01:00
Federico Amedeo Izzo 9c713523f2 Macro menu: Fixed bug caused by change in TEXT_ALIGN_RIGHT 2021-01-30 19:56:36 +01:00
Federico Amedeo Izzo a612e885ab UI: Add about screen 2021-01-30 11:57:00 +01:00
Federico Amedeo Izzo 8b72587b7b UI: Make last_state an extern variable. Add Info screen values 2021-01-30 08:33:39 +01:00
Federico Amedeo Izzo 92af6c4804 UI: Add Info menu 2021-01-30 08:02:54 +01:00
Federico Amedeo Izzo f083a77001 UI: Fixed (null) menu entry on targets without RTC 2021-01-29 23:07:39 +01:00
Federico Amedeo Izzo 12d58139e4 UI: Fix warning 2021-01-29 22:59:38 +01:00
Federico Amedeo Izzo 450c965ee0 Disable contrast menu on targets without adjustable contrast 2021-01-29 22:57:24 +01:00
Federico Amedeo Izzo c9ee09b1f6 UI: Add Brightness/Contrast change 2021-01-29 22:41:42 +01:00
Federico Amedeo Izzo 1f240ba132 Move brightness from state_t to settings_t, add Contrast 2021-01-29 22:13:47 +01:00
Federico Amedeo Izzo 8ded5fc9b6 Graphics: Fix print with TEXT_ALIGN_RIGHT not working 2021-01-29 22:03:13 +01:00
Federico Amedeo Izzo fcf8dc2bcb UI: Add function to draw menu list with values 2021-01-29 21:31:28 +01:00
Federico Amedeo Izzo 171d6f76a9 Fix rebase issues 2021-01-29 19:34:44 +01:00
Federico Amedeo Izzo 289f45f4b9 UI: Add Display settings menu scrolling 2021-01-29 19:31:20 +01:00
Federico Amedeo Izzo 0c11198e8a UI: Use one function to draw all menus 2021-01-29 19:31:17 +01:00
Federico Amedeo Izzo 2533f35309 UI: Add display settings 2021-01-29 19:30:22 +01:00
Niccolò Izzo c9caff3b8d Remove OPNRTX from background 2021-01-29 18:15:33 +01:00
Niccolò Izzo 421ff0e448 Add RSSI and squelch graphic representation
Replaced bottom bar with graphic squelch and rssi representation.
2021-01-29 11:20:35 +01:00
Niccolò Izzo 2fa5b7a6e6 Fix squelch setting on linux 2021-01-28 16:46:09 +01:00
Niccolò Izzo 226d2ccaf7 Implement RSSI based squelch control 2021-01-28 15:13:06 +01:00
Niccolò Izzo 0b98f50a12 Add absolute knob positioning and horizontal keys emulation 2021-01-28 14:14:25 +01:00
Niccolò Izzo 364f8d4e46 Add squelch visualization and control from macro menu 2021-01-28 12:51:22 +01:00
Niccolò Izzo 5156783495 Rename MenuMacro in MacroMenu 2021-01-28 12:50:13 +01:00
Niccolò Izzo 90445e29a7 Implement voltage to dBm conversion in MDx
MDx radios get an RSSI voltage in mV, to be converted into dBm, we used
and empirically derived linear relation to compute the dBm value.
2021-01-28 10:31:37 +01:00
Federico Amedeo Izzo f61c269270 UI: Replace GPS with MODE selection on macro menu 2021-01-26 21:19:11 +01:00
Federico Amedeo Izzo 5311183c8a UI: Selecting a Channel in the Channel menu switches to MEM mode with that channel 2021-01-26 20:57:39 +01:00
Federico Amedeo Izzo c4e7e2962c UI: Fix bug causing frequency not being saved when switching from VFO to MEM 2021-01-26 20:42:59 +01:00
Federico Amedeo Izzo 4d35ddfa3d UI: Improve previous commit 2021-01-26 20:18:55 +01:00
Federico Amedeo Izzo c498b3d337 UI: Unified FSM code of Zone, Channel and Contacts menu 2021-01-26 20:10:31 +01:00
Federico Amedeo Izzo 2057374fac UI: Merge Zone, Channel and Contacts menu in a single function 2021-01-24 19:36:21 +01:00
Federico Amedeo Izzo 1a1e39fcc0 UI: Add Zone and Contacts menu 2021-01-24 18:53:43 +01:00
Federico Amedeo Izzo bc88247809 UI: Fix compiler warning
uint32_t is unsigned long on 32-bit ARM and unsigned on 64-bit x64.
Add type specifier to avoid having warnings when compiling on Linux
2021-01-24 16:27:50 +01:00
Federico Amedeo Izzo c9c1e2312f UI: Fix compiler warnings 2021-01-24 15:51:11 +01:00
Federico Amedeo Izzo 463e5bf6fb Graphics: Add error box printing 2021-01-21 22:01:25 +01:00
Niccolò Izzo 827bc45794 Fix deadlock issue on linux target
The keyboard thread was causing a deadlock with the ui thread,
now the keyboard thread is non-blocking.
2021-01-15 22:09:11 +01:00
Federico Amedeo Izzo 0e1e9469ea UI: Fixed bug in channel menu resulting in a pinned first channel 2021-01-13 21:10:31 +01:00
Federico Amedeo Izzo ad78fe41e8 UI: Add channel menu lower bound 2021-01-13 21:03:51 +01:00
Federico Amedeo Izzo 3b0c9ecb49 UI refactoring: Move macro menu logic to a separate function 2021-01-13 20:50:35 +01:00
Federico Amedeo Izzo ab44bb90e7 UI refactoring: Move VFO input logic to separate functions 2021-01-13 20:43:39 +01:00
Federico Amedeo Izzo b60100a1f9 UI: Move load channel from CPS to separate function 2021-01-13 20:27:39 +01:00
Federico Amedeo Izzo 6039bbb42e UI: Pass curtime_t per pointer, not per copy 2021-01-13 20:04:12 +01:00
Federico Amedeo Izzo 5a0a4886ee UI: Add macro menu to MEM mode. Fix main_state save and restore 2021-01-12 20:03:45 +01:00
Federico Amedeo Izzo 1a894c67df UI: Save and restore VFO channel when switching to MEM mode 2021-01-12 19:25:47 +01:00
Niccolò Izzo daeeee64dd Fix battery glitch
Battery charge was mistakenly being computed because values used in
computation were defined in a function which was not included as a
header file.
2021-01-12 08:01:34 +01:00
Federico Amedeo Izzo e690009171 UI: Reduce channel name font size 2021-01-10 11:25:05 +01:00
Federico Amedeo Izzo b7088686f5 UI: Channel: Implemented channel switching 2021-01-10 10:23:56 +01:00
Federico Amedeo Izzo 73c9ab56a6 UI: Channel mode: load channel from cps and do basic validation 2021-01-10 10:18:29 +01:00
Federico Amedeo Izzo 3365fe4d2f UI: Move VFO/MEM indicator to the left of the bottom bar 2021-01-10 09:27:55 +01:00
Federico Amedeo Izzo 571adfaabf UI: Move ui_*.c files to ui subfolder 2021-01-10 09:04:53 +01:00
Federico Amedeo Izzo e23b9bcea6 UI: Move main screen functions to ui_main.c 2021-01-10 09:03:07 +01:00
Federico Amedeo Izzo feb7e7ef7e UI: Initial MEM implementation 2021-01-09 19:37:51 +01:00
Federico Amedeo Izzo aef0eb30b1 UI: Move ui_menu.c function prototypes from ui_menu.h to ui.c as extern 2021-01-09 18:33:40 +01:00
Federico Amedeo Izzo e34674151b UI: Move menu related functions to ui_menu.c 2021-01-09 10:47:18 +01:00
Federico Amedeo Izzo 6c9d1834ad ui.c: Fixed format string warnings 2021-01-09 09:36:17 +01:00
Federico Amedeo Izzo 4101597ae5 ui.c: Move ui state global variables to struct ui_state_t 2021-01-09 09:25:24 +01:00
Niccolò Izzo adc48efb19 Implement CTCSS available tones array
Now the CTCSS tones are taken from an array and indexed from that array.
A macro that sets the tone has been implemented.
2021-01-05 11:26:22 +01:00
Niccolò Izzo 29e4e35199 Fix layout, implement tone enable disable macro 2021-01-05 10:08:18 +01:00
Niccolò Izzo bbcd6483a2 Add tone enable flags into channel data structure 2021-01-05 10:08:18 +01:00
Federico Amedeo Izzo 04a8e2025e Keyboard: Do not send event bursts after long press 2021-01-05 10:08:18 +01:00
Niccolò Izzo 2dcefb7c0e Add backlight into state, macro functionality
Now the current backlight level is part of the radio state, and the
first few macros have been implemented although the rate limiting of
presses has still to be fixed.
2021-01-05 10:08:18 +01:00
Niccolò Izzo 09c94a943a Fix Macro Menu printing 2021-01-05 10:08:18 +01:00