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
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
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
b3bf54adcf
UI: Complete timedate menu
2020-12-31 19:05:29 +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
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
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
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
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
Federico Amedeo Izzo
400a766f54
kbd_task: improve long-press behaviour
2020-12-17 23:15:56 +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
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
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
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
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
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
Federico Amedeo Izzo
08776e70eb
Threads: rename status_task to device_task
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
0fb3493bef
Events: Complete UI events implementation
2020-12-06 14:37:21 +01:00
Silvano Seva
014262f4df
Modified event_t structure to make it castable to void *
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
94b37d9137
Events: More events changes
2020-12-06 14:37:21 +01:00
Federico Amedeo Izzo
3e461e6b80
Add initial events implementation
2020-12-06 14:37:21 +01:00
Fred
c096e946a4
Change GD77 display padding and font size
2020-12-04 20:49:04 +01:00
Fred
5d9ac78548
Fix GD77 display driver
2020-12-04 20:39:20 +01:00
Fred
2a2ca57015
Add seconds to top bar clock
2020-11-29 13:23:21 +01:00
Federico Amedeo Izzo
e62458119a
Keyboard: Increase thread stack and send multiple events if a key is kept pressed
2020-11-29 09:09:59 +01:00
Federico Amedeo Izzo
869cb673b6
Keyboard: Manage keyboard status with a queue
2020-11-29 08:45:17 +01:00
Federico Amedeo Izzo
42ccc3ac28
GFX: Add gfx_clearRows() implementation
2020-11-29 08:43:58 +01:00
Silvano Seva
5f669d1c18
Made task stack size platform dependent, since values for ARM target were too small for a correct execution on x64
2020-11-28 21:19:37 +01:00
Federico Amedeo Izzo
efc4820328
Keyboard: Replace uint32_t with keyboard_t
2020-11-28 09:51:18 +01:00
Niccolò Izzo
87ec8389cd
Fix frequency representation bug
...
Divide the frequency decimals by ten to ensure the we do not overflow
the 5 digits we can fit into the available space on the screen.
2020-11-27 16:31:11 +01:00
Silvano Seva
8b877ed6d0
Narrowed down RAM usage
2020-11-27 15:07:39 +01:00
Silvano Seva
bf24c31be7
Increased UI task stack size to 1kB, fixed some compiler warnings, code cleanup pass
2020-11-27 10:12:54 +01:00
Federico Amedeo Izzo
82be1afe17
UI: Add VFO frequency change
2020-11-26 22:44:39 +01:00
Federico Amedeo Izzo
32bbbfb9de
GFX: Remove missing dots workaround
2020-11-26 22:22:07 +01:00
Federico Amedeo Izzo
00fd786b8e
UI: Switch to alternative splash screen
2020-11-26 21:12:05 +01:00
Federico Amedeo Izzo
b4952592aa
UI: Add alternative Splash Screen
2020-11-26 17:18:53 +01:00
Federico Amedeo Izzo
f7b1423053
UI: Fix uint32_t frequency printing
2020-11-26 16:53:17 +01:00