Commit Graph
632 Commits
Author SHA1 Message Date
3djcandGitHub 21e610028f fix: ignore invalid GVAR feature flag on BW128 UI (#4671) 2024-02-26 10:21:15 +10:00
ThomasKuehneandGitHub 49331bba4d fix(radio): memory leak in ModelMap::renameLabel (#4675) 2024-02-25 11:42:03 +10:00
philmozandGitHub 84c2d8577e feat(radio): allow prec. for mix slow up/dn to be set to 10 or 100ms (#4612) 2024-02-12 12:01:54 +10:00
philmozandGitHub 421ee16fbc fix(radio): Trainer SF properties not read correctly from YAML (#4577) 2024-01-28 11:12:07 +10:00
philmozandGitHub 2c01bee40d feat(color): Single select option for model labels. label AND/OR filtering logic (#4532) 2024-01-26 21:15:32 +10:00
philmozandGitHub 63bb205e6b feat(color): Add alternate layouts for model list in Manage Models page (#4524) 2024-01-26 20:48:09 +10:00
dfaad73070 fix: Throttle idle trim handling for surface, enable MT12 tests (#4520)
Co-authored-by: 3djc <3djc@gh.com>
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
2024-01-21 13:53:25 +10:00
MichaelandGitHub 308b53e605 chore(storage): Only save hatsMode for featured radios (#4525) 2024-01-12 10:53:59 +10:00
philmozandGitHub b9e3ee1408 fix(color): 'Unlabeled' option does not appear in labels list (#4531) 2024-01-12 10:51:50 +10:00
philmozandGitHub 2d877d4408 fix(radio): SF/GF pre #3601 not converted correctly (#4498) 2024-01-04 10:22:41 +10:00
philmozandGitHub 68f0f3d864 feat(color): Make model sorting case insensitive (#4482) 2024-01-01 07:36:31 +10:00
philmozandGitHub 9b9e831a5e fix: Radio YAML not being read or written correctly (#4426) 2023-12-18 19:28:03 +10:00
f80ee2973c feat(bw): Add inverted edit option for rotary encoder (#4401)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-12-11 12:16:27 +10:00
cc17046e7a feat: Flysky PL18 Support (#4105)
Co-authored-by: raphaelcoeffic <raphael.coeffic@frafos.com>
Co-authored-by: rotorman <risto.koiva@web.de>
Co-authored-by: Xy201207 <yaoxu@flysky.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-12-06 09:00:44 +10:00
Raphael CoefficandGitHub 5153aaeea0 refactor: IWDG driver and EM trigger (#3846) 2023-12-04 07:14:25 +10:00
ee73fa47f0 feat: Add "Enable" button to all SF/GF (#3024) (#3601)
Co-authored-by: eshifri <eshifri@hotmail.com>
Co-authored-by: philmoz <philmoz@users.noreply.github.com>
2023-12-03 12:23:34 +10:00
Raphael CoefficandGitHub 0e7fe7f143 fix(yaml): Properly escape double quotes (#3965) 2023-11-13 09:34:44 +10:00
philmozandGitHub 399e55084a fix(color): NV14/EL18 dead zone resetting user choice, improvements to logic (#4064) 2023-11-11 19:35:13 +10:00
philmozandGitHub 5e97d1d59b chore: Remove unused LS_FUNC_RANGE, TimersContext (#4267) 2023-11-10 16:35:00 +10:00
Raphael CoefficandGitHub 373bb33f4b chore: Remove some bloat, reduce firmware size (#4288) 2023-11-08 22:05:54 +10:00
philmozandGitHub 3051f70625 fix(radio): Custom mix script as SOURCE not parsed correctly (#4231) 2023-11-06 09:22:14 +10:00
philmozandGitHub 89378e294f fix(radio): Don't update YAML files on SD card if radio in emergency mode (#4264) 2023-11-04 15:23:24 +10:00
b48e07026d feat: More flexible ADC inputs (#3870)
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
2023-11-02 11:07:53 +10:00
f5593c44e8 fix(color): Bitmap name truncation if exactly 14 characters long (#4232)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-10-31 11:40:49 +10:00
Raphael CoefficandGitHub b0267573b0 fix(stdlcd): Model copy going to wrong slot, refresh model headers (#4261) 2023-10-29 11:23:14 +10:00
a467d2c176 feat(cpn): Jumper T20 support (#4227)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-10-24 20:40:02 +10:00
Raphael CoefficandGitHub 6d3aa573d4 fix(yaml): Do not limit to static MPM protocol definitions (#4146) 2023-10-18 19:24:21 +10:00
d396b38e8b feat: Add trainer virtual switch (#3937)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-10-16 08:41:40 +10:00
b22a1b5d32 feat: Support for WS2812 RGB LEDs (#3909)
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
2023-10-14 14:06:55 +10:00
philmozandGitHub 837677b3ef feat: Convert PPM_UNIT build option to runtime radio setting (#3993) 2023-10-10 19:47:50 +10:00
MichaelandGitHub c51c91401e fix: Correctly reflect state of AUX1 when DEBUG build (#3814) 2023-10-09 20:07:51 +10:00
f40fa1a64b feat(el18): Use trim hats as keys for navigation (#3894)
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-09-29 20:12:54 +10:00
47ff7284fd fix(radio): Better iteration through mixers on display, sanitize invalid sources (#3999)
* fix: mixer lines with empty source

Fixes #3367

* Fix color mixes display.

---------

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-09-24 15:51:18 +10:00
philmozandGitHub c502dbeaee chore(radio): Reduce size of the data structures in FLASH storage (#3979)
* Reduce size of the YamlNode structure in FLASH storage.
Fix compiler warning.

* Further reduction of FLASH used by YamlNode structures.

* Reduce size of sensor definition arrays and audio tone volumes array.
2023-09-24 14:18:11 +10:00
Peter Feerick cd88057d02 chore(radio): Cleanup from #3753 & #3639 2023-09-21 19:41:42 +10:00
philmozandGitHub 0aff002c8a chore(color): Cleanup and optimise EdgeTxTheme class (#4013) 2023-09-21 19:39:05 +10:00
Raphael CoefficandGitHub 4d148e5c0c fix(radio): Use SWRC_NONE if switch cannot be found (#4005) 2023-09-21 19:25:46 +10:00
philmozandGitHub e4f845c844 chore(radio): Fix some compiler warnings when building firmware (#4058) 2023-09-20 11:16:48 +10:00
MichaelandGitHub d30499f19b feat: Add SF to mute audio amplifier on supported radios (#3753)
* SF Audio amplifier mute port to 2.10

* added missing definition STR_SF_DISABLE_AUDIO_AMP

* exclude radios not able to switch audio amp off

* radio/src/storage/yaml/yaml_datastructs_128x64.cpp needs to distinguish between radios with or without switchable audio amps. Expample Zorro vs X9lites

* updated companion and radio language PL

* - added Companion and radio language SE

- removed type unfinished for translated languages

* added radio and companion language JP

* - reverted change to 128x64 yaml_datastructs.h

- moved exclusion of SF DISABLE_AUDIO_AMP based on hw capabilities to UI level

* confused FUNC_ with FUNCTION_

* confused FUNCTION_* with FUNC_*
2023-09-14 19:33:03 +10:00
65ee80f159 fix(radio): Fix handling of blank lines in YAML files (#3762)
* Fix handling of blank lines in YAML files.

* Added some basic EOL / blank line unit tests

---------

Co-authored-by: raphaelcoeffic <raphael.coeffic@frafos.com>
2023-09-07 21:25:09 +10:00
c4f1e7127d chores(flysky): Separate AFHDS2A and AFHDS3 into 2 different module type (#3783)
* chores(flysky): separate AFHDS2A and AFHDS3 into 2 different module type

This should allow to remove some of the hacks added earlier.

* chore: Add some EL18 CI bits

* fix(afhds): cmake defs

* fix(ci): add el18 to commit-tests.sh

* chore(cpn): separate AFHDS2A and AFHDS3

* chore(cpn): remove binary import of afhds and legacy fxFreq field for afhds3

* fix(cpn): limit available internal afhds protocols to those supported by hardware

* chore(cpn): update Flysky int module test

* fix(cpn): compile error

* fix(cpn): afhds2a max channels

* fix: TR_MODULE_PROTOCOLS

* enh(cpn): more support for afhds2a and 3

* fix(cpn): rebase compile error

* fix(cpn): bit indexes

* fix(cpn): emi toString

* fix(cpn): limit available internal afhds protocols to those supported by hardware

* enh(cpn): add support for Flysky EL18

* fix(cpn): available protocols

* fix(cpn): rebase moduledata

* chore(cpn): add module fields to model print

* Separate AFHDS2A and AFHDS3 UI settings.

* Fix AFHDS3 conversion from old subtype value.
Fix 'Channel Range' layout on portrait LCD.

* Fix name.

---------

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-09-07 19:24:03 +10:00
Peter FeerickandGitHub e832ef6521 feat(color): enable LUA_MIXER, hidden by default (#3973) 2023-09-01 10:01:47 +02:00
06712d9b97 feat: Interactive/progressive preflight checklist (#3564)
* initial version of clickable checklist

* do not display checkboxes for empty lines if checklist is shorter than screen size

* remove checklist exit after completing it
cannot exit menu from menuTextView as level above there is while loop that cannot be stopped from thic place in code

* menu entry to enable and disable interactive checklist

* only when complete interactive checklist is closed

* config updated & not display checkboxes when entered from "View Notes"

* add setup entry for colorlcd

* do not make interactive checkist when loaded from menu

* fix datastruct size after merge

* Companion support for interactive checklist

* mark checklist lines as non-checkable with '=' for B&W radios

* Process only items visible on screen
This is also crucial when it comes to analyse non-checkable items on a checklist, as in this way there is no need to load non-visible items from SD-card

* WIP fix merge problems

* update yaml datastructs

* restore most functionalities for interactive check lists on color LCD radios
currently no automatic line wrapping and you can always exit the checklist, even when it is not fully done

* finalise interactive checklists for color LCD

* fix: rebase/merge issues

* fix: model setup checklist section

* fix: fix 212 model setup

* Re-work of the some of the color lcd checklist code (#3787)

* Move checklist logic to sub-class.
Show model name instead of file name in title, show 'Preflight checks' in title2 for checklist.
Handle long line wrapping of text.
Don't indent lines without checkbox.
Add 'RTN' button when done.

* Code cleanup.

* Simplify code by storing a list of checkboxes instead of scanning LVGL object hierarchy.

* Indent checkboxes to make touch activation easier.
Keep 'RTN' button visible so last checkbox is further from bottom of screen (for touch activation).
'RTN' button is disabled until checklist complete.

* Add checkbox class constructor for preflight checks.

* Fix checkbox size.

---------

Co-authored-by: Piotr Rzeszut <piotrrze@gmail.com>
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: philmoz <philmoz@users.noreply.github.com>
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-08-29 19:18:39 +10:00
MichaelandGitHub 2d8d2fcf01 feat: MIN constant as a source option (#3639)
* feature request #1635

- added MIN (-MAX -> -1024) as source

* fix rebase

* fix rebase

* change to use language strings for MIN/MAX instead of instance

updated CN and TX language file for MINuse -RESX for MIN instead of magi numbercode cleanup

* updated test sources

* updated JP language

* JP language: changed translation text

* updated HE language translations
2023-08-28 20:16:00 +10:00
3djcandGitHub 78aa381464 fix(radio): YAML timer handling (#3949)
* fix: YAML timer handling

* chore: improve YAML set timer handling

* chore: improve timer handling

* feat: only offer defined timer for set and reset functions

* feat: only offer defined timer for set and reset functions (bw)

* chore: cosmetics
2023-08-28 20:02:03 +10:00
ac4aeef579 chore(color): Use strAppend and strncmp on widgetName to avoid termination issues (#3905)
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
2023-08-05 18:09:53 +10:00
philmozandGitHub 4272a03025 feat(color): Convert top bar display in main view into widgets (#3700)
* Convert radio info (USB, volume, signal strength), date/time and internal GPS display from top bar into widgets.

* Fix B&W build.
2023-08-04 12:14:31 +10:00
philmozandGitHub 69338ab0ab chore(color): Libopenui refactor (#3614)
* Refactor object creation logic.
Remove unused LVGL features.

* Remove unused files.
Fix height for widgets.

* Rename 'OpenTxTheme' class to 'EdgeTxTheme'.
Cleanup commented out code.
Cleanup unused code from 'etx_lv_theme.cpp'.

* More cleanup.

* Move more style code to etx_lv_theme.cpp

* Update license

* Make default button height match other controls.

* Fix curve edit layout.

* Fix layouts.

* FormWindow and FormGroup provided identical functionality - rename FormGroup to FormWindow and remove duplicate.

* Simplify menu icon handling.
Remove unused 'flysky.cpp' file.

* Fix window size change.

* Simplify page header code.
Fix statistics view page.

* Remove unused file.
Replace redundant 'Subtitle' class with a macro.
Fix compiler warnings.

* Fix compiler warning in LvglWrapper.cpp.
Remove unused code in static.h.
Simplify about page.

* Rename ICON_OPENTX to ICON_EDGETX.

* Fix github build error.

* Fix github build error (attempt 2).

* Move ButtonMatrix styling to etx_lv_theme.cpp.

* Scroll bar consistency.

* Use styles for ButtonMatrix text color.

* Use 'active' color for selected USB advanced setup buttons. Move error message to bottom of page.

* Create style for popup window title bar.
Simplify advanced USB setup code.
Remove unused libopenui/carousel.* files.

* Add style for modal popup content.

* Remove unused BUTTON_BACKGROUND flag.

* Replace GridLayout with FormWindow. Remove unused gridlayout.h file.

* Fix rebase.

* Merge ChoiceEx class into Choice class code.
Remove unused CurveKeyboard.

* Use LVGL bar for progress indicator.
Update only style colors when theme changes (don't recreate all style settings).

* Move ProgressDialog class to dlalog.h/dialog.cpp files.

* Simplify trim and slider code in main view.
Simplify the hardware inputs code.
Fix dialog size.
Remove unused code in layout factory.

* Cleanup unused code.

* Add style for FormWindow class.
Merge BaseNumberEdit class into NumberEdit class and remove BaseNumberEdit.
Remove more unused files.
Cleanup libopenui_config.h files.

* Re-organise libopenui include files to fix build error.

* Fix build error.

* Add missed styles to etx_lv_theme.cpp.
Delete commented out #includes.
More cleaning up of libopenui_xxx.h files and dependencies.
Re-enable LVGL CHECKBOX feature.

* Merge libopenui_helpers.h into opentx_helpers.h file.

* Fix firmware build.

* Use object constructors for LVGL object creation as suggested by gagarinlg.
Add style for number edit text alignment.
Fix background color for focussed control.

* Move color related stuff from libopenui_defines.h to colors.h.
Remove need for libopenui_depends.h file.

* Merge libopenui_types.h content into opentx_types.h file.

* Rename CheckBox class to ToggleSwitch.

* Restore code to update flight mode text color when theme changes.

* Cleanup some more unused code.

* Remove redundant theme.h file.

* Fix rebase.

* Fix button matrix style.

* Fix rebase

* Fix rebase

* Ensure correct initialisation of Choice object.

* Fix rebase.

* Make the slider control bigger to make touch activation easier.

* Fix build error.

* Fix slider logic and cleanup code.

* Use ACTIVE theme color for inputs, mixes, LS, GV and SF.

* Improved border width consistency and focussed state consistency.

* Remove duplicate copy of the default theme colors.
2023-08-04 11:04:54 +10:00
9e7a331fa6 feat: Splash screen delay opt for colorlcd, startup sound disable opt (#3451)
* Enable startup splash screen duration for color LCD radios.
Add option to disable startup sound.
Add Companion support for changes.

* Add translation string for Hebrew language file.

* Fix rebase.

* chore: Add T20

* Update translations.

* Update translations.

* Update translations.

* Update translations.

* Right justify radio setup controls.

* Use longer translations for all radios.

* Enable splash screen timeout for NV14/EL18.

* Suspend watchdog timer to prevent EM if long splash display time selected.

* Simplify SPLASH_TIMEOUT code.

* Use WDG_RESET instead of watchdogSuspend.

---------

Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2023-07-30 11:58:28 +10:00
philmozandGitHub bd92f70056 feat: Support all current timezones for GPS (#3406)
* Support all current timezones.

* Fix function name and calculation for timezone offset.

* Allow setting any time offset value from -12 to +14 in 15 minutes increments.

* Alternate timezone editor in Companion (from elecpower).

* Fix compiler warning.

* chore: Add the T20
2023-07-16 14:02:27 +10:00