Commit Graph
3862 Commits
Author SHA1 Message Date
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
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
gagarinlgandRaphael Coeffic 4ef2e50563 add missing file to colorlcd CMakelist 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
Neil HorneandGitHub cba4e07ce1 fix: Pot and slider warnings weren't being set properly on radio or syncing with Companion (#1981)
- 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
2022-06-07 13:04:40 +10:00
6b557e49ea USB-VCP no OFF if internal RF module is set to CRSF (#1957)
* 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>
2022-05-30 22:14:08 +02:00
9070a5512b fix(colorlcd): Missing R9M Flex power option menu (#1880)
* 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>
2022-05-08 21:01:04 +10:00
Peter FeerickandGitHub b0e3cb015f feat(minor): Better showing of version info in firmware and cpn, remove seperate cpn32 build script (#1913)
* 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
2022-05-08 16:24:31 +10:00
eshifriandGitHub 5196c2a916 feat (colorlcd): Move input name together with input row content (#1940) 2022-05-08 15:58:51 +10:00
Raphael CoefficandGitHub 26262c4c92 fix: stack buffer overflow in PreviewWindow::drawTime (#1945) 2022-05-07 21:34:29 +10:00
eshifriandGitHub 87021209b3 fix(colorlcd): EM crash when clearing Model Category name (#1897) (#1925)
* Merge branch 'main' into eshifri/preserve_current_rebase

* Initialize category name to zero. Without it KEY_ENTER adds garbage.
2022-05-04 18:15:24 +10:00
Peter FeerickandGitHub 3d89f73394 fix: Radio Settings/SYS module version info lockup (#1901)
Fix SYS>VERSION>Modules / RX version - and pressing  "PAGE>" or "PAGE<"
and then press enter to EXIT, could result on EM.
2022-04-27 11:08:07 +10:00
Peter FeerickandGitHub 5957745518 fix: XJT Lite module type being replaced with XJT (#1904)
Fixes #1899
2022-04-27 10:58:34 +10:00
rotorman fa5b718579 Bugfix: serial power state executed on power-up irrespective of the serial mode selected. 2022-04-23 17:01:59 +02:00
rotorman db8c38d4c7 Use power port string from translations 2022-04-22 13:53:43 +02:00
rotorman 5682286173 Bugfix. Darn, tested locally building only for TX16S. 2022-04-19 13:03:31 +02:00
rotorman 084da41dc9 Limit to TX16S only. 2022-04-19 12:53:45 +02:00
RistoandGitHub ea24d0fb1e Indent 2022-04-19 09:22:18 +02:00
rotorman b1a3bc834f User controllable serial port power.
Thx to @raphaelcoeffic for numerous tips with YAML.
Tested with TX16S mkII.
2022-04-18 13:19:33 +02:00
Bryan MaylandandPeter Feerick 85d60a94ed fix: Some missing colorlcd gui if GPS on AUX1 (#1835)
* Radio Setup missing GPS items
* Statistics missing GPS info
2022-04-16 13:25:15 +10:00
Peter Feerick 0a8fd28cff fix: Timer start value not saved when changed
Resolves #1821
2022-04-15 18:47:24 +10:00
Peter Feerick 25b2e140d3 fix: Create TEMPLATES & PERS_TEMPL dirs if missing 2022-04-15 17:31:10 +10:00
Jesper FrickmannandGitHub c8c134d52d fix: colorlcd - Resolve focus issue when launching lua when creating new model (#1825) 2022-04-14 10:05:42 +10:00
d9b51f8ecf feat: Deadzone option for NV14 sticks (#1777)
Imported from open-flysky/Flysky-OpenTX-Test-Branch

* companion: Don't nuke `stickDeadZone` setting

* Implement data storage properly

* Add missing check for NV14 storage struct sizes

* Formatting

* Use one less byte in the packed data struct
Thanks @raphaelcoeffic :)

* Move setting of stickDeadZone default

* Use a Choice combo rather than NumberEdit

* Good riddance magic number

* Also set default stick zone if setting is missing

* Teach tests about `STICK_DEAD_ZONE`

* Tweak choice width

* Cpn NV14 add stick dead zone to hardware and section labels

* Cpn NV14 align default pot names to radio

Co-authored-by: elecpower <neilh713@tpg.com.au>
2022-04-06 10:30:20 +10:00
BatambatamandGitHub 9d27a6923c fix: Display FS switch names and symbol (#1804) 2022-04-05 21:17:28 +10:00
Peter FeerickandGitHub b6dd2fe6bd colorlcd: Left align input names on Model Inputs tab (#1775) 2022-04-05 18:29:31 +10:00
Peter FeerickandGitHub ee5226bb61 fix: Use setAvailableHandler to filter blMode menu (#1798) 2022-04-05 18:19:59 +10:00
eshifriandGitHub fe8cd4244b fix: Reduce chance of input view jumping to first line after deleting input (#1753)
Is not a complete fix as noted in the PR comments as focus isn't actually changed, but an incremental improvement for now.
2022-04-05 15:10:23 +10:00
Peter Feerick c495606f75 fix: Close f_open handle if background image found 2022-04-04 09:11:10 +10:00
RistoandGitHub c9594390e2 feat: Show module info for MPM and CRSF on Radio Version screen (#1771)
* Show module info for MPM and CRSF

* Consider MPM only if MULTIMODULE is defined

* Consider MPM only if MULTIMODULE is defined
2022-04-01 10:52:08 +10:00
Peter FeerickandGitHub 7b617c1b50 fix: LUA=N compile fixes, radio hardware tab bottom padding (for touch) (#1755)
* Fix `LUA=N` compile breakage and tidyup on NV14

* Alignment and padding
Resolves #1751 but incomplete solution,
as the real cuplrit appears to somehow
be in `InternalModuleWindow`
2022-03-31 11:52:17 +10:00
ed7be53565 feat: Function Switch led startup sequence (#1746)
* TPro - Fancy led startup seq

* Cleanup

* fix define for function switches

* added shutdown sequence @pfeerick

* Formatting

Co-authored-by: Batam <batam@macbook-pro.home>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-03-31 11:50:46 +10:00
Risto b3108841ff Show MPM and CRSF Info
Should fix #1760
2022-03-30 09:42:07 +02:00
5cdff72205 feat: Jump to channel monitor from any model page. (#1748)
* Jump from mixes/outputs to channel monitor

* remove unnecessary headers

* Add Button names to translations

* jump from any model page to channel monitor

* Use TELEM short press instead of long press.

* Support TXs with pure touch interface

* Change to KEY_MODEL, whitespace cleanup, git eol

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-03-30 12:08:16 +10:00
TheIsotopesandGitHub 78dc2930d0 fix: German language about screen cosmetics / translation (#1737)
* about screen german translation fix

* about screen 128x64 cosmetic
2022-03-27 18:32:19 +10:00
Raphael CoefficandRaphael Coeffic 7922afd9ca Implemented proper logic for number of channels (incl. start channel) 2022-03-24 10:40:17 +01:00
Raphael CoefficandRaphael Coeffic 9e40aaa215 Stdlcd UI for Lemon-Rx DSMP 2022-03-24 10:40:17 +01:00
Raphael CoefficandRaphael Coeffic 9d5cd1876c Added support for Lemon-Rx DSMP 2022-03-24 10:40:17 +01:00
Raphael CoefficandRaphael Coeffic 86d1ca4364 Reorganize module type/subType/rfProtocol 2022-03-24 10:40:17 +01:00
WilhelmandGitHub c14417a325 Try to fix use of unterminated strings in mixer setup (#1317) (#1338)
* fixes the non-terminated fixed-string problem in lua-mixer-script
added some useful info to the script-line
make the popup menu to delete a script

* removed unneccessary comments

* intermediate fix

* tried to obey all comments to the code
and to eliminate further potential buffer-overflows

* fixed typo

* fixed async loading of lua scripts and update of widget
cleanup

* removed GCC pragmas (clang warn about them)
remove constexpr qualification (gcc accepts them because gcc-builtins are already constexpr, clang still warns about them)

* removed merge marker
2022-03-23 12:40:06 +01:00
Raphael Coeffic 921854d13c fix: bottom of hardware menu on stdlcd 2022-03-22 14:58:39 +01:00
Raphael Coeffic f4cfcf2d3f fix: restart internal module when baudrate is changed 2022-03-22 11:33:16 +01:00
Peter Feerick 8da54326cb fix: Faster topbar widget refresh (10hz, was 2hz)
Fixes #1096
2022-03-22 20:16:49 +10:00
Peter Feerick 08ffcc726a fix: Only remove topbar widget zone if GPS active
Fixes #1718
2022-03-22 19:44:25 +10: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
Peter FeerickandGitHub 33f761c17b feat: Configurable external CRSF baud rates (see #1581)
CRSF modules baudrate
2022-03-22 16:06:57 +10:00
Peter FeerickandGitHub c327c6c0db fix: TPro FS showing in global funcs and MPM protocol list updates (#1705)
* Init contrast earlier for 128 B&W screens
https://github.com/opentx/opentx/pull/8882

* fix: TPro - No FS in global functions
https://github.com/opentx/opentx/pull/8845

* Missing IS_SWITCH_FS defintions

* Update MPM fallback SUBTYPE and OPT strings

* Custom MPM proto should not be processed
2022-03-21 20:57:04 +10:00