Commit Graph

456 Commits

Author SHA1 Message Date
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
Federico Amedeo Izzo a9ad22a4c9 NVM: Add function to read VFO channel for MD-UV3x0 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 3ea428e8f8 Add GPS task stack size in linux 2021-02-11 09:43:24 +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
Niccolò Izzo 67195d178f Add GPS data structures in radio state 2021-02-06 15:37:14 +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 edb2697124 New 'radio' interface API, providing a standard interface for low-level platform-specific baseband control 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
Silvano Seva 80c7668faa Added a data structure providing some hardware information parameters and the relative platform API function to retrieve them 2021-02-01 21:27:31 +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
Silvano Seva 92870f477f Added display API function to set LCD contrast 2021-01-26 08:53:42 +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 bec69dc440 Graphics.h: Fix compiler warning 2021-01-24 15:57:02 +01:00
Federico Amedeo Izzo c9c1e2312f UI: Fix compiler warnings 2021-01-24 15:51:11 +01:00
Federico Amedeo Izzo 0608176342 CPS: Read contact data from codeplug 2021-01-23 11:28:12 +01:00
Federico Amedeo Izzo 6706a796ad CPS: Add code to read zone data from Codeplug 2021-01-22 21:16:13 +01:00
Federico Amedeo Izzo 463e5bf6fb Graphics: Add error box printing 2021-01-21 22:01:25 +01:00
Silvano Seva 4bbad17012 Refactoring of data structure for GDx calibration data: 'vhfCal' and 'uhfCal' fields merged into a single two-element array field 2021-01-21 12:34:11 +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
Federico Amedeo Izzo 07707ccae5 Keyboard: Send release key events 2021-01-05 10:08:18 +01:00
Niccolò Izzo a007eb206c Implemented Macro Menu information print 2021-01-05 10:08:18 +01:00
Niccolò Izzo 5784adab50 Updated macro menu layout 2021-01-05 10:08:18 +01:00
Niccolò Izzo 1e28ebbb4e Fix right aligned printing padding
Now right aligned printing starts writing backwards from the start
point, layout anchors have been suitably adapted and detailed.
2021-01-05 10:08:18 +01:00
Niccolò Izzo 95e00c2eff Fix transparency 2021-01-05 10:08:18 +01:00
Niccolò Izzo 2fe6cd1cb6 Implement draft of the macro menu feature 2021-01-05 10:08:18 +01:00
Silvano Seva 41e6c1d1e6 Added flags to enable TX and RX tones in rtxStatus_t 2021-01-04 08:58:17 +01:00
Federico Amedeo Izzo 868a0df892 UI: Fix GD77 font sizes 2021-01-03 11:22:24 +01:00
Federico Amedeo Izzo bcb4f5ccfc UI: Remove unneeded frequency position 2021-01-03 11:17:15 +01:00
Federico Amedeo Izzo 4029bcf90e UI: Removed unnecessary layout fix 2021-01-03 09:52:56 +01:00
Federico Amedeo Izzo a5a9750fc3 UI: Recalculate layout and padding sizes for all radios 2021-01-03 09:38:54 +01:00
Silvano Seva 206daec861 Driver for nonvolatile external memory on GDx devices, by now only supporting retrieval of calibration parameters 2021-01-02 15:07:14 +01:00
Federico Amedeo Izzo 83ab86e955 UI: Add channel menu implementation 2021-01-02 12:10:10 +01:00
Federico Amedeo Izzo 89567cce85 UI: remove screen refresh flag
screen refresh is not needed anymore since GUI refresh is already done on demand
2021-01-01 21:11:22 +01:00
Federico Amedeo Izzo dba2b27310 UI: small refactoring, replace snprintf without placeholders with strcpy 2021-01-01 20:30:21 +01:00
Federico Amedeo Izzo 94b7be826a Disable RTC related code on platforms without a functional RTC 2021-01-01 18:58:35 +01:00
Federico Amedeo Izzo 8163eba67b Add MD-9600 support, boot and USB serial working 2021-01-01 18:32:50 +01:00
Silvano Seva 7cc4b36907 Suppressed some compiler warnings 2021-01-01 17:31:42 +01:00
Federico Amedeo Izzo 50b93904c1 UI: Fix bug where frequency set with number keys wouldn't apply 2021-01-01 10:49:12 +01:00
Federico Amedeo Izzo f4c4a72584 RTC: Bugfix, add missing bit in the date field 2020-12-31 19:11:35 +01:00
Federico Amedeo Izzo b3bf54adcf UI: Complete timedate menu 2020-12-31 19:05:29 +01:00
Silvano Seva 8b6f4e3056 Renamed rtc_shutdown() and toneGen_shutdown() to rtc_terminate() and toneGen_terminate() 2020-12-31 18:31:00 +01:00
Federico Amedeo Izzo 641dcc13e9 UI: Add Time&Date settings, not functional yet 2020-12-31 16:36:32 +01:00
Federico Amedeo Izzo 4cfc7d2131 UI: Fix frequency input bug causing incorrect frenquency set 2020-12-31 14:59:21 +01:00
Federico Amedeo Izzo 7a9135d746 Platform: Add frequency limit check 2020-12-31 14:51:19 +01:00
Federico Amedeo Izzo c2f331467c UI: Fix bug where key 9 did not work in frequency input 2020-12-31 13:58:49 +01:00
Federico Amedeo Izzo 0769701ccc UI: Remove unused function 2020-12-31 13:55:12 +01:00
Federico Amedeo Izzo fc38fe8ed4 UI: replace pow with multiplication in frequency input 2020-12-31 13:51:27 +01:00
Federico Amedeo Izzo 13a8ff9e40 UI: Frequency set minor fix 2020-12-30 22:55:17 +01:00
Federico Amedeo Izzo 3f21c60471 UI: Change frequency input behaviour 2020-12-30 22:48:46 +01:00
Federico Amedeo Izzo ac0f906257 UI: Implement RX/TX frequency input 2020-12-30 22:23:21 +01:00
Federico Amedeo Izzo 58876ec4f2 UI: Set TX frequency together with RX frequency keeping previous offset 2020-12-30 20:11:05 +01:00
Federico Amedeo Izzo 3309fe6fa1 UI: Add RX frequency input. (WARNING: no frequency bound check present) 2020-12-30 19:55:51 +01:00
Niccolò Izzo 73c7b74a3a Add input parsing functions
Input parsing functions are moved into input.c/input.h, and currently
contain functions to determine if a number is pressed and to extract the
pressed number.
2020-12-30 15:46:43 +01:00
Federico Amedeo Izzo 3ecf27392e UI: Calculate menu entries num instead of using a define 2020-12-28 09:31:33 +01:00
Federico Amedeo Izzo ce768c3c8a UI: Add menu scroll to fit more menu entries on small screens 2020-12-27 20:45:49 +01:00
Federico Amedeo Izzo e5ac363081 UI: Fix menu list position on GDx family 2020-12-27 17:42:27 +01:00
Federico Amedeo Izzo f9b9f7ecf6 UI: Add menu selection wrap-around 2020-12-27 15:26:50 +01:00
Federico Amedeo Izzo aca804c738 KBD: Fix double events generated from long + short press.
The problem was caused by kbd_task() sending an old copy
of the keyboard map.
This was necessary when the events were triggered on key lift
but since now events are sent on key press, this is no more necessary.
2020-12-24 17:29:24 +01:00
Niccolò Izzo aeea305228 Switch to angular brackets include notation 2020-12-24 16:30:45 +01:00
Niccolò Izzo c77cc46fb6 Fix include syntax
Interface header includes have acquired the interface prefix, to
distinguish them from regular header includes.
2020-12-24 16:30:13 +01:00
Federico Amedeo Izzo 1f4fba958b KBD: Add function to tell if number keys are pressed 2020-12-23 11:05:59 +01:00
Federico Amedeo Izzo 7888a7e398 UI: Add time and date settings, cannot be set right now 2020-12-22 17:49:00 +01:00
Federico Amedeo Izzo 7b9e3eaff2 UI: Reset menu selection when moving between submenus 2020-12-20 11:00:59 +01:00
Federico Amedeo Izzo ec60dc8273 UI: Add Settings submenu, small refactoring 2020-12-20 10:47:07 +01:00
Federico Amedeo Izzo a9d4aa08a8 UI: Add menu selection 2020-12-20 09:24:57 +01:00
Federico Amedeo Izzo 423c3f04d3 UI: Add menu list drawing function, small refactoring. 2020-12-20 09:07:48 +01:00
Federico Amedeo Izzo ce09f2c208 kbd_task: Get timestamp after mutex to avoid getting incorrect timestamp
on mutex blocking
2020-12-19 15:45:42 +01:00
Niccolò Izzo 8d55a3e702 Implement alpha channel in graphics library
Alpha channel can be used to draw transparent objects.
2020-12-19 15:03:00 +01:00
Niccolò Izzo d56fafe1a2 Merge graphics_* into a single compilation unit
The specialized graphics libraries ended up sharing the majority of the
code, now they have been merged into a single library so that the
graphics development can be done quicker without leaving any of the
platforms behind.
2020-12-19 12:49:30 +01:00
Niccolò Izzo d74bece14e Sane default values for the channel struct 2020-12-18 22:42:39 +01:00
Silvano Seva fc67d89abd Increased rtx task stack size to 512 bytes 2020-12-18 21:52:45 +01:00
Niccolò Izzo 5949a481fa Add synchronization between radio state and RTX
Now the FSM update function takes an additional parameter, which
determines if the radio state has to be synchronized with the RTX state.
If so, the ui_task does the job.
2020-12-18 21:44:59 +01:00
Niccolò Izzo 85b1fb08e6 Fix printing horizontal start coordinates 2020-12-18 19:21:23 +01:00
Niccolò Izzo c7e928666c Move low battery screen into main FSM 2020-12-18 19:03:57 +01:00
Federico Amedeo Izzo 2c792c13a2 kbd_task: Increase long-press threshold to 0.7 2020-12-18 18:42:17 +01:00
Federico Amedeo Izzo 95a8e99605 kbd_task: Send keyboard event when the key is pressed, not when it's lifted 2020-12-18 18:42:17 +01:00
Niccolò Izzo 98cd741c88 Adjust voltage thresholds 2020-12-18 17:46:15 +01:00
Niccolò Izzo 9df60008a2 Change long press interval to half a second 2020-12-18 10:27:29 +01:00
Federico Amedeo Izzo 400a766f54 kbd_task: improve long-press behaviour 2020-12-17 23:15:56 +01:00
Federico Amedeo Izzo e59085a85e Increase keyboard stack size on ARM targets 2020-12-17 22:36:36 +01:00
Federico Amedeo Izzo 67aac8a68e kbd_task: Replace renderingInProgress() check with display mutex 2020-12-17 22:30:08 +01:00
Federico Amedeo Izzo 3c00802330 threads.c: Avoid reading keyboard status while display is rendering 2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo b5c06d5459 Fix new keyboard task 2020-12-17 22:18:44 +01:00
Silvano Seva 81a2e1fc22 Fixed missing padding in kbd_msg_t bitfield struct 2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo 749f5a1444 KBD: Correct key pressed/lifted check 2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo ee6f87c735 KBD: Add missing keyboard state save 2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo b7d3e0b91d UI: Adapt updateFSM() to new keyboard message format 2020-12-17 22:18:44 +01:00
Federico Amedeo Izzo 970f3553c4 kbd_task refactoring, add long-press detection logic 2020-12-17 22:18:44 +01:00
Silvano Seva 0d5a703521 Began integrating RTX driver with all the other code 2020-12-13 11:44:07 +01:00
Silvano Seva 4f0ffe8565 Improved message passing mechanism for rtx driver configuration 2020-12-13 09:17:08 +01:00
Silvano Seva d98611fbed Updated 'display_render' documentation 2020-12-12 10:23:14 +01:00
Silvano Seva 6ca3faceaf Made calls to 'display_renderRows' and 'display_render' blocking, thus not requiring anymore to busy wiat on 'display_renderingInProgress'. Modifications involved only MDx display driver, the others were already blocking. 2020-12-12 10:16:26 +01:00
Silvano Seva 344041b371 Adjusted task stack sizes when compiling for ARM 2020-12-11 14:41:44 +01:00
Silvano Seva a38d3d2486 Fixed compilation warnings 2020-12-11 14:41:44 +01:00
Niccolò Izzo a3decb8d85 Improved low battery screen rendering on smaller screens 2020-12-11 14:40:56 +01:00
Niccolò Izzo 20667c87c4 Add low battery warning screen
Basic UI composition functions have been moved to the main to accomodate
for pre-boot warning screens.
2020-12-11 14:17:06 +01:00
Niccolò Izzo 2c1fa7376a Improve battery drawing function 2020-12-11 14:17:06 +01:00
Niccolò Izzo 41ec005680 Implement battery voltage to charge conversion
Voltage to charge nonlinear function is being linearly approximated in
the operating range.
2020-12-11 14:09:36 +01:00
Federico Amedeo Izzo 0e1d9b090f UI: Add current mode print on status bar 2020-12-07 18:43:54 +01:00
Federico Amedeo Izzo 27f2fad507 UI: Add horizontal padding to menu items 2020-12-06 22:28:11 +01:00
Federico Amedeo Izzo 9e50b7c9b1 UI: reduce menu entries font size 2020-12-06 22:28:11 +01:00
Silvano Seva 7273c084ca Moved menuItems from ui.h to ui.c 2020-12-06 22:28:11 +01:00
Federico Amedeo Izzo 2251354288 UI: Add top menu items 2020-12-06 22:28:11 +01:00
Federico Amedeo Izzo 8b1d688935 UI: Add initial menu support 2020-12-06 22:28:11 +01:00
Silvano Seva 0fee5acbf0 Complete refactoring of both rtx API and its implementation for MD3x0 platforms 2020-12-06 19:33:27 +01:00
Silvano Seva 6e144a7160 Fixed bug in MD3x0 calibration loader, made the input parameters of 'interpCalParameter' const 2020-12-06 19:33:27 +01:00
Silvano Seva 0931f1b588 Utility for interpolation of calibration parameters 2020-12-06 19:33:27 +01:00
Silvano Seva 55b182406d Initial implementation of rtx driver for TYT MD-380 radio, by now supporting only analog FM reception 2020-12-06 19:33:27 +01:00
Niccolò Izzo 6a0afd7df7 Implement battery icon function for bw screens
Add battery drawing function in graphics_bw.c, fix GD77 layout.
2020-12-06 18:03:48 +01:00
Niccolò Izzo 1ee4744cb7 Improve battery icon drawing implementation
Fix a bug where the signature of the battery draw function was not
present, causing a build error. Now the battery size and position is
screen size independent and should work for all layouts.
2020-12-06 16:22:38 +01:00
Niccolò Izzo f1400ac528 Add battery icon 2020-12-06 16:19:46 +01:00
Federico Amedeo Izzo c0b920b4bf Remove busy loop in main.c, not needed once other threads are run 2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo 7fffc339f8 Threads: align keyboard task stack size to other tasks 2020-12-06 14:37:21 +01:00