Commit Graph
9983 Commits
Author SHA1 Message Date
Raphael CoefficandRaphael Coeffic a34bb51590 Update libopenui 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 681c161dd3 Touch events again and some clean-up 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 81366e5ae6 WiP: use tileview in ViewMain 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic b23cb30884 Mandate providing a parent on layout creation 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 7eb1aa8667 libopenui update 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic 9181e5e4e6 fix flight modes 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic a877915138 Fix scrolling 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 2b7a120a86 Fix sliders "getValue" == nullptr 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 731ac128dc Use touch events from LVGL 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 8f68af094c Add slider edit style 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 6dbe059c4e Fix propagating focus from LVGL to libopenui 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 2c39042e16 Use LVGL sliders 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 108dbc747b fix outputs widget vertical line drawing 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 865ba72ed0 Snap to main menu icons 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 02c64b07a9 Use LVGL scrolling events 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 90c23a15a5 select fab carousel: fix dimensions 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic b3f6b92408 udpate libopenui 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 9633f3cfeb use updated libopenui
fix libopenui/lvgl run order
2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic eceab2eeb6 use current libopenui state 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 82051f6149 touch fixes for LVGL 2022-06-11 15:38:08 +02:00
Malte LangermannandRaphael Coeffic daa957bb47 use the canvas image buffer to draw libopenui, one screen operation less per draw call 2022-06-11 15:38:08 +02:00
Malte LangermannandRaphael Coeffic 0844e8d480 use fixed libopenui 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic 87472b5a1e additional changges for keyboard processing 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic 7271c4f730 added factory code, and the beginnings of styling 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 169dd1219d reference new libopenui commit 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic 2495691c65 1. Included mroe fonts
2. change order of initialization.  Lvgl has to be before ViewMain
3. Basic support for layers, but they are still broken when Menu's are used
4. Register input driver in lvglwrapper
2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 6864954c84 use current libopenui state 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic f6c7607cc2 touch fixes for LVGL 2022-06-11 15:38:08 +02:00
Malte LangermannandRaphael Coeffic 06f72c3ce6 use the canvas image buffer to draw libopenui, one screen operation less per draw call 2022-06-11 15:38:08 +02:00
Malte LangermannandRaphael Coeffic 0c7d4cf1e9 use fixed libopenui 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic 35af1cd008 additional changges for keyboard processing 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic 52ec439ca2 added factory code, and the beginnings of styling 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 528e1a9031 reference new libopenui commit 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic c62655e352 fix issues with layers, still broken 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic dd6108a59c remove test code 2022-06-11 15:38:08 +02:00
kkoenig1@optonline.comandRaphael Coeffic fd276bb2fc 1. Included mroe fonts
2. change order of initialization.  Lvgl has to be before ViewMain
3. Basic support for layers, but they are still broken when Menu's are used
4. Register input driver in lvglwrapper
2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 4ef2e50563 add missing file to colorlcd CMakelist 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic fb7a7364a4 just something to play with lvgl
simu is working partially
TX16S has worked, is now broken, due to changes to make simu work

working means, lvgl shows something on the display and handles touch events

to stop libopenui from interfering this is needed in libopenui:

diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 09cc3d3..cda095f 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -79,7 +79,7 @@ void MainWindow::checkEvents()
   if (touchPanelEventOccured()) {
     short lastDeltaX = touchState.lastDeltaX;
     short lastDeltaY = touchState.lastDeltaY;;
-    touchState = touchPanelRead();
+    //touchState = touchPanelRead();
     touchState.lastDeltaX = lastDeltaX;
     touchState.lastDeltaY = lastDeltaY;
   }
@@ -177,6 +177,7 @@ void MainWindow::invalidate(const rect_t & rect)

 bool MainWindow::refresh()
 {
+return false;
   if (invalidatedRect.w) {
     if (invalidatedRect.x > 0 || invalidatedRect.y > 0 || invalidatedRect.w < LCD_W || invalidatedRect.h < LCD_H) {
       TRACE_WINDOWS("Refresh rect: left=%d top=%d width=%d height=%d", invalidatedRect.left(), invalidatedRect.top(), invalidatedRect.w, invalidatedRect.h);

add eclipse projetc files and helper scripts

some cleanup and fix simu

NV14 simu and TX16s simu are working with lvgl
no more magic numbers
added files for a lvgl wrapper class for initialization

moved lvgl initialization to LvglWrapper
code cleanup
started implementing a widget as a drawing target for libopenui

with some additional changesin libopenui, the libopenui ui can be displayed on a lvgl canvas

fix lvgl full screen canvas

update personal project files

add file with patch instructions for libopenui

works on NV14 with a canvas as the drawingtarget for libopenui and direct touch handling by libopenui

fix indentation

enabled double buffering for LVGL using the LCD frame buffers
transparancies are broken on TX16s
simulator does not work
untested on NV14

simu for NV14 and TX16S run and work mostly
works mostly on NV14 and TX16S

some pop ups (e.g. USB) flicker
LUA full screen apps won't display anything

touch handling still done by libopenui
on TX16S lvgl widgets are rotated by 180°

untested on all other radios

fix using of commeted out function. No touch handling for LVGL right now

rotate screens, so that libopenui and LVGL have the same screen rotation

removed the need to rotate images and fonts when using LVGL
currently the changes can be easily reverted

deleted lvgl copy

building with lvgl as unmodified submodule works

move lv_conf to radio/src

delete eclipse project files

use specific branch for lvgl

use libopenui lvgl branch
remove now unneeded help.txt

add missing file to colorlcd CMakelist

fix image display problems in TX16S simulator

just something to play with lvgl
simu is working partially
TX16S has worked, is now broken, due to changes to make simu work

working means, lvgl shows something on the display and handles touch events

to stop libopenui from interfering this is needed in libopenui:

diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 09cc3d3..cda095f 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -79,7 +79,7 @@ void MainWindow::checkEvents()
   if (touchPanelEventOccured()) {
     short lastDeltaX = touchState.lastDeltaX;
     short lastDeltaY = touchState.lastDeltaY;;
-    touchState = touchPanelRead();
+    //touchState = touchPanelRead();
     touchState.lastDeltaX = lastDeltaX;
     touchState.lastDeltaY = lastDeltaY;
   }
@@ -177,6 +177,7 @@ void MainWindow::invalidate(const rect_t & rect)

 bool MainWindow::refresh()
 {
+return false;
   if (invalidatedRect.w) {
     if (invalidatedRect.x > 0 || invalidatedRect.y > 0 || invalidatedRect.w < LCD_W || invalidatedRect.h < LCD_H) {
       TRACE_WINDOWS("Refresh rect: left=%d top=%d width=%d height=%d", invalidatedRect.left(), invalidatedRect.top(), invalidatedRect.w, invalidatedRect.h);

add eclipse projetc files and helper scripts

some cleanup and fix simu

NV14 simu and TX16s simu are working with lvgl
no more magic numbers
added files for a lvgl wrapper class for initialization

moved lvgl initialization to LvglWrapper
code cleanup
started implementing a widget as a drawing target for libopenui

with some additional changesin libopenui, the libopenui ui can be displayed on a lvgl canvas

fix lvgl full screen canvas

update personal project files

add file with patch instructions for libopenui

works on NV14 with a canvas as the drawingtarget for libopenui and direct touch handling by libopenui

fix indentation

enabled double buffering for LVGL using the LCD frame buffers
transparancies are broken on TX16s
simulator does not work
untested on NV14

simu for NV14 and TX16S run and work mostly
works mostly on NV14 and TX16S

some pop ups (e.g. USB) flicker
LUA full screen apps won't display anything

touch handling still done by libopenui
on TX16S lvgl widgets are rotated by 180°

untested on all other radios

fix using of commeted out function. No touch handling for LVGL right now

rotate screens, so that libopenui and LVGL have the same screen rotation

removed the need to rotate images and fonts when using LVGL
currently the changes can be easily reverted

deleted lvgl copy

building with lvgl as unmodified submodule works

move lv_conf to radio/src

delete eclipse project files
2022-06-11 15:38:08 +02:00
Neil HorneandGitHub cba4e07ce1 fix: Pot and slider warnings weren't being set properly on radio or syncing with Companion (#1981)
- fix Companion yaml model read and write
- B&W radios treat bit values the same as color to avoid unnecessary complication for Companion and radio conversions
- B&W radios default is therefore off for all pots and sliders
- B&W radios fix runtime warnings check
- all radios fix to save last pot or slider position when checked and mode AUTO on change of model or power off
- all radios do not display Pots Warning in model setup if no pots or sliders supported
2022-06-07 13:04:40 +10:00
Ktr128andGitHub d70828579e fix: Frsky CAT01 negative altitude when going above 327 meters of takeoff height (#1974) 2022-06-01 14:24:51 +10:00
6b557e49ea USB-VCP no OFF if internal RF module is set to CRSF (#1957)
* Do not list OFF on VCP menu if internal RF module is set to CRSF to allow pass-through flashing.
Set USB-VCP automatically to CLI when CRSF mode is selected for internal module and it was previously OFF. Activate CLI when iCRSF is selected.

* Companion part

Co-authored-by: elecpower <neilh713@tpg.com.au>
2022-05-30 22:14:08 +02:00
9070a5512b fix(colorlcd): Missing R9M Flex power option menu (#1880)
* Update model_setup.cpp

Adds R9M Flex (ACCST, non ACCESS) Power option GUI menu item, which is currently missing.

* Update model_setup.cpp

* R9M Flex power option menu for colorlcd

Adds power selection menu for R9M Flex  (ACCST, pre 2019) on colorlcd radios. Tested working on a tx16s.
https://github.com/EdgeTX/edgetx/issues/1187

* Just test for FCC variants

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-05-08 21:01:04 +10:00
Peter FeerickandGitHub b0e3cb015f feat(minor): Better showing of version info in firmware and cpn, remove seperate cpn32 build script (#1913)
* fix: Prevent potential wordsplitting of variables

* chore: Remove need for separate cpn 32bit script

* Build script tag/branch/PR auto-detection

* Teach companion about VERSION_TAG

* Update some constant names

* Only one companion build script

* Actually use `VERSION_SUFFIX` in about screen 🤦

* Add space

* Remove line that was only for testing 32bit build

* Remove hyphen between win and bits

* Show codename in Settings -> Version

* cpn: Only show codename on tagged versions

* Update about screen also

* Double quotes around codename on colorlcd

* Update copyright year

* About screen should use VERSION_TAG when set
2022-05-08 16:24:31 +10:00
eshifriandGitHub 5196c2a916 feat (colorlcd): Move input name together with input row content (#1940) 2022-05-08 15:58:51 +10:00
Raphael CoefficandGitHub 26262c4c92 fix: stack buffer overflow in PreviewWindow::drawTime (#1945) 2022-05-07 21:34:29 +10:00
Raphael CoefficandPeter Feerick 7806d5f892 Crossfire: add barometer altitude sensor 2022-05-07 19:25:17 +10:00
RistoandGitHub 60fbe5eddb fix(t16): Set the same highest brown-out threshold level for all T16 family radios (#1906)
* Set the same highest BOR level for all T16 family radios

* Add stm32f4xx_flash.c to T16 and T18
2022-05-04 20:38:07 +10:00
eshifriandGitHub 87021209b3 fix(colorlcd): EM crash when clearing Model Category name (#1897) (#1925)
* Merge branch 'main' into eshifri/preserve_current_rebase

* Initialize category name to zero. Without it KEY_ENTER adds garbage.
2022-05-04 18:15:24 +10:00
RistoandGitHub b9d9f61456 feat(T16,T18): Add support for USART6/AUX2, incl. internal GPS, if Bluetooth is not enabled (#1915)
Adds USART6/AUX2 support also to Jumper T16 & T18. TX and RX lines are accessible via internal FrSky Bluetooth module pads on the mainboard. The USART6/AUX2 serial port functionality is usable more generic on these radios as well and not limited to Bluetooth only.
E.g. radio GPS is supported after this change (as are further serial port modes).
Only if firmware is explicitly built with -DBLUETOOTH=YES, USART6 will be dedicated to Bluetooth (as is the case also e.g. with TX16S).
2022-05-01 13:38:40 +02:00
Raphael CoefficandGitHub 8c0c667ab7 fix(compilation): Use install(DIRECTORY...) instead of FILES so all simulators packaged (#1912)
This allows the list of files to be resolved at the last moment versus when cmake is executed first.
2022-04-28 15:10:09 +10:00