* feature: added ability to have radio specific menu items in the bootloader
* added enabling/disabling USB access to the RF module via the bootloader
* enable the internal module on EL18, when RF module USB access is enabled
* moved USB switch pin initialization to the NV14/EL18 specific code
* moved EL18 USB switch defines to boot_menu
* feat: added a symbol for RF USB switch menu option on EL18 bootloader
* 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>
* Add PR number to version string
* Testing another way
* Decide according to GitHub ref type how to parse and where to output.
Prioritize EDGETX_VERSION_TAG, if set, else resort to EDGETX_VERSION_SUFFIX, if set.
Adjust also firmware_version and boot_version strings and adjist bootloader title.
* Consider also B/W.
* B&W: omit GIT SHA if tagged, otherwise own line
Omit GIT SHA from version string if a tagged version.
Otherwise, show on own line since is too long for 128x64 B&W displays.
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
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.