Commit Graph
4381 Commits
Author SHA1 Message Date
philmozandGitHub ebef94d993 feat(color): More compact Flight Mode list and edit views (#3344)
* Flight mode list and edit changes:
- Update trim ranges in Companion to match radio.
- Move trims setup to main edit view instead of dialog popup.
- Show/edit current trim value for each trim (if enabled)

* Show flight mode list view like logical switches.

* Update FM trim values in edit window if trim is changed (via trim switch).

* Use styles for layout

* Remove grid layouts - use flex flow as it is faster.

* Speed up page build time.
Reduces build time on TX16S Mk2 from ~320ms to ~25ms.

* Fix touch screen events.
2023-03-27 11:43:44 +10:00
5622cb9c5c chore(color): Replace StaticText with LVGL labels on GVARS page (#3310)
* chore(ui): speedup gvars page

* Replace StaticText with LVGL labels.

* Further performance improvements.

* Remove diagnostics.

* Fix portrait layout.

* Refactor style to a separate class and use CHECKED state to control color of selected flight mode.

* Remove duplicate lines.

* User LVGL state and style for GV value font size selection.
Reduce the number of times the style_refresh state is changed.

* Center align name without needing hard wired offsets.

* Speed up page build time.

* chore: Bump libopenui
gagarinlg chore(ui): improve static text and window base speed (#88)

---------

Co-authored-by: gagarinlg <malte@langermann.net>
2023-03-26 19:10:56 +10:00
philmozandGitHub 4f5061438f fix(color): Some radio settings properties not triggering update of radio.yml (#3404) 2023-03-26 18:15:29 +10:00
Raphael CoefficandGitHub cb43cf75b9 fix: Flashing internal ISRM and via S.PORT connector (#3374)
* fix: re-enabled flashing via S.PORT connector

* fix: remove check for productId on internal module
2023-03-26 11:30:01 +10:00
Peter Feerick 80945c3874 fix(BW-128): Third col offscrn when bars and timer 2023-03-24 18:10:02 +10:00
d828ae8a56 fix(color): telemetry ID display when 'Ignore instances' is set (#3399)
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-03-24 14:49:06 +10:00
philmozandGitHub 8fc5a1c58e feat(color): Add LVGL scroll bar where needed (#3268)
* Add scroll bar to radio settings/config pages.

* Add scroll bar to mode settings/config pages and screen settings pages.

* For pages display via TabsGroup class. move the scroll bar setting to the 'body' window.

* Fix position of new line on Inputs and Mixes pages.

* chore: Bump `libopenui`
2023-03-24 11:37:21 +10:00
philmozandGitHub 5964b0b901 fix(color): Improve responsiveness of the model outputs tab while loading (#3361)
* Improve responsiveness of the outputs tab.

* Fix line height on portrait layout.
2023-03-23 20:36:30 +10:00
Peter FeerickandGitHub 335c0a3a0a chore(colorlcd): Page header unification and other cosmetics (#3326)
* chore: Change Radio setup page headers

* chore: Model Setup page header changes

* Main menu, Model Manager, Model Templates
Including needed translation strings

* Model telemetry sensor edit page
Taking into account sensor value shown in header

* chore: Change "Edit Labels"
Resolves #3014

* fix(b&w): "Rx channel ord" -> "Def chan order"
Resolves #3348

* chore: Update translations

* chore: Change to prefered "Manage Models"

* chore: Cleanup

* chore: Move some colorlcd-only strings
May or may not save some flash memory

* fix: Missed a translation string rename
2023-03-23 11:53:27 +10:00
MichaelandGitHub 6616f5b857 fix(colorlcd): Not all detected sensors displayed at detection time (#3328) 2023-03-23 11:39:10 +10:00
MichaelandGitHub a7688e2b04 fix(colorlcd): ACCESS receivers being lost after sync with Companion (#3355)
* fixes https://github.com/EdgeTX/edgetx/issues/3273

* empty commit to trigger checks

* Companion: moved yaml tag receivers correction to yaml parserCompanion and radio: updated comments
2023-03-23 10:45:24 +10:00
richardclliandGitHub f65f139f12 fix(mpm): MPM status showing invalid protocol for XK (#3369)
* Fixed the last definition.

* Upper 2 bits calculated wrong because of Frsky mess.

* fix: More Frsky defintion corrections
2023-03-22 11:29:00 +10:00
661657feca feat: New advanced joystick mode on radio, improvements to Companion and Simulator joystick support (#3111)
* Allow switches on the connected radio to control switches in the simulator via the joystick interface.

* Merge configurable radio joystick interface from banyaszg.

* Add two more 'axis' channels to companion.

* Fix 6POS from USB joystick to simulator.

* Reduce data size.

* Fix build error on B&W radios.

* Add 'Companion' button mode to work with the button logic in the Companion app.

* Build Companion joystick setup layout at runtime.
Change #define names for simulator joystick.
Allow 15 axes and 32 buttons.
Initial support for trim sliders.

* Remove custom joystick button type for companion - use 3 buttons per switch in companion to control simulator switch state.

* Fix joystick constructor calls parameters. Connect some radio joystick trims to simulator widgets.

* Restore 'companion' button type to reduce number of buttons needed. Make trims work via buttons in USB joystick.

* Connect joystick trim buttons to simulator widgets.

* Use companion source names for trims.

* Add encode / decode of usb joystick custom settings to Companion.

* Convert to lvgl layouts.
Update language files.

* Fix generated YAML storage files.

* Fix initialisation error when editing button channel. Cleanup code.

* Fix rebase.

* Fix refresh of joystick channel list view after editing an entry.
Companion joystick config window uses two columns.

* Fix vertical joystick inversion bug.
Change stick axis labels.

---------

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-03-22 10:31:29 +10:00
philmozandGitHub a0fc3f2d88 fix(color): Adjust column sizes for largest LS 'Edge' V2 value (#3295)
* Adjust the column sizes for the logical switches in the lust view and the channel monitor footer to fit largest V2 value for 'Edge' function.

* Cleanup code.
2023-03-17 10:37:04 +10:00
RistoandGitHub 150f341a23 fix(color): Main view numbering (#3357)
* fix(ui): Main view numbering #3073

* Fix max last tab focus.
2023-03-17 10:27:47 +10:00
Neil HorneandGitHub 837431430e fix(B&W): Include gvars in input sources (#3102) 2023-03-16 17:55:18 +10:00
312a2358dc feat(color): Increase max possible widget screens to 10 (#3073)
* Elevate telemetry screen count from 5 to 10 on color radios.

* Cpn increase max custom screens

* fix(color): Missing Add tab button on max-1
addTab was not called when adding screens dynamically

---------

Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-03-16 17:13:11 +10:00
philmozandGitHub 667cc845f8 feat(color): Implement DISPLAY_TRIMS_CHANGE option (#3288)
* Implement DISPLAY_TRIMS_CHANGE option for color LCD trim widget.
Refactor code.

* Change data type to prevent build tests failing.

* Display trim value to the side like B&W radios.
2023-03-14 13:08:28 +10:00
philmozandGitHub 8cdd756c0a fix(color): Only create a new model if the user actually selects a template (#3323)
Cancelling from the template select page will no longer create a blank model.
2023-03-14 12:41:34 +10:00
3djcandGitHub 16a7f0498d feat: Check MCU type at start (#3272)
* Check MCU type

* MCU check

* MCU check

* chore: Change capitalisation
2023-03-13 16:13:01 +10:00
philmozandGitHub 2ea804877f feat: Show available inputs when '+' button is tapped on the inputs page (#3332) 2023-03-13 11:51:03 +10:00
philmozandGitHub 340945584a fix: Make UI slightly more responsive when switching tabs (#3345) 2023-03-13 11:17:34 +10:00
philmozandGitHub 805b848ea6 fix(color): Adjust page padding for several setup pages, backlight page tweaks (#3291)
* Add padding to 'Trims' and 'Throttle' setup pages.

* Add padding to pre-flight checks page.
Make button size consistent.
Fit more buttons per row,
Display proper pot and slider names for center beeps.

* Add padding to radio setup pages (Sound, Vario, Haptic, Alarm, Backlight and GPS).
Move backlight inactivity timer to its own line and add a label (requires translation).

* Update translation.

* Hide Backlight controls that are not relevant to the backlight mode selected.

* Update translation.

* Update translation.

* Update translation.

* Update translation.

* Update translation.
2023-03-13 11:11:33 +10:00
philmozandGitHub b88b4b66c1 feat(b&w): Show time on main and telemetry 128x64 screens (#3306)
* Display time on main screen and telemetry for B&W radios.
Fix position for timer0 display on telemetry screen (was off screen).

* Put the time between the trim bars.
Center the stick boxes and the pot/slider bars.

* Remove code for unsupported radios.
2023-03-10 11:26:25 +10:00
ulfhedlundandGitHub a416548ecc chore: Translated curve types (#3319)
* Added translation of curve types

Added translation string STR_VCURVETYPE

* Added STR_VCURVETYPE

* Added translation of curve types

* Added translation of curve types

* Added translation of curve type

Added 
#define TR_VCURVETYPE  "Diff","Expo","Func","Cstm" 
for translations of curve types

* DA translated

* CN translated

* TW translated

* IT translated

* Update da.h

* DE translated

* FR translated

* CZ translated

* chore: Remove trailing whitespace
2023-03-08 11:53:14 +10:00
philmozandGitHub 42fb0eccf7 fix(color): Update of 'end' value for trainer channel (#3239)
Fix update of 'end' value in ChannelRange class.
2023-03-08 11:51:29 +10:00
philmozandGitHub bd1094fd13 fix(B&W): Fixes for inputs, mixes and curves screens (#3299)
* Fixes for B&W radio UI screens.

* Fix curve display to fit new size. Adjust curve for better horizontal symmetry. Adjust position crosshair to better fit curve line.
2023-03-08 10:54:20 +10:00
ulfhedlundandGitHub da428b4e57 chore: Translate pots slider warnings (#3281)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Translations for pot/slider check

* Translation for pot/slider check

* Add files via upload

* Updated da.h

* Updated de.h

* Update cz.h

* Update cn.h

* Update en.h

* Update es.h

* Update fi.h

* Update fr.h

* Update it.h

* Update jp.h

* Update nl.h

* Update pl.h

* Update pt.h

* Update tw.h

* Added translation for JP

* Update cn.h

* Translation for TW

* Update se.h

* TR_PREFLIGHT_POTSLIDER_CHECK translated for PL
2023-03-07 12:39:06 +10:00
philmozandGitHub 54d0222c53 chore(color): LVGL update, translation strings for theme file carousel (#3278)
* Use StaticText instead of 'paint' function for 'loading' message in theme file carousel,
Add message strings to translation files.

* Update translation.

* Update translation.

* Update translation.

* Update translation.

* Update translation.

* Update translation.

* Update translation.
2023-03-07 11:58:06 +10:00
philmozandGitHub 8a7fb3fc4c fix(color): GVAR edit page not showing second title line on first load (#3311) 2023-03-07 11:14:06 +10:00
philmozandGitHub d098e45179 chore(color): Convert analog debug pages to lvgl (#3240)
* Convert analog debug pages to lvgl.

* Refactor classes.

* Cleanup
2023-03-05 21:28:31 +10:00
philmozandGitHub b8220e5be4 feat(color): Generate layout icon bitmap at runtime to account for screen orientation (#3282)
* Simplify layouts code, use data driven layout definition.
Generate icon bitmap at runtime to account for screen orientation.
Move old layout png images to companion folder (still used in companion).

* Align buffer for bitmap.

* Use 'free' instead 'delete' for bitmap buffer to avoid failed build test.
2023-03-05 11:36:56 +10:00
philmozandGitHub 5b45b7ce2c chore(color): Add 'title2' to Page class to manage 2nd header title line (#3238) 2023-03-05 10:39:42 +10:00
Peter Feerick dd6f2f7a9d chore(color): Change define to FLYSKY_GIMBAL 2023-02-27 17:45:43 +10:00
Peter Feerick ec8212901e fix(sim): hall_raw_values does not exist 2023-02-27 17:21:08 +10:00
Peter Feerick a8e4bddcb9 chore: Unused code cleanup
Post #3135
2023-02-27 14:53:55 +10:00
philmozandGitHub f81e140cf3 fix(color): LVGLify themes page and fix several possible string handling issues (#3135)
* 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.
2023-02-27 11:40:02 +10:00
9216570d6c feat: Flysky gimbal support for RM Boxer (#3139)
* Adds Flysky digital hall gimbal support for RadioMaster Boxer.

---------

Co-authored-by: rotorman <risto.koiva@web.de>
2023-02-26 13:27:37 +01:00
philmozandGitHub f76aea333e feat(color): Long press menu no longer restricted to active model on model select page (#3237)
* 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.
2023-02-22 21:53:49 +10:00
philmozandGitHub e637b534f3 fix(color): Rotary encoder behaviour on inputs, mixes and outputs pages (#3189) 2023-02-22 20:48:56 +10:00
Jan PazdzioraandGitHub c68e9a1238 fix(compilation): 'uint32_t' has not been declared with newer GCC (#3224)
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.
2023-02-22 12:58:15 +10:00
97c57cf9ee feat(colorlcd): Value widget text alignment options (#3080)
* 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>
2023-02-20 14:57:58 +10:00
philmozandGitHub 1df8fe86a8 fix(lua): Store and update the 'zone' rectangle for Lua widgets. (#3060)
* 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.
2023-02-20 11:46:27 +10:00
Peter Feerick e930183395 fix: It is now 2023 2023-02-17 22:07:06 +10:00
philmozandGitHub 00c38511cb feat(colorlcd): Improve trainer page layout, use Add/Replace instead of +=/:= (#3104)
* 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.
2023-02-13 20:30:52 +10:00
philmozandGitHub c3e22b8d7e fix(color): Use two rows for telemetry buttons when needed (#3183)
When translation text is long (CZ) or portrait screen, use two rows for buttons
2023-02-13 19:16:29 +10:00
Raphael CoefficandGitHub be3f8d74a8 feat(lua): Port of NodeMCU Lua53 read-only tables (#2994)
* 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
2023-02-09 20:29:56 +10:00
Raphael CoefficandGitHub 72193eda82 chore: New module/serial API (#3055)
* 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.
2023-02-09 19:44:32 +10:00
Peter FeerickandGitHub b185ba24ee fix(color): Duplicate selected theme, update color list (#3122)
* fix(color): Duplicate selected, not current theme

* fix: Update color list if theme edited
2023-02-05 13:57:31 +10:00
philmozandGitHub 4e09bd7b8c chore(color): LVGLify custom mixer scripts page (#3071)
* LVGL flex conversion for custom mixer scripts.

* Adjust spacing for portrait layout and widest text value.
2023-02-05 11:31:32 +10:00