Commit Graph
856 Commits
Author SHA1 Message Date
dd9e265e4f feat: Allow for Jumper T16 touchscreen mod using TX16S. #2060 for docs
* add HARDWARE_TOUCH to T16

* cleared and corrected

cleared and corrected

* forced indication of rst

forced indication of rst

* Update hal.h

* chore: Remove unnecessary T16 specific condition
Only unique cases should be added, and the pre-existing ELSE
already sets this value correctly.

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-07-31 11:33:05 +10:00
Raphael CoefficandPeter Feerick 8379b47e2b Fix compilation with MULTIMODULE=NO
And allow for Spektrum telemetry to stay enabled (needed for DSMP module).
2022-07-22 20:45:04 +10:00
2ee75033bb feat(color): Add OneBit option to color radios (and Companion!!) (#1994)
* Added OneBit option also to color radios

* Try to work around GH repo owner issue

Original by @raphaelcoeffic in https://github.com/EdgeTX/edgetx/commit/bf4b5d8c0c1e386d5a4852a80d459540bab98ed3

* Add Companion support for radios with external module

* Companion housekeeping - do not display unnecessary hardware section headings

* fix: Rebase cleanup

* fix: LVGL changes

* feat: Move sample mode to a new Ext RF block

Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-07-22 11:00:20 +10:00
RistoandGitHub 386f8e6342 fix(TX16S): LCD clock speed lowered to within spec (#2127) 2022-07-15 18:34:27 +10:00
Raphael CoefficandRaphael Coeffic 1f8072374c x12s: move touch panel inversion to LVGL driver 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 8821c4ea8c Fix internal module HAL taranis and horus 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 244efed6ba NV14 touch driver 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic f8d1e4143b GT911: enable SYSCFG peripheral clock before using EXTI. 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 7cb2973248 gt911: enable clocks in driver 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 2ffe22b8de Allow IMU not only for TX16S 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 0b8d93ca88 WiP: support for LSM6DSxx 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic bc6c53681c Move Horus GT911 driver to HAL 2022-06-25 16:09:04 +02:00
Raphael CoefficandRaphael Coeffic 3eb109b198 Removed white screen flash on bootloader start 2022-06-17 05:34:47 +02:00
Raphael CoefficandRaphael Coeffic fe6922494a LCD & backlight init only from lcdInitDisplayDriver() 2022-06-17 05:34:47 +02:00
Raphael CoefficandRaphael Coeffic 8d9734f7d1 Fix first LCD layer address used 2022-06-17 05:34:47 +02:00
Raphael CoefficandRaphael Coeffic 8681d5aa3e Fix bootloader display init order 2022-06-17 05:34:47 +02:00
Raphael CoefficandRaphael Coeffic f6988c0870 The return of XXL font 2022-06-14 22:58:15 +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 CoefficandRaphael Coeffic 7e5d8ee7ac Fixed compilation on non-touch targets 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic cdeb01d1bb fix(bootloader): font enum 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic e31a1cc1fc Input & Mixer edit pages: flex layout rework 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 5a0fe2101c Inputs, Mixers: various tweaks & fixes 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic b11e8a3255 fix: bootloader RAM regions 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 873b8468bd translations: re-added CJK fonts for CN and TW translations 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 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 2b2a4479e4 boot menu: fixed darken mask 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic a27e026699 fix: X10 compilation 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic c3e9048889 improve menu placement 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
Raphael CoefficandRaphael Coeffic f6565c6826 Horus fixes 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic c1cb76823a Fix glitches 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 66cdab37ff Fixed line interrupt flags 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 7417b6568b Some cleanup & reformating 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 59c5e22620 Copy draw buffer into frame buffer after last vertical line
TODO: get rid of the blocking DMA copy
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 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 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
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
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
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
Raphael Coeffic baa4f65d9b Use ExternalPoject_Add() to split by toolchain 2022-04-01 08:56:25 +02:00