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
- add save model(s) to context menu and toolbar
- new storage functions to support single model write
- modified yml storage format write functions
- default save directory is application sd card TEMPLATES
- model name used as default file name
* Add new model actions to application settings
* Add new model prompt action
* Tweak wording
* Add new model action template
* Open individual model yml files
* Tidy up after importing template
* Add create default and edit to prompt options
* Fix edit mode to display the edit dialog after model creation when selected in settings
- 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
- parse the yaml file and if successful open as a new document in a Models and Settings window
- warn the user that no radio conversion has been possible as source radio flavour unknown
- populate radio settings with default values based on current radio profile
* 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>
* 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>
* 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
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).
* fix: Only define SUFFIX if PR or BRANCH build
Also, only define `VERSION_TAG` if VERSION_TAG exists.
* fix: Omit GIT SHA for colorlcd also if a tagged build
* Add PR number to version string
* Testing another way
* Decide according to GitHub ref type how to parse and where to output.
Prioritize EDGETX_VERSION_TAG, if set, else resort to EDGETX_VERSION_SUFFIX, if set.
Adjust also firmware_version and boot_version strings and adjist bootloader title.
* Consider also B/W.
* B&W: omit GIT SHA if tagged, otherwise own line
Omit GIT SHA from version string if a tagged version.
Otherwise, show on own line since is too long for 128x64 B&W displays.
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
* Add codename to version string and to bootloader title.
* Use EDGETX_VERSION_SUFFIX instead of CODENAME
* use "dev" instead of "merge" and "custom" instead of "SB".
Changed to lower case for "nightly" and "release".
* Show TEST BUILD warning screen for all non release builds.
* Improved logic
* Removed TEST_BUILD_WARNING, reverted to "merge" and changed to "selfbuild".
CMake: Use ExternalProject_Add() to split by toolchain
Splits targets between native and cross-compiled targets, provides a cleaner solution to problems raised by compiling for example on Apple silicon, and better managing dependencies by allowing for object libraries in a cleaner way.