Commit Graph
2301 Commits
Author SHA1 Message Date
Raphael CoefficandRaphael Coeffic 86152da85d Remove scratch buffer 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
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
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
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
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 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 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
RistoandGitHub a873bb1dda On software controllable serial power pins, keep power off during bootloader (#1882) 2022-04-23 14:58:43 +02:00
WilhelmandGitHub 7a6d6239b5 feat(X12S): Add support for touch screen mod (#1779)
Adds support of RadioMaster TX16S touch screen on FrSky X12S radio.
2022-04-23 12:22:47 +02:00
rotorman 084da41dc9 Limit to TX16S only. 2022-04-19 12:53:45 +02:00
RistoandGitHub cdef0d6baf improvement: Change VCP to USB-VCP in the UI (#1849) 2022-04-19 14:20:30 +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
Raphael Coeffic c11d7d58ae Moved FreeRTOS to an object library
This also allows for reducing the propagated includes and thus avoid name clashes to FreeRTOS.
2022-04-03 17:50:53 +02:00
Raphael Coeffic 57d1d953c8 Removed GCC path hack on NV14 as well 2022-04-01 08:56:25 +02:00
Raphael Coeffic baa4f65d9b Use ExternalPoject_Add() to split by toolchain 2022-04-01 08:56:25 +02:00
zyrenandGitHub 8a988b7f88 fix: Added CN/TW translations, reduced TW text size to fit firmware, TX16 BOR tweak (#1776)
* Added CN/TW translation and reduced TW text size

Added CN/TW translation and reduced TW text size.
Because the TW text causes the firmware to exceed the flash size, reduce the text size.

* Modify the STM32 BOR level on TX16S to avoid system failure in extreme cases

Modify the STM32 BOR level on TX16S to avoid system failure in extreme cases.

* Update cn.h.txt

* Update tw.h.txt
2022-04-01 10:46:09 +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 ead920bf1d Fixed INTMODULE_FIFO_SIZE 2022-03-27 16:22:46 +02:00
Raphael Coeffic 0613a29122 Cleanup 2022-03-25 18:23:19 +01:00
Raphael Coeffic a994fc708a WiP internal module buffer 2022-03-25 18:15:56 +01:00
Raphael CoefficandRaphael Coeffic 4d0d89b967 Move telemetry EXTI handler up in the chain 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 f09c10b49d Cleaner first pulse 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
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
3djcandRaphael Coeffic 6f158663a9 Fixes 2022-03-21 11:45:15 +01:00
3djcandRaphael Coeffic 001144cd5c Ghost module handling 2022-03-21 11:45:15 +01:00
Peter FeerickandGitHub cc609a6a3b feat: Major serial driver re-write - see #1089 for details
Serial refactor
2022-03-21 19:58:26 +10:00
Raphael Coeffic 213d58d34b NV14: fixed PPM/heartbeat pin polarity
Now it should now correspond to the exact same config as the other radios have hard-wired.
2022-03-21 08:17:56 +01:00
Raphael Coeffic 6804d66bd9 NV14: removed old pulses_driver.cpp 2022-03-21 06:39:17 +01:00
Raphael Coeffic 2eafefdf32 NV14: fixed EXTMODULE_TIMER_IRQ definitions
And moved mixer scheduler timer to TIM12 (as with Taranis)
2022-03-21 06:08:23 +01: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
Raphael Coeffic d99a46a3bc Enable CLI & ENABLE_SERIAL_PASSTHROUGH on NV14 by default 2022-03-20 16:30:59 +01:00
Raphael Coeffic 55a08d2f9d Fix windows & Mac packaging 2022-03-20 16:30:59 +01:00
Raphael Coeffic 2a1b803c47 Fix simu led driver 2022-03-20 16:30:59 +01:00
Raphael Coeffic b25aaaa431 Remove extern declaration of auxSerialRxFifo 2022-03-20 16:30:59 +01:00
Raphael Coeffic d9cde6afec Fix HAL trainer signal definitions 2022-03-20 16:30:59 +01:00
Raphael Coeffic ae54c9bf99 Some cleanup and RX buffer size increase to 128 bytes on targets with SDRAM 2022-03-20 16:30:59 +01:00
Raphael Coeffic d39f3e058c Add support for CLI on AUX1/AUX2 2022-03-20 16:30:59 +01:00
Raphael Coeffic 6b9c4fe165 Split UART_MODE_NONE and UART_MODE_DEBUG 2022-03-20 16:30:59 +01:00
Raphael Coeffic 94cb389edc Taranis internal module driver (PXX1) and fix for external complementary timer channel (TIM8_CH1N) 2022-03-20 16:30:59 +01:00
Raphael Coeffic 3742cb6b03 Fixed external module IRQ definitions for taranis targets 2022-03-20 16:30:59 +01:00