* 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>
* 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>
* 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
* Introduce yaml in Companion
* EdgeTX Companion
Replace some OpenTX refs
Data conversion to v220
Update Timers ui to cater for mode field split
* Fix some simulators crashing when started from Companion
* Disable firmware and app update checking and downloads from companion
* Some more rebranding
* Disable manual download actions and another rebrand
* Fix cmake warning
* Fix mode ON conversion gtests and enable switch in model edit
* Stop update message when updates turned off
* OpenTX #8580 Fixes missing negative sign for telemetry sources
* OpenTX #8604 fix curves tooltip colors
* OpenTX #8616 Fix release notes url references
* OpenTX #8548 Align file sync folder references
* OpenTX #8548 Link field once
* OpenTX #8550 Confirmation prompt before write models and settings to radio
* OpenTX #8550 Translate strings
* Title and splash images
* Change DEB package maintainer
* Start NV14
* NV14 continued
* NV14 sim
* Timer countdownStart data conversion and ui fixes
* Fix screen width
* Merge OpenTX PR 8675
* NV14 sim add computer keys and mouse to activate some functions
* Only allow supported protocols for each module on conversion
* Clear mismatched modules on conversion
* Replace colorlcd theme and layout blobs with detailed data structs in companion
* NV14 has 2 topbar zones
* Fix layout init
* Fix layout init again
* Reset to eepromimportexport.h to main branch
* Import/export does not like enum fields
* Model edit add custom screens tab for color and bw telemetry
* Free memory
* TX16S initial push - Radio booting, navigation keys ok
* TX16S libsimu
* Please Travis
* Do not start radio on charger power
* USB charger led handling
* Revert "USB charger led handling" until we have proper details
* Pseudo sport power pin
* Please Travis
* tx16s serial debug
* Add tx16s calibration picture
* Review anadir for tx16s, needs to be checked on more radios
* Dump raw multi telem on AUX port
* More work on TX16S
* Fixes
* Compilation fix
* Compilation fix
* Fix Aux Serial power
* Various improvement
* USB charger led handling
* Cosmetics
* Cosmetics
* USB charger led handling
* Add charge indicator on GUI
Added support for:
- T16 radio
- internal multi-protocol module.
- flashing internal and external multi-protocol modules.
Many thx to:
- goebish, for the hardware support.
- qba667, for the original patches for the internal multi-protocol support (UI and serial com).
* [Companion] RawSourceRange: Fix for timers and RTC; Remove unused "single precision" flag and logic; Add logic for "short" timer handling.
* [Companion] Add TimerEdit class for editing negative times; Implement TimerEdit in LS, CF, and Telemetry (bars) editors;
* [Companion] Refactor LogicalSwitchesPanel for fewer & more efficient updates; Fix newly-added LS not being available in source lists; Fix bug with timer/rtc comparison values getting reset to value of spin box instead of time editor.
* Add forgotten #include.
* [Companion] LogicalSwitchesPanel: Update raw sources list upon screen refresh (fixes#5374); Improve data entry in spin boxes (fixes#5375).
* Make gcc happy.
* [Companion] Set proper RawSourceRange for GVars, trims, mixer scripts, and sticks/switches/cyclic/MAX.
* [Companion] Fix backwards precision/range logic on telemetry sensors offset spinbox; Fix other minor range issues with ratio & offset.
* [Companion] Remove short limit on min/max timer values for LS & telem. bars.
* Switch to TimerEdit in maxLibQt.
* Fix gcc build.
* Remove unused files.
* Caps fix.
* [Simulator] Create RadioKeyWidget class for UI buttons & refactor ButtonsWidget; Refactor SimulatedUIWidget (and subtypes) to use new RadioKeyWidgets/ButtonsWidget; Centralize help text for key mappings and get creative with some icons; Simplify some radio UI setups with rectangular buttons.
* [Simulator] Convert all simulator data I/O to signals/slots mechanism:
* SimulatorInterface/OpenTxSimulator:
- Now inherits from QObject to allow signal/slot interface;
- Allows data exchange on a per-item basis (eg. each I/O value is treated separately instead of sending whole arrays or structs of data);
- Checks for data changes and only emits signals when change is detected (GUI can now assume only new values are being sent);
- Manages its own 10ms timer (doesn't rely on GUI to do that);
- Sends "heartbeat" signals @ 1Hz for status monitoring;
* Simulator GUI:
- All data is exchanged between GUI elements as well as SimulatorInterface via signals/slots using standardized methods;
- Data is sent immediately, and only, when actually changed (eg. a control is moved) instead of in bulk at specific time intervals;
- Similarly, an asynchronous method is used for reading incoming data, w/out timers or loops;
- Improve VirtualJoystickWidget to be more encapsulated and configurable;
- Pause telemetry simulator if window is hidden;
* [Simulator] Move SimulatorInterface instance to separate thread, ensure safe asynchronous operations & proper timer interactions; Protect/remove some functions, & reorganize the order (cosmetics).
* [Simulator] Traces are now delivered to OpenTxSimulator and one or more QIODevice(s) can be added as recipient(s); Add SimulatorInterface::getCapability() for compile-time settings; Remove reversed POT1/SLIDER1 mixer exception (Taranis) requirement for SIMU; Fix plus/minus key delay on wheel event w/out encoder.
* [Simulator] Add current knob/slider/trim input value in tool-tips (KnobWidget and SliderWidget).
* [Simulator] Fix trims widget internal value not properly updating, and remove trim influence on virtual joystick X/Y value display (closes#4671).
* [SimulatorInterface] Add handling of transmitter input voltage, including a rough conversion of volts to ADC value for different boards, and default battery volts lookup function; Clear analogs array before starting.
* [Simulator] Add SimulatorInterface::init() method to separate pre-startup tasks; Report actual trim range, not just extended on/off; Change how radio widget states are restored; VirtualJoystickWidget: Connect trim changes directly from simulator, connect joystick events directly, report stick mode directly instead of setting values/constraints externally.
* [Simulator] Calculate default Tx V input based on configured range in radio settings (or warning V+2 for radios which don't support a range).
* [Simulator] Add functional aux. trims for Horus (closes#4699).
* [Companion] Remove problematic QMessageLogContext from AppDebugMessageHandler::messageOutput().
* [Simulator] Prevent trim change via slider if disabled for flight mode (closes#4600).
* [OpenTxSimulator] Fixes for Qt < 5.4.
* [OpenTxSimulator] Fix slot name.
* [Simulator] Create a reusable RadioTrimWidget; Move all trim-related enums to boards.h; Make sure aux trims are accounted for in SimulatorInterface; Trims now use toolbuttons with icons instead of pushbuttons with text.
* [Simulator] New buttons & icons for virtual joystick axis hold/fix toggles; Joystick ball is now slightly scaled to stick area.
* [Simulator] Virtual joystick now "follows" mouse clicks within the stick area (left-click on empty space will attract the control node).