* Convert theme select, theme edit and color edit pages to LVGL flex.
Add 'Edit Color' string to language files (requires translations).
Simplify theme edit 'onCancel' logic.
Fix size of buttons in ConfirmDialog for portrait layout.
Truncate item strings in ListBox to fit available space.
Set window background color on Page and TabsGroup classes instead of using 'paint' function.
Replace strncpy and strncat with strAppend - avoid possible unterminated strings and string overrun.
Truncate display of long name and author strings in theme pages.
* Revert code to truncate ListBox entry strings as it causes other issues.
* Adjust layout for theme color editor to fit large hex string size.
* Remove unnecessary copying of the ThemeFile object being edited.
Refresh TabsGroup page background color when theme changes.
* Set selected theme in list on long press as well as short press.
Comment out unused 'title' in ListBox.
* Handle default theme like custom themes on SD card:
- show logo when selecting theme
- support background_WxH.png names for background images
Use f_stat( via isFileAvailable) instead of opening and closing files to check for existence.
* Remove debug print.
* Fix rebase.
* Update long press handler on model select page.
Long press (via touch) on any model will select it and open the menu.
* Open menu for model just selected on long touch press.
* chore(pc): convert simu/simulator/companion to use SDL2
* switch companion builds to SDL2 - OSX is not converted
the linux change is done a bit hacky, it should be done by updating the EdgeTX docker container
* update build system setup scripts
* add compatibility for old and new SDL2 cmake integration
* fix windows installer
* fix simulator audio on windows by using DirectSound vie SDL2
* fix windows audio with SDL2
enable simu for windows builds
* remove workflow changes for linux builds, this needs to be fixed in the build environment
* fix OSX build, thx @pafleraf
* fix windows audio for companion and simulator with SDL2
* select SDL2 branch of the build-docker environment
* Revert "select SDL2 branch of the build-docker environment"
This reverts commit da801609d78e1aed513ad7d9d8ab3ebded2900b9.
* fix tests with SDL2
In file included from /builddir/build/BUILD/edgetx-2.8.1/radio/src/gui/colorlcd/str_functions.cpp:25:
/builddir/build/BUILD/edgetx-2.8.1/radio/src/gui/colorlcd/str_functions.h:30:42: error: 'uint32_t' has not been declared
30 | extern std::string wrap(std::string str, uint32_t width);
| ^~~~~~~~
Fixes#3222.
* Adds option to align value widget label and value to left, center or right border of the widget zone.
* Cpn sync
* Typofix thx to @Eldenroot
* fix: Add `TW` translation
* fix: Two spaces for indent
---------
Co-authored-by: elecpower <neilh713@tpg.com.au>
* Store 'zone' rectangle dat in Lua registry and update it when the screen layout changes or full screen mode changes. Allows Lua widgets to adjust to layout changes.
* Call widget 'update' function is layout has changed.
* enhance msys2 build script
- stop on error
- support different branch's (not only main)
- add all the radio option on top of the script
- support re-run of the build (handle existing dir & git pull)
- add logs to follow the progress steps (especially in case of failure)
Authored-by: oshmuely <AbCd321654>
* fix: enable AUX1 power on TX16S with IMU_LSM6DS33
* Add some delay when powering I2C bus
---------
Co-authored-by: raphaelcoeffic <raphael.coeffic@frafos.com>
* fix(imu): reset error counter on successful IMU query
Please note that the HAL already handles busy I2C bus, so that we should not run into the case where the bus is used and another query is started. However, if that happens, HAL_BUSY will be returned, which leads to -1 being returned in our functions, thus increasing the error count until the sensor stops working.
* fix(imu): move imu init into mixer task
Fixes a race condition between init and use.
* fix: sort mixer lines after loading model
Fixes#2806
* fix(cpn): sort mixer lines after loading model
* More efficient swap
---------
Co-authored-by: elecpower <neilh713@tpg.com.au>
* A few additions and minor changes
* Minor changes
* Added timer string for PR #3173
* Missing save and delete theme
Added missing strings for Save theme and Delete theme
* Adjust trainer setup layout to better use space and avoid scrolling.
* Adjust padding for landscape layout.
* Change text for trainer mode to 'Add' and 'Replace' instead of '+=' and ':='. Adjust layout to fit. Copy translations from TR_VMLTPX strings.
* feat(cpn): Initial Radiomaster Boxer support
* fix(build): Halt if invalid simulator plugin specified
* fix: 6POS not correctly defined
* chore: Less EEPROM stuff needed
* Start of simulator support
* Enable left buttons and fix area mapping of page up and down
* fix(cpn): Internal reference to pots
---------
Co-authored-by: elecpower <neilh713@tpg.com.au>
* - all telemetry sensor name definitions in one place (untranslated.h)
- all telemetry sensor name definitions follow the naming convention STR_SENSOR_<sensor>
- eliminated one redundant definition
- editorial updates to telemetry protocols code to reflect the naming convention changes
- re-introduced translations in da.h (STR_SENSOR_THROTTLE and STR_SENSOR_SPEED)
- re-introduced translation in it.h (STR_SENSOR_GPSDATETIME)
- re-introduced translation for fr.h ( STR_SENSOR_BATT)
- saved 160 Bytes of flash
* removed obsolete translation
saved 280 byte flash memory in total
* finally removed extern const char STR_MENUTEMPLATES[]; definition
adjusted da.h, fr.h, it.h local sensor name definitions to naming conventions STR_SENSOR_<senosr>
* corrected merge
removed obsolete #ifdef
* some more obsolete ones
* added TW and CN translation for TR_PERIOD and TR_INTERVAL
fixed problem in /radio/src/gui/colorlcd/fullscreen_dialog.cpp preventing builds for CZ, IT and FR languages
* chore(lua): revert useless c light function change
This change was part of the eLua LTR patches (based on 5.1), whereby this feature was already integrated in Lua 5.2.
* feat(lua): port of NodeMCU Lua53 read-only tables
# Conflicts:
# radio/src/lua/CMakeLists.txt
# radio/src/lua/api_general.cpp
* fix(nv14): missing SDRAM definition
* fix: l_mathop
* fix: use float functions in drawPower()
* fix: ltable resize
* fix: correct name is "bit32"
* fix: first Lua context must be closed last
As the lookup cache is attached to that one
* Revert to Lua using double
* Ensure byte-code compatibility
* Fix possible compatibility issue with `lua_typename`/`luaL_typename`
* Fix Bitmap symbol table
* Re-add table lib for COLORLCD
* WiP: new module interface
* WiP: softserial timer DMA
* WiP: setup() and send() in one step
and remove methods specific to internal or external module
* fixes and extra port config
* horus targets
* module ports have moved
* T8 support (only internal module)
* fix nv14
* stupid GCC....
* disable BT
* remove nv14 telem driver
* remove old aux serial driver
* Move module buffers out of pulses.h
* Soft serial fixes and PXX1 support
* Fixed PPM module output
* Fixed CLI
* compilation fixes
* Ported bluetooth and flysky gimbal to new serial driver
* Re-enable soft-serial RX
* fixes and cleanup
* nv14 fixes
* Fix flysky gimbals
* Ghost module
* 16 bytes of RAM
* Remove getByte from module API
* Ghost cleanup
* fix: _half_duplex_input() must be called after usart init
* WiP
* more cleanup
* Remove board specific settings from PXX1 / PXX2 drivers
* A bit of PXX2 header cleanup
* Add support for OVER8 and ONEBIT
* Add some support for inverters (NV14 / EL18)
* Support NV14 power fixes in generic board
* Fix polarity handling
* Fix RX DMA
* Fix mixer not running
* Add soft-serial polarity control
* Quick fix for telemetry polling while module port is changed
* Fix bootloader DEBUG
* Fix MPM telemetry
* Fix pulse start
* DSM2 soft-serial fallback
* DSMP async module restart
* Fix CRSF LUA upstream
* Remove global variable telemetryProtocol
* Use HAL/LL constants
* Fix various issue with AFHDS3 and NV14/EL18 internal module
* Fixed S.PORT unit tests
* fix: update widx after writing at current index
* fix: init error condition
* Fix: possible infinite loop in _find_port()
* Add support for bidir S.PORT init
* Add support for "getLastByte" in HW serial driver
* PXX1: Add support for S.PORT based on IDLE callback
* Fix rebase error
* Fix softserial _rx_fifo_push()
* Add softserial support for waitForTxCompleted()
* Fix MPM flashing (internal / external)
* Fixed external MPM
* Activate RX DMA on internal module
Seems to work with serial passthrough without issues, at least on the L3R PRO.
* Fix softserial DMA on stdlcd F4 targets
* Add softserial support for 32bit timers (mostly TIM2)
* More precise soft-serial
* Fix MPM update using inverters & HW uart
* Raise S.PORT DMA/USART IRQ prio to achieve faster switching to input
* Remove useless delays
* Fix flashing external ELRS module
* Added a retry mechanism for FrSky S.PORT update
* Remove useless enableRx()
* External FrSky modules are all flashed via S.PORT
* Remove power management unit update
This was only used on the first batch of X-lite.
* Updated translations, error fixes etc
* Minor changes
* Minor updates
* Update for PR #2998
* Added strings for PR #2998
* Minor error fix
* Two new strings translated
* Fixed spelling mistake
* Another minor fix
* Added translations for PR #3062
* Just a few corrections
* Add files via upload
New translations added
* Changes after PR #3119 translation clean up