Commit Graph
2330 Commits
Author SHA1 Message Date
Raphael CoefficandRaphael Coeffic c7f2eb7eb7 fix: simu BT buffer overflow 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 6583a7d0d5 fix: missing header in board.cpp for T-Pro 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic dd968c1fdb fix: make bootloader depend on bitmaps 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 b2c8386ceb ASAN option 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 0677c3e703 fix T8 compilation 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 209b253064 small fixes and size adjustments 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 068ba79f26 NV14 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 cf06efea87 Taranis 128x64 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 352c273d32 Taranis 212x64 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic 0eb11ae4b6 bootload compile fixes for B&W radios, compiles, but does not linkm due to libc errors 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic d515e57fc4 DMAWait mockup in simulcd 2022-06-11 15:38:08 +02:00
gagarinlgandRaphael Coeffic f410c2cea9 NV14 charging animation 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 f768bbea41 Fixed compiling NV14 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 56bec5ca3a WiP: String arrays for translations
DE, EN, FI, FR are done, now we need all the other languages
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 df7db43940 Prevent simu lockup on exit 2022-06-11 15:38:08 +02:00
Raphael CoefficandRaphael Coeffic 7702ee7bba Fixed simu inverted display 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
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