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
Silvano Seva
5d964f3358
Reorganised radio state data structure, bringing in new channel_t variable.
2020-11-26 15:25:26 +01:00
Silvano Seva
380f489eb0
Changed underlying type of 'freq_t' from 'float' to 'uint32_t'
2020-11-24 15:39:10 +01:00
Silvano Seva
65e4643f1e
Code cleanup and suppression of some compilation warnings
2020-11-24 14:23:05 +01:00
Federico Amedeo Izzo
32ccd29c5c
State: Add sane initialization
2020-11-21 11:02:49 +01:00
Federico Amedeo Izzo
3370e5a3a7
Add shared state logic
2020-11-21 10:46:48 +01:00
Niccolò Izzo
a6c9bf6dd8
Quick fix of missing dots
2020-11-19 22:18:36 +01:00
Federico Amedeo Izzo
56dfb38c2a
UI: Hide random pixels with a 30ms delayed backlight
2020-11-19 21:41:28 +01:00
Federico Amedeo Izzo
0ebd942c7a
UI: Move VFO to 2nd and 3rd line, remove VFO Demo text
2020-11-19 21:02:19 +01:00
Federico Amedeo Izzo
0f0d6fe344
UI: Add top and bottom lines
2020-11-19 17:05:10 +01:00
Federico Amedeo Izzo
f2d9db024c
Graphics: Add drawHLine and drawVLine functions
2020-11-18 16:56:32 +01:00
Federico Amedeo Izzo
0b8bb486a4
UI: Add VFO Demo text
2020-11-18 10:12:14 +01:00
Federico Amedeo Izzo
39d5912adc
UI: Add 3 font sizes, fix UI padding for new fonts.
2020-11-17 22:50:27 +01:00
Niccolò Izzo
91d0e05af7
Replace OpenGD77 fonts with Adafruit GFX fonts
...
OpenGD77 custom binary font format was replaced with Adafruit GFX
library standard font format, to be able to reuse all the available
fonts, together with the relative tools.
2020-11-17 14:42:23 +01:00
Silvano Seva
e2dd96356d
Refactored UI source code
2020-11-16 09:03:03 +01:00
Silvano Seva
86e7f82ace
Moved platform initialisation to main() function
2020-11-16 08:42:10 +01:00
Silvano Seva
1b4b000b66
Adding file left behind in the previous commit
2020-11-15 22:25:43 +01:00
Silvano Seva
b06b120148
Reorganising thread structure, moving thread bodies and thread creation function into a dedicated source file to make overall source code more easily readable
2020-11-15 22:23:32 +01:00
Federico Amedeo Izzo
11854aaaa6
ui.c: Remove infinite loop, now handled by task execution in main.c
2020-11-15 21:25:42 +01:00
Federico Amedeo Izzo
3feaa992b8
main.c: Set task priorities
2020-11-15 10:13:32 +01:00
Federico Amedeo Izzo
1000133c01
Create thread structure
...
Now main.c creates four threads to manage
- UI
- Platform state
- Analog radio
- Digital radio
Every thread has an entry point named `*_main()` like `ui_main()`
that gets executed periodically depending on the given interval
2020-11-14 19:33:56 +01:00
Silvano Seva
5ba7563638
Added missin include to ui.c
2020-11-03 21:47:10 +01:00
Federico Amedeo Izzo
45849c0f60
UI: Fix missing zeroes from clock and VBat
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
58cb6857a5
UI: Add responsive layout calculation
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
a19ba1785e
UI: Add VFO frequency to main screen
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
46add610e1
UI: Add battery indicator
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
c0e4115482
UI: Add clock to top bar, add rtc.c for Linux
2020-11-03 15:15:36 +01:00
Fred
09be53b24a
Fix keyboard variable size
2020-11-03 15:15:36 +01:00
Silvano Seva
ce0e901d78
Fixed missing SysTick initialisation when compiling for x86 target
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
7f557cb758
UI: Add ascii art explaination
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
a2b2b602dd
Add initial UI main
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
b0e83c4303
Fix compilation for MD-UV380
2020-11-03 15:15:36 +01:00
Silvano Seva
50f6799ab9
Little improvements in platform test: reduced delay and blinking green led to signal effective code execution
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
1877f92905
main.c: Add Platform test
2020-11-03 15:15:36 +01:00
Silvano Seva
8b7ec5b4ce
Removing useless include from bootstrap.c
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
0c198d100d
Add missing `#include <hwconfig.h>`
2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo
6b0f0242d1
Remove screenWidth and screenHeight getters.
2020-11-03 15:15:36 +01:00
Fred
75dd0d2fab
bootstrap.c: remove unused include
2020-11-03 15:15:36 +01:00
Silvano Seva
00d726ddbc
Moved bootstrap code into a dedicated file to improve readability
2020-11-03 15:15:36 +01:00
Silvano Seva
160b23f1b7
Fixed pixel setting in black and white graphics driver
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
838490574e
graphics_bw.c: Fixed compilation errors
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
c77ff5b339
graphics_bw.c: Add initial version
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
b04617007d
graphics_rgb565.c Fixed screen size check
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
3096146da8
graphics_rgb565.c: Removed backlight setter (now in platform.c)
...
and fixed license authors
2020-11-03 15:15:35 +01:00
Silvano Seva
06346ac827
Moving function for setting display backlight level from display driver to 'platform.c' file
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
aafa67c176
main.c: Remove stm34fxx.h include
2020-11-03 15:15:35 +01:00
Niccolò Izzo
02209e4c1a
Add main file stub and display demo
...
Initial MVP of a main file that prints a text on the radio display.
The code is already platform independent, to be ported effortlessly
to any of the supported platforms.
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
9a5e12d4f0
graphics.h renamed graphics_* to gfx_*
...
Removed unused print methods
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
9b26c2d71b
Add printing functions from legacy-code branch
2020-11-03 15:15:35 +01:00
Silvano Seva
603fddfdb0
Fixed drawLine function and endianness issues with pixel format in RGB565 graphics driver
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
09602387b2
graphics_rgb565.c: Implement drawing empty rectangles
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
dac60a7be5
graphics_rgb565.c: Replaced hardtabs with spaces
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
52b4718deb
graphics_rgb565.c: small refactoring. Linux-demo: moved from display interface to graphics interface
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
94bece00c0
add graphics_rgb565.c to linux target, fixed compilation errors
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
0a3249522f
renamed graphics_rgb.c to graphics_rgb565.c
2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo
c1982bdf61
graphics_rgb.c: add initial RGB graphic library version
2020-11-03 15:15:35 +01:00
Silvano Seva
4ab8cb55e8
Creating folder structure
2020-11-03 15:15:35 +01:00