Commit Graph
21017 Commits
Author SHA1 Message Date
gagarinlgandRaphael Coeffic b3f6b92408 udpate libopenui 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 59e68ae8c6 switch libopenui to use EdgeTX/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
kkoenig1@optonline.comandRaphael Coeffic fd3d6c902c updated libopenui submodule to point to gagarinlg/libopenui 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 bf4b5dca93 use libopenui lvgl branch
remove now unneeded help.txt
2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 810bb9748d use specific branch for lvgl 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
Raphael CoefficandRaphael Coeffic ae6f7b55d3 table field: add onSelected() 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 14fea89118 flex grid: add shortcut for Window 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic e47b1ca245 Always include code for visual keyboards
Used now on non-touch interfaces as well.
2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 390fed8997 Better dynamic number 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 78e067a753 window: remove unused local variable 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 4ecedab3c8 form field: add SCROLL_ON_FOCUS
Fixes issue with choices not triggering scroll on focus.
2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic a7ee9d3a81 button: remove LV_OBJ_FLAG_CHECKABLE on text buttons 2022-06-11 15:13:11 +02:00
gagarinlgandRaphael Coeffic 8f63932e43 don't always stretch sliders 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic cbe237a945 button: add long press 2022-06-11 15:13:11 +02:00
gagarinlgandRaphael Coeffic 1ab128e084 let sliders and text always stretch to a grid cel, if used in a grid layout
add padding on the right side in grid layouts
2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic ee3f51330a cleanup 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic aca9bf420a Text & number edit use the same custom widget 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 574d008b67 Snap to begin / end of window when near 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 34652c4afa fix: draw non-null terminated strings 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 1acea8fc88 fix(flex grid): added padding between rows as well 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic fd3deb2571 fix(choice): send LV_EVENT_VALUE_CHANGED after value has been set 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 862073d4c2 fix(focus): hasFocus() uses proper state 2022-06-11 15:13:11 +02:00
kevin koenigandRaphael Coeffic 469375786b if we are flex layout then increase padding. also add margin to label to give it some white space. 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 40233604ce cleanup & formatting 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic fd0881f19e fix(table): focus border and click behavior 2022-06-11 15:13:11 +02:00
gagarinlgandRaphael Coeffic c1e143c4fd attach windo focusHandler to LVGL events 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 85e9f1d7ca fix(slider): edit mode 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 6177a94486 choice toolbar: new implementation based on LVGL group 2022-06-11 15:13:11 +02:00
Raphael CoefficandRaphael Coeffic 25715ed648 Replaced focus handling with LVGL groups 2022-06-11 15:13:11 +02:00