Commit Graph
427 Commits
Author SHA1 Message Date
Raphael CoefficandRaphael Coeffic b439f24a10 Simu fixes 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic fe6922494a LCD & backlight init only from lcdInitDisplayDriver() 2022-06-17 05:34:47 +02:00
Raphael CoefficandRaphael Coeffic ae94dcd12a Radio hardware: make more compact 2022-06-14 22:57:59 +02:00
Raphael CoefficandRaphael Coeffic 4fc2a2ee5d Backlight API fixes 2022-06-13 22:43:45 +02:00
Raphael CoefficandRaphael Coeffic dc75b4916d Simu: add support for backlight off 2022-06-13 22:43:45 +02:00
Raphael CoefficandGitHub a00975d3e5 fix(simulator): fixed LCD flush sync with QT simulator (#2030) 2022-06-12 11:28:05 +02:00
Raphael CoefficandRaphael Coeffic a3424d5bc0 Support for touch/key events in LUA widgets 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 17b7cce05b fix: crashes with bootloader simu 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic aff1977e24 LZ4: color bitmaps 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 c7f2eb7eb7 fix: simu BT buffer overflow 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
Raphael CoefficandRaphael Coeffic b2c8386ceb ASAN option 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 209b253064 small fixes and size adjustments 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic dec89b56c2 fiy simu and firmware compilation issues for different radios 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 df7db43940 Prevent simu lockup on exit 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
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
RistoandGitHub cdef0d6baf improvement: Change VCP to USB-VCP in the UI (#1849) 2022-04-19 14:20:30 +10:00
Raphael Coeffic 885c0d1a2e Fix targets without trainer port 2022-03-27 17:09:41 +02:00
Raphael Coeffic 1017172350 Fix MPM firmware update 2022-03-27 17:03:41 +02:00
Raphael Coeffic 0613a29122 Cleanup 2022-03-25 18:23:19 +01:00
Peter FeerickandGitHub b54ad7169a feat: Option for inverting rotary encoder direction (#1690)
* feat: Add option for rotary encoder direction
Based heavily on opentx/opentx#8852 by @3djc

* companion ui elements

* Cleanup

* Hook up UI, reading setting from yaml

* Teach simulator about rotEncDirection

* Simu and radio default scroll direction correction
Otherwise the "default" would be the opposite to how it has always been

* Remove what will be a confict with fix in #1586

* Wasn't using rotEncDirection consistently

* Zorro RE dir is opp to TX16, TX12, TPro, X9D+2019
2022-03-22 16:14:57 +10:00
Raphael Coeffic 2a1b803c47 Fix simu led driver 2022-03-20 16:30:59 +01:00
Raphael Coeffic 3d6c971197 Use normal soft-serial function for AFHDS3 2022-03-20 16:30:59 +01:00
Raphael Coeffic 074a141d81 UI improvements 2022-03-20 16:30:58 +01:00
Raphael Coeffic 4bdd7e7ea7 GPS support at runtime 2022-03-20 16:30:58 +01:00
Raphael Coeffic b5779f2a6a More generic serial port config 2022-03-20 16:30:58 +01:00
Raphael Coeffic b39baa2360 Use USB VCP as a normal serial driver as well 2022-03-20 16:22:14 +01:00
Raphael Coeffic 530d395204 WiP 2022-03-20 16:22:14 +01:00
Raphael Coeffic 70e7a0b4ae Fix simu 2022-03-20 16:22:14 +01:00
Raphael Coeffic bbcb33f901 Fixed simu 2022-03-20 16:22:14 +01:00
Raphael Coeffic 3bcdf63d4b Fix X9D simu 2022-03-20 16:22:14 +01:00
Raphael Coeffic d9fce312d1 Fix simu/gtests-radio 2022-03-20 16:22:13 +01:00
Raphael Coeffic d9d10f2743 Fix X12S 2022-03-20 16:22:12 +01:00
Raphael Coeffic 9c9a4681c0 Fix PXX1 pulse mockup 2022-03-20 16:22:12 +01:00
Raphael Coeffic 6ac8d50c40 Fixed some more mockup drivers 2022-03-20 16:22:12 +01:00
Raphael Coeffic 0d2bc7e0c2 Fixed WDG and some others for gtests & simu 2022-03-20 16:22:12 +01:00
Raphael Coeffic 3439a94aa4 Some cleanup 2022-03-20 16:22:12 +01:00
Raphael Coeffic d4f75d43c6 Fix simu heartbeat 2022-03-20 16:22:12 +01:00
Raphael CoefficandPeter Feerick a052ba63c2 Remove COPROCESSOR 2022-01-29 14:40:17 +10:00
Raphael CoefficandPeter Feerick 09c49e24ee Remove SKY9X target 2022-01-29 14:40:17 +10:00