Commit Graph

289 Commits

Author SHA1 Message Date
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