Commit Graph
4155 Commits
Author SHA1 Message Date
b4e1ceb4f8 fix(MPM): Various UI elements for MPM opts weren't updating correctly (#2209)
* fix: Get current values for MPM options

* fix: Don't show sub-proto dropdown when empty

* Add suggested call to `update()`

* Add callback to refresh when subtype changed

* Trip `SetValueHandler` rather than setting value
Thank you to @raphaelcoeffic for the hint ;)

* fix: Saving values when changed is a good idea!

* Load option flags properly when using internal proto list

* NumberEdit fields don't implement LV_EVENT_VALUE_CHANGED, use update() instead

* Fix checkbox behaviour

* Fix autobind checkbox after switching away from DSM

* Fix more parameter needing update on MPM sub-proto changes

* fix: Also update servo rate if present

* fix: Channel mapping needs updating also

Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
2022-09-05 21:56:24 +10:00
Raphael CoefficandPeter Feerick 0d3b2c027b splash: force pixel format to RGB565 when loading the bitmap 2022-09-05 19:27:50 +10:00
Peter FeerickandGitHub bce73a9398 feat(B&W): Lua tools list sorted alphabetically (#2258)
Resolves #1886
2022-09-03 09:01:46 +10:00
c8693569b0 feat(color): New label based Model Selector (#1374)
* Model Labels Selector

* Portrait Layout

* Receiver ID Check

* Fix Labels .yml format

* Companion Initial Commit

commit 967ddf3979b4954402fe62c858faba4b7a416bba
Author: dlktdr <cblackburn320@gmail.com>
Date:   Mon Aug 29 01:49:15 2022 -0700

    Fix Labels .yml format

commit 534221cad9e01146c47a9ac1080a655e04f1f6c8
Author: dlktdr <cblackburn320@gmail.com>
Date:   Mon Aug 29 01:20:57 2022 -0700

    Receiver ID Check

commit f32c0939d44e9ae60bc0705a9176354c23fec198
Author: dlktdr <cblackburn320@gmail.com>
Date:   Sun Aug 28 23:13:25 2022 -0700

    Portrait Layout

commit 961181217c7841ff3f21299ac6aa419b810f80e9
Author: dlktdr <cblackburn320@gmail.com>
Date:   Sat Dec 11 16:56:13 2021 -0800

    Model Labels Selector

commit dc99dd40d2
Author: David PHAM-VAN <1387855+DavBfr@users.noreply.github.com>
Date:   Fri Aug 26 03:04:34 2022 -0300

    feat: Allow Lua widget to override built-in widget with same name (#2208)

    * Allow CPP Widgets Override with LUA

    * Reset a widget option it the type differs

commit 4b747caff9
Author: eshifri <46511024+eshifri@users.noreply.github.com>
Date:   Thu Aug 25 19:47:53 2022 -0700

    fix: Write model name into models.yml when duplicating model (#2224)

    * Update model name in the models.yml file (#2214)

    * Fix the length of the name.

commit e97f23a305
Author: eshifri <46511024+eshifri@users.noreply.github.com>
Date:   Wed Aug 24 21:19:52 2022 -0700

    fix(cpn): Fix full path to model notes for Simulator (#2223)

* Correct Highlighted Column

* labels .yml indentation

* Update da.h

New defines translated to Danish

* Update dataconstants.h

Omit warnings due to difference of LEN_MODEL_FILENAME and LEN_MODEL_NAME in modellist.cpp

* Update modelslist.cpp

Wonder if this are the right file in PR #1374 (?), seems a lot are changed to the better in #1374

* Update dataconstants.h

Restore #define for LEN_MODEL_FILENAME to 16

* Rebase, Correct Issues

Delete now deletes instead of select
New model stores correct information
Duplicate save all information in cell
Rework items to use cell over button
Reword function variables

* CMPN: Add context menu

Fix output not functional. Removed Yaml::null at some point :)
Fix some compiler warnings

* CMPN: Compiler warning, replace ,->_ in list

* FW: Various Changes

Change view to a grid
Don't allow comma in label name
Add scroll indicators
Save sort order

Co-authored-by: HThuren <99370924+HThuren@users.noreply.github.com>
2022-09-03 09:01:19 +10:00
ulfhedlundandGitHub 20dc9c4d26 fix(B&W): Add characters for Swedish translations (#2259) 2022-09-02 18:10:05 +10:00
Raphael Coeffic a79f00f675 fix(x9d): navigation in both directions using +/-
This issue was introduced in 62692dba6a.
2022-09-01 07:21:14 +02:00
e576925bee feat: Reduce risk of corrupt radio.yml (#1481)
* reduce risk of corrupt radio.yml #1412

Adds CRC16 checksum to radio.yml when saved.
Adds save to temporary file, folowed by rename to radio.yml
Adds check on load, with fall-back to temporary file

* Made sure that only the first read block of radio.yml is checked for the 'checksum' value.
Added checksum generation on radio.yml produced by conversion.

* Added namespace.
Github actions triggered build failed on this - compiler difference.

* Fixed typo in code not run locally.

* Made checksum result code a enum class.
Fixed null-poionter dereference bug.

* Added check and handling for radio.yml file not read (will be handled as if checksum failed)
Added evaluation of checksum when radio_new.yml is read.
Added f_unlink() calls before f_rename() to ensure the target filename does not exist.

* Added radio.yml cheksum handling to Simulator/Companion.
Cleaned radio firmware handling of checksum field up to be newline agnostic.

* Added handling of files without checksum.
- Letting files pass the check if no checksum field is present (old files) and the size is realistic (25 bytes)

* Fixed bug causing new conversion from binary if no radio.yml BUT a radio_new.yaml
is present in the filesystem.

Now the conversion is only performed if neither file exsits.

* repair rebase problems

* rerun yaml generator

* fix another rebase problem

* update text in companion to be more meaningful when the radio.yml file has a checksum error
fix wrong error message in trace

* add trigger to check radio config when leavin menu_radio

* fix: add handling for temporary and error yaml radio settings files to simu/simulator/libsimulator

* fix corner cases when comverting non crc-ed files

* chore: Tweak radio data warnings for screen sizes
- Changed the define to be a little shorter
- Added missing define for TW
- Three string lengths to suit 128, 212 and basically colorlcd

Co-authored-by: gagarinlg <malte@langermann.net>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-08-31 12:56:17 +10:00
gagarinlgandRaphael Coeffic e6697bca89 fix: center splash screen 2022-08-29 07:09:04 +02:00
Raphael CoefficandRaphael Coeffic a7335be7ec Re-added vertical 0-line for mixer monitors 2022-08-28 13:07:03 +02:00
Raphael CoefficandRaphael Coeffic 8769f49fd7 Fix mixer monitor appearance after page switch back and forth 2022-08-28 13:07:03 +02:00
Raphael CoefficandRaphael Coeffic 731d1834e3 More compact views for inputs, mixers and outputs 2022-08-28 13:07:03 +02:00
Raphael CoefficandGitHub cd211cba59 feat(color): Better color picker (#2217)
* Better color picker

* Portrait layout

* Remove obsolete ColorEdit

* Fix label clipping

* chore: Bump libopenui
2022-08-28 19:01:55 +10:00
David PHAM-VANandGitHub dc99dd40d2 feat: Allow Lua widget to override built-in widget with same name (#2208)
* Allow CPP Widgets Override with LUA

* Reset a widget option it the type differs
2022-08-26 16:04:34 +10:00
eshifriandGitHub 4b747caff9 fix: Write model name into models.yml when duplicating model (#2224)
* Update model name in the models.yml file (#2214)

* Fix the length of the name.
2022-08-26 12:47:53 +10:00
eshifriandGitHub e97f23a305 fix(cpn): Fix full path to model notes for Simulator (#2223) 2022-08-25 14:19:52 +10:00
Raphael CoefficandPeter Feerick 3eaeb911e8 fix: set screen setup tab corresponding to current main view 2022-08-24 13:11:01 +10:00
Raphael CoefficandPeter Feerick 6b7b22e660 fix: save and load main view ID 2022-08-24 13:11:01 +10:00
Raphael CoefficandPeter Feerick 0e8f4e55b1 fix: custom curves corruption
Fixes #2204
2022-08-24 12:55:26 +10:00
MichaelandGitHub 34dadf7b65 fix: Audio/haptic feedback for all hard keys except trim switches (#2201)
* Added audio/haptic feedback for all hard keys excpet trim switches.

Changed logic from application decides if feedback has to be given (was inconsistent and inefficient) to key driver detects button down and triggers immediate feedback if radio settings allowed for acoustic and/or haptic feedback (radio settings, radio setup, sound set to All)

With this change all instances of the application calling for feedback were removed in favor of the centralized approach.

This first commit also introduces a dummy function for providing feedback on key presses in boot.cpp because keys.cpp is also used as the bootloader key driver but with no logic to determine if feedback is allowed. Using a define that indicates keys.cpp is compiled for use in the bootloader would make a much nicer and backwards compatible solution.

* don't want to change libopenui so silence onKeyPress (application requests feedback) in audio.cpp

* made generation of acoustic/haptic feedback conditional on BOOT define, i.e. no feedback if keys.cpp is compiled for the bootloader

* removed onKeyPress()

* fixed crash on acoustic/haptic feedback on hard keys by restoring keys.cpp and moving logic to LvglWrapper.cpp/keyboardDriverRead().

Removed call to getWindowEvent() which would just call getEvent(false) by directly calling getEvent(false). This allowed to remove getWindowEvent() entirely as it was only used by keyboardDriverRead().

* fix: Audio header include no longer needed
2022-08-19 15:00:50 +10:00
Raphael CoefficandPeter Feerick 2c4533ddbd textedit: extra_chars has been removed 2022-08-18 12:38:35 +10:00
Raphael CoefficandPeter Feerick 00630277a8 Re-add receiver ID
Fixes #2146
2022-08-18 12:38:35 +10:00
Raphael CoefficandPeter Feerick e6dc23b77f Module setup improvements 2022-08-18 12:38:35 +10:00
Raphael CoefficandPeter Feerick 647d19bbc9 Fix access settings pop-ups 2022-08-18 12:38:35 +10:00
XINGandPeter Feerick 299991bc11 Add iFlight Commando8
Add iFlight Commando8 ELRS radio
2022-08-16 18:44:57 +10:00
Peter FeerickandPeter Feerick 7800a6de42 fix: B&W needs to know about spaces as well!
Finishes #645 as model notes with `_` and `0x20`
(space) are tested for  model notes filename also.
2022-08-14 11:50:40 +10:00
Peter FeerickandPeter Feerick c088d1d2f9 chore: Use isFileAvailable instead of f_open 2022-08-14 11:50:40 +10:00
Peter FeerickandPeter Feerick 15a19e1fef fix: Use correct path for model name audio
It is expected to have `_` in the name in place of spaces.
Uncaught side-effect of #645. It now looks for `_` instead
of whitespace first, and then checks for model name with
whitespace.

Also, trigger postModelLoad() alams when changing model
for checks and playing model name.
2022-08-14 11:50:40 +10:00
Peter Feerick b74cd10927 fix: Showing wrong letter for switch warnings
Resolves #2202
2022-08-12 15:50:11 +10:00
Raphael CoefficandRaphael Coeffic 2b7e5f04fa Fix model ID weirdness 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic b9b31a659f Fix NV14 simulation 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 56eb564b86 Detect NV14 vs EL18 at boot 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic e8d82348e0 MPM proto scan: fix RfScanDialog 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 39c61408e7 AFHDS3: Model ID & fixed model switch 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 4eeef9e916 Fixed LCD driver (no copy necessary) 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic bb6c6d6e2d WiP PoC AFHDS3 internal module 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic ab6033e4d5 Use static string 2022-08-11 12:15:46 +02:00
Raphael CoefficandRaphael Coeffic 99673224bf FlySky UI fixes 2022-08-11 12:15:46 +02:00
MichaelandGitHub 6dd5c87bfb feat: Add acoustic and/or haptic feedback for touch events depending on radio settings (#2193)
This addresses issue #1778 (https://github.com/EdgeTX/edgetx/issues/1778)

Select "All" in radio settings/radio setup/Sound/Mode for key and touch acoustic feedback and settings/radio setup/Haptic/Mode for key and touch haptic feedback.

"NoKey" also disables touch feedback.
2022-08-07 19:44:29 +10:00
a3d44d7b09 chore: Remove "OFF" from protocol lists (#2186)
* chore: Remove "OFF" from protocol lists

* Fix subType setting for X9D+2019

* fix: Chan start and count for ISRM, dup type set
Channel start and count wasn't being updated for ISRM.
Also remove duplicate modulke type setting, which was the
cause of an earlier bug that was worked around on 128x64

* fix(colorlcd): Shorter ACCST opts string crash

* chore: Formatting only

Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
2022-08-05 21:21:56 +10:00
62692dba6a feat: More rotary encoder options for B&W screens (see #2045)
* First build

* Fix X9

* Update api_general.cpp

* Update translations.h

* clean up translations

* fix: B&W option handling, remove magic numbers, cleanup
- Remove references to invertRotary, change to RotEncDir or similar
- Add compatabilty importing to companion, firmware
- Rename Lua API call
- Move magic numbers to enum
- Improve B&W option handling so it doesn't apply changes while in menu

* chore: yaml regen

* fix: Add missing guards for X9D/X9D+

* fix: Wrong enum name in simu

* fix(cpn): Use correct names for UI elements

* fix: Translations

* fix: Allow `rotEncMode` in all yaml due to x9d var
Of the three X9D variants, the X9D+2019 is the only one that
has a rotary encoder as standard. However, as the base config
file is for the X9D, this meant it wasn't reading or writing the
config value. Rather than add a seperate config file for it for
a single variable, simple to just allow it across all targets.

* fix: Companion string, change colorlcd to `Choice`

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-08-04 20:06:17 +10:00
be7a6a51ab feat: Allow the timer count direction to be selected (#2038)
* timer direction: ellapsed or left

* Add AUDIO announcement support

* Storage for showElapsed

* Translations

* Fix storage

* BW implementation

* Different BW implementation

* Companion support

* Color LCD implementation and rebase to lvgl

* Fix problems found by raphaelcoeffic

* chore: Regenerate the YAML files properly

* fix: Remove unused `TR_SHOW` remnant

* chore: Formatting and cleanup

* fix: Timer dir choice was shown in wrong place
Wrong newline used in ce23b50

* Fix cpn ui triggers, remove unnecessary code and some formatting

* fix(colorlcd): Hide timer dir opt if zero value

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
2022-08-03 09:22:42 +10:00
Raphael CoefficandGitHub e98583ce28 fix: Type cast for failsafe channel update causing EM crashes (#2170) 2022-07-31 11:29:11 +10:00
wimalopaanandPeter Feerick f55080e9e9 separated radio_tools and radio_version pages according to reusableBuffer 2022-07-27 10:45:26 +10:00
gagarinlg bc12aa2b6d fix: compilation with -DDEBUG_WINDOWS enabled 2022-07-24 16:36:51 +02:00
Peter FeerickandPeter Feerick 911aec40b9 fix: Remove CFGV as no longer needed
Since it related to the EEPROM config value,
which is no longer relevant.
Additionally, this broke after ee0c371
2022-07-22 21:01:32 +10:00
Peter FeerickandPeter Feerick 1ca482529d fix: Edge case where no MPM or internalaccess 2022-07-22 20:45:04 +10:00
Raphael CoefficandPeter Feerick 8379b47e2b Fix compilation with MULTIMODULE=NO
And allow for Spektrum telemetry to stay enabled (needed for DSMP module).
2022-07-22 20:45:04 +10:00
2ee75033bb feat(color): Add OneBit option to color radios (and Companion!!) (#1994)
* Added OneBit option also to color radios

* Try to work around GH repo owner issue

Original by @raphaelcoeffic in https://github.com/EdgeTX/edgetx/commit/bf4b5d8c0c1e386d5a4852a80d459540bab98ed3

* Add Companion support for radios with external module

* Companion housekeeping - do not display unnecessary hardware section headings

* fix: Rebase cleanup

* fix: LVGL changes

* feat: Move sample mode to a new Ext RF block

Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
2022-07-22 11:00:20 +10:00
Peter FeerickandPeter Feerick 9e23561184 fix: Reset file permissions
Git is stupid and doesn't let you lock them
2022-07-20 13:01:31 +10:00
3djcandPeter Feerick 6010eff024 TX12MK2 initial (external issue with MPM) 2022-07-20 13:01:31 +10:00