Commit Graph
26 Commits
Author SHA1 Message Date
Malte LangermannandGitHub d134e1a840 chore: Fix a bunch of compile warnings (#2748)
* chore: fix warnings for simu and firmware, part 1

* chore: fix warnings
2022-12-05 20:41:42 +10:00
Raphael CoefficandPeter Feerick 8725ade854 fix: simu LCD buffer pointer init to properly display splash image 2022-09-05 19:27:50 +10:00
Raphael CoefficandRaphael Coeffic a3424d5bc0 Support for touch/key events in LUA widgets 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic cf34d0519e fix: simulcd for color screens without VERTICAL_INVERT 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 40eb89e6ed lcd driver: use LVGL direct mode or rotation in driver
see https://forum.lvgl.io/t/v8-display-driver-double-buffer-low-fps-high-cpu/6901/19
2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic d515e57fc4 DMAWait mockup in simulcd 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic db684893e2 Refresh screen via call back set by lcdSetFlushCb 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic b827376acb Moved frame buffers to lcd.cpp 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 7702ee7bba Fixed simu inverted display 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic ee0c37157d Remove legacy fonts and make the bootloader compile with LVGL 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 86152da85d Remove scratch buffer 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 9b337b5483 Fix simu endless loop on shutdown 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 0cd6c9d710 LVGL drawing 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
rotormanandRisto fc2142ec78 Changed uniformly to EdgeTX boiler plate (also added boiler for files that were missing it). 2021-10-02 14:22:01 +02:00
Raphael CoefficandRaphael Coeffic 875c1688b1 Remove simuLcdBuf inversion on BW targets 2021-06-05 20:29:09 +02:00
Raphael Coeffic bfe960bee7 Added missing header file for memcpy() 2021-05-23 16:03:10 +02:00
Raphael Coeffic 05f396082a Fixed "simu" for b/w radios 2021-05-23 15:36:37 +02:00
Raphael Coeffic d44e1005f1 Added double buffering simulation to "simu" 2021-05-23 11:52:19 +02:00
Raphael CoefficandRaphael Coeffic 95aa02cedd Switch the framebuffer address rather than using 2 LTDC layers 2021-05-23 08:19:56 +02:00
Raphael CoefficandRaphael Coeffic eb4e4af0d2 Fixed display inversion issues. 2021-05-06 12:55:59 +02:00
Raphael CoefficandRaphael Coeffic 12ede2ca62 Fixed inverstion issue on radio
Spoiler: only some bitmaps used to be inverted. Added masks and fonts now in inverted mode to use the same functions.
2021-05-06 12:55:59 +02:00
Raphael CoefficandRaphael Coeffic 06335e596d Added scratch buffer and use the modifed drawFilledRect() (see libopenui#15) 2021-05-06 12:55:59 +02:00
Raphael CoefficandRaphael Coeffic 4935ed991e Move simu LCD buffer to the right place 2021-05-06 12:55:59 +02:00
Raphael CoefficandRaphael Coeffic 3ba55ac34e Fixed non-color lcd cmake
No widgets necessary for B/W.
2021-05-06 12:55:59 +02:00
Raphael CoefficandRaphael Coeffic ca36c9595e Moved simu LCD buffer to simu target 2021-05-06 12:55:59 +02:00