* Special Function to set main screen (#2135)
* chore: Add new SF to LUA constants list
* Companion support
* Formatting
* get rid of magic number
* Add function to get the number of custom screens
* Change screen numbering from 0-based to 1-based.
* Allow SetScreen custom function for Color LCD only
* add range protection
* cleanup
* yet, range protection once again
* fix: paintSpecialFunctionLine can't alter SF param data
* Fix screen initialization in companion
* move screen switching to the UI
* Trigger view change from guiMain()
* chore: Change "SET" to "Set" for consistency
* fix: Somehow missed extra comma in `TW`
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
This actually probably an underlying issue in the driver, why it's sending two TE_DOWN events and causing multiple beeps
However, this fix will hold until the touch driver interface is re-written
* Dannish special characters
* Danish special characters
* Danish special characters
* Danish special characters
* Danish special characters
* Danish special characters
* chore: Reset header to `copyright-header` template
`tools/copyright-header.txt` template is what should be used.
Also added line at EoF to make git happy
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
* Fix definition for signed value
* Support changing order of the labels for two labels
* Swap labels when there is only two due to std::rotate limitation
* Change the order with swap.
* Map rebuid added
* 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>
* 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>
* 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>
* 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
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.