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