Wykres commitów

284 Commity (edb2697124b8974eaaa2ff7526b16804c803d9eb)

Autor SHA1 Wiadomość Data
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
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
Silvano Seva 774468ae46 Added to platform API a function allowing to retrieve device calibration data 2020-12-04 10:45:03 +01:00
Silvano Seva d4cdba2243 Moved calibration data structures from 'platform/drivers/NVM' to 'openrtx/include/calibration', since various modules need them 2020-12-04 10:27:04 +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 b0b772cd50 Keyboard: Add missing keyboard.h include 2020-11-28 09:53:44 +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 4dbdb5ddbb Implemented reading of channel data from external flash memory for MDx targets 2020-11-25 16:40:17 +01:00
Silvano Seva 9ba2c79425 Code changes to remove a bunch of compiler warnings 2020-11-24 17:27:30 +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
Silvano Seva 310f19c6b7 API to access external nonvolatile memory, implementation for MD3x0 devices and testsuite for printing calibration values of MD3x0 devices 2020-11-21 09:37:12 +01:00
Federico Amedeo Izzo bd176d7142 Fonts: Manually fixed font to make it more symmetric 2020-11-19 22:59:15 +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 1639ddf174 Remove OpenGD77 font 2020-11-17 14:42:23 +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
Niccolò Izzo c0ed3a7466 Add Adafruit GFX library fonts 2020-11-17 14:32:54 +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 1bed1b5cfe Remove dubious font 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 b0f5341304 Added flag for 'monitor' button to keyboard driver, implemented 'monitor' and 'function' buttons in MDxx380 keyboard driver 2020-11-03 15:15:36 +01:00
Silvano Seva 2350103831 Made platform_getVbat returning the battery voltage in V instead of mV. 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 8a3872e5f9 Added to platform API a function which allows to query the PTT status 2020-11-03 15:15:36 +01:00
Silvano Seva af2e4eb372 Adding keyboard interface API 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