Commit Graph
4387 Commits
Author SHA1 Message Date
philmozandGitHub 227780d784 feat: Add 'repeat' option to 'Lua Script' special function (#3338)
* Add support for the '1x' repeat option for 'Play Script' special functions.

* Add Companion and B&W radio support.

* Fix B&W radio logic and layout.

* Add translation hooks.
2023-04-10 11:00:50 +10:00
philmozandGitHub 26f166011c fix(color): Active widget popup menu causing issues with radio menus (#3417) 2023-04-09 13:50:25 +10:00
philmozandGitHub 92651429a2 feat(color): Use generic YAML parser to save/load Theme yaml files (#3346)
* Change ThemeFile class to use generic YAML parser instead of hard wired code.
Fix handling of empty input lines in YAML parser.
Increase size of YAML parser variables to handle theme 'info' property length.

* Update comment.

* Fix error.

* Proper fix for blank lines in YAML file.

* Fix YAML blank line handling (attempt 3).

* Ensure theme YAML file is backward compatible.

* Store selected theme in radio settings instead of selectedtheme.txt file.
On start, if radio settings theme is empty, try and load from selectedtheme.txt file.
In Companion, save/load the selected theme in the radio settings YAML file; but no UI to select theme.

* Update selected theme name in radio.yml if the theme name was edited.

* Only save 'selectedTheme' in Companion on color LCD radios.
2023-04-09 13:32:30 +10:00
MichaelandGitHub 50b492df94 fix: Incorrect subprotocol count causing simulator crash, garbage entry (#3426) 2023-04-03 12:37:06 +10:00
philmozandGitHub af02340b87 fix(color): Adjust portrait layout for debug view (#3422) 2023-04-01 18:49:43 +10:00
1f82724a95 feat(color): Better debug names on statistics page (#3245)
* better_debug_name_on_statistics_page

* chore: Translations for Lua related strings

* chore: More translation strings for stats screen

* chore: Padding for STR_MS, STR_BYTES

---------
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-03-30 12:12:45 +10:00
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