Commit Graph
17574 Commits
Author SHA1 Message Date
kkoenig1@optonline.comandRaphael Coeffic fd3d6c902c updated libopenui submodule to point to gagarinlg/libopenui 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 bf4b5dca93 use libopenui lvgl branch
remove now unneeded help.txt
2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 810bb9748d use specific branch for 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
Peter Feerick 67787afc92 fix(cpn): Ext. mod DSMX not being read/written
Fixes #2014
2022-06-08 20:24:57 +10:00
Peter Feerick 10b16337ca chore(github): Add emoji to labels and missing ver
- Used  labels now have emoji and weren't automatically tagged
- v2.7.1 was missing from the list of options
2022-06-08 19:02:25 +10:00
Neil HorneandGitHub 33845b9def chore(cpn): Bump miniz to v2.2.0 (#2010)
* Install miniz v2.2.0 release over v1.15
* Update interfacing to miniz and compile miniz as a library
2022-06-08 12:38:40 +10:00
Neil HorneandGitHub 47a90ed38f feat(cpn): Add individual model save to yml (#1968)
- 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
2022-06-07 20:53:45 +10:00
Neil HorneandGitHub e173d5b448 feat(cpn): Prompt/option to insert if pasting onto existing model (#1976)
* Option to insert if pasting onto existing model

* Change button from Continue to Overwrite and message prompt wording
2022-06-07 17:55:16 +10:00
Neil HorneandGitHub 1964560774 feat(cpn): Add two more new model actions: template and prompt (#1963)
* 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
2022-06-07 17:53:03 +10: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
Neil HorneandGitHub cd59eac89f feat(cpn): Allow opening of individual model yml files (#1959)
- 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
2022-06-07 10:50:21 +10:00
Eder NucciandGitHub 1e8ef179d6 feat(cpn): Reorder log graph line colors for better reading (#2001)
Yellow as the choice for the third line colour was nearly unreadable with a white background
2022-06-07 10:27:19 +10:00
RistoandGitHub 1d2bcf6ee7 Added lz4 in preparation for LVGL also to Ubuntu 2022-06-06 18:25:36 +02:00
RistoandGitHub 3684c766ec Added lz4 in preparation for LVGL 2022-06-06 18:25:30 +02:00
Neil HorneandGitHub 6448b907d0 fix(cpn): Prevent crashing due to malformed theme.yml files (#1970)
Malformed yaml theme files would cause Companion to crash without indication of fault.
2022-06-04 11:20:42 +10:00
Neil HorneandGitHub 077abf719d chore(cpn): read/write semver in model and radio yml files (#1977)
Companion part of #1695, making it so companion is not removing written semver
2022-06-04 11:09:39 +10:00
Ktr128andGitHub d70828579e fix: Frsky CAT01 negative altitude when going above 327 meters of takeoff height (#1974) 2022-06-01 14:24:51 +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
RistoandGitHub cff819ea0e fix: Add git 2.35.2 and later workaround for CVE-2022-24765 change
Thx to @pfeerick https://github.com/pfeerick/edgetx/pull/6/files
2022-05-26 15:08:29 +02:00
RistoandGitHub 8722d27c5e Split CMake does not need -DDISABLE_COMPANION=YES anymore 2022-05-26 14:43:21 +02:00
RistoandGitHub b843b715e3 MSYS2 dev. env. setup script update/fix (#1979)
Fix Python bcj-cffi and pyppmd package installation under MSYS2 and match better the GitHub MSYS2 environment setup.
2022-05-20 12:22:02 +02:00
ulfhedlundandGitHub ce09b94e66 Companion se translations (#1980)
Updates for Swedish language in Companion
2022-05-19 22:09:17 +02:00
Peter Feerick 49c585f6d4 fix(ghaction): Update inc. path to match filename
Thanks @rotorman
2022-05-13 12:20:35 +10:00
Peter Feerick 48a10a35ef chore(ghaction): Change name of 64bit cpn action 2022-05-09 13:44:03 +10: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
Raphael CoefficandPeter Feerick 7806d5f892 Crossfire: add barometer altitude sensor 2022-05-07 19:25:17 +10:00
RistoandGitHub 60fbe5eddb fix(t16): Set the same highest brown-out threshold level for all T16 family radios (#1906)
* Set the same highest BOR level for all T16 family radios

* Add stm32f4xx_flash.c to T16 and T18
2022-05-04 20:38:07 +10:00
Neil HorneandGitHub b1adb18e39 fix(cpn): Improve layout and word wrap of Model -> Curves tab (#1923) 2022-05-04 19:47:48 +10:00
Neil HorneandGitHub 9d6d91d99c feat(cpn): Clean up B&W MODELS folder before write to radio (#1932) 2022-05-04 18:48:11 +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
RistoandGitHub b9d9f61456 feat(T16,T18): Add support for USART6/AUX2, incl. internal GPS, if Bluetooth is not enabled (#1915)
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).
2022-05-01 13:38:40 +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 7af253145f Updated commands to support the new split CMake toolchain 2022-04-27 14:19:00 +02:00
Neil HorneandGitHub 4856b03891 fix(companion): Update label for VCP to USB-VCP missed in #1849 (#1910) 2022-04-27 21:32:00 +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
RistoandGitHub f2b07ddf1b feat(firmware): Set "nightly" suffix for GitHub nightly builds (#1903)
* Sets explicit "nightly" suffix for GitHub nightly builds.

* Extract and set EDGETX_VERSION_SUFFIX only, if not already set
2022-04-26 20:44:44 +10:00
Peter FeerickandGitHub 3493d69c5b chore: Further tweaks to version string (#1895)
* 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
2022-04-26 10:32:01 +10:00
Jim TaylorandGitHub 0514ed2b99 fix(compilation): Find libclang on systems that use /usr/lib64 (#1890) 2022-04-25 15:36:10 +10:00
ddad99eab1 feat: Add PR number to version string on PR builds (#1887)
* 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>
2022-04-25 11:42:19 +10:00
Peter Feerick 2a3fc748bb feat: Better indicate release and development versions via version suffix (#1850)
* 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".
2022-04-24 14:26:56 +10:00
Peter FeerickandGitHub f5b1b53294 feat(TX16S): User options for AUX1/AUX2 serial port power (ON/OFF)
User controllable serial port power for TX16S
2022-04-24 11:53:31 +10:00
Peter Feerick bcc8cdde51 fix(companion): AUX_SERIAL_TELE_IN value wrong 2022-04-24 11:01:12 +10:00
Peter FeerickandGitHub 0fabd8c601 build(cmake): Allow spliting of toolchains, which will help with multi-platform support
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.
2022-04-24 10:29:31 +10:00
elecpower dfd4c5a56a Companion save serial port settings even if OFF 2022-04-24 08:32:45 +10:00