* chore: Change Radio setup page headers
* chore: Model Setup page header changes
* Main menu, Model Manager, Model Templates
Including needed translation strings
* Model telemetry sensor edit page
Taking into account sensor value shown in header
* chore: Change "Edit Labels"
Resolves#3014
* fix(b&w): "Rx channel ord" -> "Def chan order"
Resolves#3348
* chore: Update translations
* chore: Change to prefered "Manage Models"
* chore: Cleanup
* chore: Move some colorlcd-only strings
May or may not save some flash memory
* fix: Missed a translation string rename
* feat(cpn): Initial Radiomaster Boxer support
* fix(build): Halt if invalid simulator plugin specified
* fix: 6POS not correctly defined
* chore: Less EEPROM stuff needed
* Start of simulator support
* Enable left buttons and fix area mapping of page up and down
* fix(cpn): Internal reference to pots
---------
Co-authored-by: elecpower <neilh713@tpg.com.au>
PR #2995 didn't take into account the data model storage actually does change when you change a variable name.
Boxer yaml generation was missed in earlier PR.
* chore: Run `generate-yaml.sh`
* chore(cpn): carryTrim -> trimSource
* fix(build): Boxer missing from `generate-yaml`
* dodgy attempt to read old carryTrim
* fix: Don't break the byte boundary + reorder
* fix(yaml): indentation for attributes that should not be output
* chore: Regenerate YAML after rebase
---------
Co-authored-by: raphaelcoeffic <raphael.coeffic@frafos.com>
* Add translations for "minutes"
* Add missing PLURAL2
* fix grammar
* Next attempt
* include limits.h
* minor cleanup
* Addin some translations for some languages based on inputs
* chore: Remove BREAKSPACE, add ignore flag
And some minor cleanup / formatting
* chore: Revert `TR_USE_VARIABLE_PLURAL`
Use `TR_USE_SINGULAR_IN_PLURAL` properly... thanks @eshifri
Co-authored-by: eshifri <eshifri@hotmail.com>
* chore(cpn): Run Qt Linguist updater
* Fix translation errors
* fix: Reference all available translations
* Add Chinese to available radio voice languages
* fix(cpn): Add missing voice languages to firmwares
* Add translation to analogs
Co-authored-by: elecpower <neilh713@tpg.com.au>
* fix: Always show GPS button in radio setup
It is related to GPS telemetry, not internal GPS.
This probably needs to implemented differently in the future.
* de optimization (#2737)
* de optimization
since the GPS button is now displayed by default (#2732), the labels for the "Alarms" and "LCD" are much too long and thus GPS is pushed into a new line. This looks unattractive and is a waste of space
* Update de.h
* chore: Cleanup
Co-authored-by: ParkerEde <ralf@krusecity.de>
* chore(github): Node.js 12 based actions deprecated
* chore: Remove more dependency ver warnings
- `jurplel/install-qt-action@v3` finally released
- `actions/cache@v1` is thus no longer needed, so its warning gone also
- leaving on only `maxim-lobanov/setup-xcode` remaining
* fix: Make text color for active PRIMARY1, not 2
* fix(nv14): Portrait channel monitor single column
* fix: Tweak channel bar icons and horizontal layout
* fix: Move channel bars down slightly
* fix: Active button text color
* feature(colorlcd): antenna selection
* fix: let's assume all internal XJT modules used in horus targets are either X10 or X12S type
* fix NV14 compilation
Co-authored-by: Raphael Coeffic <raphael.coeffic@frafos.com>
* feat(cpn): Initial iFlight Commando8 support
* fix: Commando8 doesn't have trainer port
* feat: Add Simulator for iFlight Commando8
Also some minor code re-order for BetaFPV LR3PRO
* chore: EEPROM_VARIANT not used
* chore: Remove EEPROM bits that don't seem needed
* fix: Build simulator plugin
* fix: Simulator PGUP/PGDN the right way around
* fix: Keep trainer mode in cpn for MPM, etc
Fixes#2496
* Adjusts size of dialog to look better on NV18/EL18
* Adjusts size of dialog content depending on presence of version tag
I'm sure this could be done better using LVGL,
but is enough for now IMO.
Also let the auto-formatter loose on this file.
* 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