* chores(flysky): separate AFHDS2A and AFHDS3 into 2 different module type
This should allow to remove some of the hacks added earlier.
* chore: Add some EL18 CI bits
* fix(afhds): cmake defs
* fix(ci): add el18 to commit-tests.sh
* chore(cpn): separate AFHDS2A and AFHDS3
* chore(cpn): remove binary import of afhds and legacy fxFreq field for afhds3
* fix(cpn): limit available internal afhds protocols to those supported by hardware
* chore(cpn): update Flysky int module test
* fix(cpn): compile error
* fix(cpn): afhds2a max channels
* fix: TR_MODULE_PROTOCOLS
* enh(cpn): more support for afhds2a and 3
* fix(cpn): rebase compile error
* fix(cpn): bit indexes
* fix(cpn): emi toString
* fix(cpn): limit available internal afhds protocols to those supported by hardware
* enh(cpn): add support for Flysky EL18
* fix(cpn): available protocols
* fix(cpn): rebase moduledata
* chore(cpn): add module fields to model print
* Separate AFHDS2A and AFHDS3 UI settings.
* Fix AFHDS3 conversion from old subtype value.
Fix 'Channel Range' layout on portrait LCD.
* Fix name.
---------
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: elecpower <neilh713@tpg.com.au>
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
* TLite F4
* chore: Add to fw list for Buddy
* chore(cpn): TLite F4 Companion support
* fix: Remove seemingly incorect cmake set
Or at least, the code now builds without that directive
* fix(cpn): Stupid typo
* chore: Actually build/register tlitef4 simulator
* fix: Need tlitef4 flavor for simulator and updates
* chore: tlitef4 can use tlite simulator
* fix: downloadid AND simulatorid
* fix: Correct simulatorid
---------
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
Co-authored-by: Peter Feerick <pfeerick@users.noreply.github.com>
* Reduce RAM usage for advanced joystick system on radio:
- Don't allocate memory blocks unless joystick mode is being used.
Support multiple radio joystick configurations in Companion:
- Save configured joystick settings by joystick name in Companion settings.
- Save last joystick name used in each profile.
- Reload joystick settings by name when profile is changed.
* Only show configuration for used axes and buttons in Companion.
Send actual number of configured joystick buttons from radio in USB packet.
* Fix issue where USB joystick not recognised if no buttons configured.
* Fix compiler warnings.
* Remove debugging.
* Fix crash in Companion.
* Change channel 8 to type 'dial', workaround for Linux mapping issue.
---------
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
* Add 'Show Instance ID' button to telemetry page to show/hide sensor instance number (default is hidden).
Fix issues with page refresh when all sensors deleted.
Select closest sensor when a single sensor is deleted.
On change, only refresh the sensor list instead of the whole page.
The 'showInstanceIds' property is saved to the model file.
Update Companion to save/load 'showInstanceIds' in model YAML file. Add checkbox to telemetry edit page.
* Update all radio specific files.
* Keep focus on 'Discover/Stop' button when searching for new sensors.
Start sensor ID index at 1 to match B&W radios.
Keep focus on changed parameter when editing sensor, don't rebuild entire parameter list on change.
* Display actual 'instance' ID instead of 'instance' + 1.
* Fix incorrect ID when reloading simulator data.
* Fix incorrect ID when reloading simulator data on B&W radios.
* Allow switches on the connected radio to control switches in the simulator via the joystick interface.
* Merge configurable radio joystick interface from banyaszg.
* Add two more 'axis' channels to companion.
* Fix 6POS from USB joystick to simulator.
* Reduce data size.
* Fix build error on B&W radios.
* Add 'Companion' button mode to work with the button logic in the Companion app.
* Build Companion joystick setup layout at runtime.
Change #define names for simulator joystick.
Allow 15 axes and 32 buttons.
Initial support for trim sliders.
* Remove custom joystick button type for companion - use 3 buttons per switch in companion to control simulator switch state.
* Fix joystick constructor calls parameters. Connect some radio joystick trims to simulator widgets.
* Restore 'companion' button type to reduce number of buttons needed. Make trims work via buttons in USB joystick.
* Connect joystick trim buttons to simulator widgets.
* Use companion source names for trims.
* Add encode / decode of usb joystick custom settings to Companion.
* Convert to lvgl layouts.
Update language files.
* Fix generated YAML storage files.
* Fix initialisation error when editing button channel. Cleanup code.
* Fix rebase.
* Fix refresh of joystick channel list view after editing an entry.
Companion joystick config window uses two columns.
* Fix vertical joystick inversion bug.
Change stick axis labels.
---------
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
* Add preference option to Companion to disable the 'Cannot open joystick, joystick disabled' popup warning when starting the simulator.
* Don't erase joystick settings if user opens preferences dialog while joystick is not connected.
Remove reference to "Ubuntu" font family for 'Radio Type' label in preferences dialog (generates warning on MacOS).
* chore(pc): convert simu/simulator/companion to use SDL2
* switch companion builds to SDL2 - OSX is not converted
the linux change is done a bit hacky, it should be done by updating the EdgeTX docker container
* update build system setup scripts
* add compatibility for old and new SDL2 cmake integration
* fix windows installer
* fix simulator audio on windows by using DirectSound vie SDL2
* fix windows audio with SDL2
enable simu for windows builds
* remove workflow changes for linux builds, this needs to be fixed in the build environment
* fix OSX build, thx @pafleraf
* fix windows audio for companion and simulator with SDL2
* select SDL2 branch of the build-docker environment
* Revert "select SDL2 branch of the build-docker environment"
This reverts commit da801609d78e1aed513ad7d9d8ab3ebded2900b9.
* fix tests with SDL2
* 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>
* Fix 2POS switch logic in simulator. Recent change for 6POS switch broke the 2POS switches.
* Rework switch and pot controls in the simulator ensure consistent values, avoid extraneous events in Qt and, hopefully, simplify the code.
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.com>
* Fix for issue #2827.
Ensure consistent values for the TX16, 6 position switch, in the simulator.
* Adjust 'value' to achieve alignment of raw values to step positions.
Co-authored-by: Phil Mitchell <phil.a.mitchell@gmail.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
* first commit for FrSky 8s Lipo Sensor
FLVS Advanced transfers up to 8 cell voltages for Cels sensor
* correcting mistake made transferring local change to PR
* complementary extension of Companion telemetry simulator to enable simulation of 8 cells
* change to allow selection of cells 7 and 8 in calculated sensor with formula Cell
* (cpn) Add bin and yml conversions and basic semantic version helper
Co-authored-by: elecpower <neilh713@tpg.com.au>
* Users will be able to save and reload telemetry values in companion telemetry simulator. Also, default values set for all sensor values.
* Added file.flush()
* Edited file i/o as per elecpower suggestion
Signed-off-by: dale wheeler <dale@wheeler.net>