Commit Graph
21 Commits
Author SHA1 Message Date
Raphael CoefficandRaphael Coeffic db684893e2 Refresh screen via call back set by lcdSetFlushCb 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 66cdab37ff Fixed line interrupt flags 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 7417b6568b Some cleanup & reformating 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 59c5e22620 Copy draw buffer into frame buffer after last vertical line
TODO: get rid of the blocking DMA copy
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 ee0c37157d Remove legacy fonts and make the bootloader compile with LVGL 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic b40441f0c0 WiP: remove legacy fonts 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 8d6a7c2da5 preparation for PL18, differentiate between physical and UI screen size
adapt to partial draw calls from 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
Malte LangermannandGitHub 1d7c153979 fix: ST7796S display controller detection on NV14 is unreliable, disable for now (#1714) 2022-03-21 10:37:01 +10:00
Malte LangermannandGitHub a1e03ed7b5 [NV14] Fix ST7796S LCD controller detection and colors, show LCD controller type on version screen (#1294)
show LCD controller type on NV14 radio version screen
fix ST7796S LCD controller detection
fix ST7796S driven displays to show correct colors
fix NV14 lcd_driver.cpp compiler warning
2021-12-26 10:17:30 +10:00
Raphael CoefficandPeter Feerick c4dd1c78a0 [nv14] Boot issue fixes
Fixed:
- delay shortened.
- adjusted priority of IRQs used before FreeRTOS is started.

Resolves #863
2021-10-06 16:45:55 +11: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
Richard Li e9bb2122ad Fixed lcd driver. 2021-07-07 12:47:38 +08:00
qba667 0b365adaf9 Fixed LCD display for NV14 2021-06-20 09:48:04 +02:00
Richard Li cc92f25046 Fixed NV14 build, added flysky build script and target in build-gh.sh 2021-06-09 16:10:45 +08:00
Jakub fef09a5f74 NV14 implementation partially merged with actual Flysky version. 2020-01-05 15:48:13 +01:00
Bertrand Songis 3e2cb83991 Now uses the external libopenui 2019-10-02 14:41:52 +02:00
Jakub 45b0b1d3fd Fixed includes for touch screen.
Fixed buffer size for NV14.
2019-09-02 19:19:35 +02:00
Jakub 1c81618262 New touch driver for NV14 implemented.
Backlight always enabled for NV14.
SDRAM init fixed for NV14.
2019-09-01 23:11:09 +02:00
Bertrand Songis f4f8893ae9 New UI merged 2019-08-28 20:50:14 +02:00