* feat: Remove TR# mixsrc when trainer disabled
When trainer mode is not enabled, there is no point
showing the TR# mixer sources. Once you enable a
trainer option, they will become visible again.
* fix: Add missing "Input" check for B&W radios
* fix(cpn): Trainer mode default is off
* chore(cpn): If trainer mode off, hide TR/PPM srcs
* (cpn) Refresh all source lists on change of trainer mode
Co-authored-by: elecpower <neilh713@tpg.com.au>
* fix: Update translation helper for LVGL changes
Also:
- make paths more OS agnostic
- auto-ignore `untranslated.h` since adding to all translations
- flag required parameter as required
* fix: Add more Label related translatable strings
* chore: Italian translations from @robustini
Also some minor formatting tidyup
* chore: Swedish translation from @ulfhedlund
* chore: Danish translation from @HThuren
* fix: Don't allow select MULTI_TRAINER if no MULTI
Fixes#1563 by ensuring Multi Trainer opt is not shown if no MPM
is enabled, as well as if MPM suport is not even compiled in.
* chore: Uppercase "OFF" or equiv for Trainer OFF
* fix: Use degree symbol instead of `@`
For temperature and degree units, @C, @F and @ were being shown, rather than °C, °F and °.
Also hoping this will also resolve the GPS sensor showing @ instead of ° as mentioned in #2163
* fix: B&W need prior `@` for degrees
* fix: `dBm` missing from some translations
* 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>
* 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>
It's enough to build the win64 companion on PRs for testing, and this keeps the win32 builds from going stale, and may also keep it's build cache form from being cleared.
* fix: Prevent potential wordsplitting of variables
* chore: Remove need for separate cpn 32bit script
* Build script tag/branch/PR auto-detection
* Teach companion about VERSION_TAG
* Update some constant names
* Only one companion build script
* Actually use `VERSION_SUFFIX` in about screen 🤦
* Add space
* Remove line that was only for testing 32bit build
* Remove hyphen between win and bits
* Show codename in Settings -> Version
* cpn: Only show codename on tagged versions
* Update about screen also
* Double quotes around codename on colorlcd
* Update copyright year
* About screen should use VERSION_TAG when set
* fix: Only define SUFFIX if PR or BRANCH build
Also, only define `VERSION_TAG` if VERSION_TAG exists.
* fix: Omit GIT SHA for colorlcd also if a tagged build
CMake: Use ExternalProject_Add() to split by toolchain
Splits targets between native and cross-compiled targets, provides a cleaner solution to problems raised by compiling for example on Apple silicon, and better managing dependencies by allowing for object libraries in a cleaner way.
Imported from open-flysky/Flysky-OpenTX-Test-Branch
* companion: Don't nuke `stickDeadZone` setting
* Implement data storage properly
* Add missing check for NV14 storage struct sizes
* Formatting
* Use one less byte in the packed data struct
Thanks @raphaelcoeffic :)
* Move setting of stickDeadZone default
* Use a Choice combo rather than NumberEdit
* Good riddance magic number
* Also set default stick zone if setting is missing
* Teach tests about `STICK_DEAD_ZONE`
* Tweak choice width
* Cpn NV14 add stick dead zone to hardware and section labels
* Cpn NV14 align default pot names to radio
Co-authored-by: elecpower <neilh713@tpg.com.au>
* Fix `LUA=N` compile breakage and tidyup on NV14
* Alignment and padding
Resolves#1751 but incomplete solution,
as the real cuplrit appears to somehow
be in `InternalModuleWindow`
* feat: Add option for rotary encoder direction
Based heavily on opentx/opentx#8852 by @3djc
* companion ui elements
* Cleanup
* Hook up UI, reading setting from yaml
* Teach simulator about rotEncDirection
* Simu and radio default scroll direction correction
Otherwise the "default" would be the opposite to how it has always been
* Remove what will be a confict with fix in #1586
* Wasn't using rotEncDirection consistently
* Zorro RE dir is opp to TX16, TX12, TPro, X9D+2019
* feat: Add channel bar to Output Edit Screen
Resolves#1385
* Wide colorlcd, show channel val on outputs table
I've also add commented code for those who want percentage instead of us
* fix: SE and SF could not be set 3POS
*Somebody* (me) forgot ternary operator only compares two value in #1303
* fix: TX12 default contrast is too high
There is no 'perfect' value due to manufacturing variance, but 25 is simply too high,
and 15 a bit too low.
* fix: tpro function switch toggle mode
* feat: Function switches now have alway on option
* Companion support for function switch always on
* Fix nasty eeprom error
* Update fs startup item model
* Fix Tpro SWITCH_EXISTS
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
Take 2, without the Mac Companion breakage...
* fixed incorrect use of non-terminated-fixed-string for ctor of std::string
* introduced helper
* removed commented lines
* removed constexpr since in C++11 std::string ctro isn't still constexpr
Co-authored-by: wimalopaan <wilhelm.wm.meier@googlemail.com>
* [action] Cache QT install files
* Take into account two windows builds
Note: If for any reason the cache is corrupted, the cache key will need to be updated to make it re-build.
- Fix (de-)serializing enable param for backlight custom function
- Fix OFF backlight
- Fix power ON/OFF delay
- Fix flight mode trim disabled
- Fix trim switch index
- Fix deserializing SLIDER[1,2]
- Fix shift for logical switches in raw sources
* [colorlcd] Ensure active internalModule is reset if different to radio level setting
* [B&W] Ensure active internalModule is reset if different to radio level setting
* storageDirty only when model setting cleared
* [b&w] Remove reusablebuffer, code re-order
* [colorlcd] More direct moduleType comparision
Consistent with B&W test
* Add filename to lua `model.getInfo()`
* Make `getModelNumberStr()` globally available
* Move variable extern
* Move constexpr to header, remove externs
* Perhaps .cpp should include its OWN header
* Hacky port of FRSKY_FIRMWARE_EXT update menu
More work is needed to integrate/test the remaining menu items
May just ba a matter of correct parameters for deviceFirmwareUpdate
* Functionalise, of sorts
* Formatting
* Functionalise more repeated update code
* Preliminary trims as keys for lua
Largely based on open-flysky implementation
* Add `isLuaStandaloneRunning()`
* Add more virtual events
* Tweak virtual events further
* Finish remapping keys to virtual events
* Move some virtuals to right trim hat
* Add missing "defined"
* Revert to common EVT_VIRTUAL_MENU mapping
* Make keys/trims reset backlight like other radios
* [nv14] Add crash causing missing curveDataEdit
* Allow horizontal touch sliding
Thanks for catching this @kevinkoenig
* Prevent hori scroll where it shouldn't scroll
Why `model_inputs` scrolls is still a mystery, but it behaves now
* DRY is in effect
* Make img buf only size of img not whole widget
* Don't draw buffer if there's no image
* If there's no image, draw model name
* Add some options, draw model name if img not set
Add options for text colour, size, fill enable and colour
* Use valid values for defaults
* Get right colours
* Add concept of a 'friendly name to widgets'
Allows for separation of internal and user visible names
* Use new theme constants
* Use right version of libopenui
* `displayName` instead of `friendlyName`
* Allow using theme colour or custom for name
* Statistics screen theming
Basically none of the text was using theme colours.
* Formatting
* Use COLOR_THEME_PRIMARY2 for prefixes
* Remove NO_FOCUS stopping reset button from working
Fixes#841
* Add codename deffine and update all radio version screens
* Move string, make const and formatting
* Missed parentheses around version number
* Add codename to Companion
* Replace edge-tx.org with edgetx.org
* Change EdgeTX website http links to https
Also consistent URL
* Update copyright string
Leave second version for future years