* Remove commented lines
* Restrict calibration to sticks, pots and sliders
* Fix pots and sliders config to support pre and post adc refactor
* fix: pfeerick sucks at rebases
* chore: Add more bits missed during rebase
* chore(cpn): use adc version constant
* fix(cpn): calibration encode mapping
---------
Co-authored-by: elecpower <neilh713@tpg.com.au>
* 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>
* Model print and compare include GFs enhancement
* Model print and compare include checklist contents
* Add missing brackets and code tidy up
* Print message if cannot open or read checklist file
* Missing GV label translation
Move some checklist code to helpers
* Refactor to use helpers and add cursor position
* Move improved version of removeAccents to helpers and apply to checklist
* Force fixed width font for edit window
* [CompanionIcon] Can now add multiple image files to icon for representing different UI states (checked/active/etc).
* [Companion][CustomFunctionsPanel] Fix sound file locked after playback (fixes#5222, fixes#5997); Refactor play button (fixes#4929); Create new QMediaPlayer on each play and load in "LowLatency" mode instead of stream.
* [Companion] Qualify all remaining QObject translations with proper class/object names; Centralize some common strings into constants.h.
* [Companion] Replace all instances of some common strings with macros from constants.h.
* [Companion] Fix translation warnings from lupdate.
* Move MultiposPots & MultiposPotsPositions capability lookups and getAnalogInputName() to Boards class.
* Add RawSource::isAvailable() and RawSwitch::isAvailable(); Add board type param to various RawSource lookup functions.
* Add CustomFunctionData::toString(), FlightModeData::toString(), FactoryInstalledPots board capability, MAX_SWITCH_TYPE, & break out GeneralSettings source/switch defaults to own function.
* Add RadioDataConversionState class for tracking conversion actions.
* Implement RadioDataConversionState handler, add conversion process report, and improve/fix conversion issues:
* Make sure all switches/pots/knobs have default configs for destination board type;
* Try to move more custom control names, intelligently;
* Convert model timers and throttle source;
* Adjust for Horus 6P switch in place of Taranis S2 knob;
* Adjust for extra sliders on X12 and X9E to move LS and RS to proper slots as needed;
* Make sure ALL controls are validated, eg. to always account for extra trims/analogs/switches/etc which don't exist on destination;
* Properly indicate invalid RawSource::toString() items with "???".
* Allow user to cancel out of file conversions & provide ample warnings if switching radio type/profile with unsaved file(s) still open;
Also: Fix bug with some orphaned MdiChild windows never being deleted; Create static bool Storage::isBoardCompatible(b1, b2).
* Add maxLibQt "stub" (will not compile).
* Add ExportableTableView for better presentation of conversion results table.
* Move getFourCC() and isBoardCompatible() to Boards class.
+ some refactoring to hide irrelevant switches in the combobox
More refactoring to come:
- have only one SwitchModel per model instead of one per tab
- only do the update work if something has changed
* [Companion] Move RadioData constructor.
* [Companion] Move getCapability(SwitchPositions) to Boards class.
* [Companion] Show custom channel, g-var, & curve names throughout UI; Remove redundant name formatting and other unused functions in ModelPrinter and Helpers; Add CustomFunctionData::isEmpty().
* [Companion] Add LogicalSwitchData::isEmpty().
* [Companion] Fix small bug in HardwarePanel.
* [Companion] Rename logical switches to "LSw##" in selections lists to avoid confusion with "L#" and "LS" hardware controls; remove unused RotaryEncoderString().
* [Simulator] Remove extraneous format value in microsTimer; Better way to delete SimulatorStartupDialog (in case no event loop starts).
* [Simulator] No helpers dependency for SimulatorStartupDialog.
* [simpgmspace] Rename micros timer function and make externally available.
* [Companion] Fix possible uninitialized value in TreeModel (compiler warning).
* [multi_arm] Fix minor compiler warning (MSVC: "unsafe mix of type 'uint8_t' and type 'bool' in operation").
* [lua] Fix compiler warning ("'data' may be used uninitialized in this function").
* [OpenTxSimulator] Fix analogs array range.
* [Simulator] Auto-start simulator when SimulatorMainWindow is first shown (vs. before it was shown).
* [Simulator] DebugOutput: prevent possible mutex deadlock on buffer overflow (force queued connection for Qt < 5.3).
* [Companion] Display calibration data for Horus joysticks (MOUSE1/MOUSE2)
* [Companion] Introduce new Boards class to further consolidate hardware metadata and remove some globals.
* [Companion] * RawSource::toString() and RawSwitch::toString() can now return custom hardware names (if given a GeneralSettings object) for the following types (respectively):
SOURCE_TYPE_STICK, SOURCE_TYPE_SWITCH, SWITCH_TYPE_SWITCH, & SWITCH_TYPE_MULTIPOS_POT;
* RawSource::isPot() and isSlider() can now return their own index position in potConfig[]/sliderConfig[];
* Switch indicator strings can be localized if necessary.
* [Companion] Refactor model printers to use new RawSource/RawSwitch capabilities; Simplify model-to-printer mapping scheme in multimodelprinter; Use const ModelData pointer.
* [Companion] Refactor how RawSource and RawSwitch selection combo boxes are populated, using cache-able data models instead of direct manipulation; Refactor some other Helpers function into their own namespace.
* Cosmetics & forgotten qualifier.
* [simulatormainwindow] Move sub-window destructors to main destructor.
* [simulation] Move SimulatorInterface creation/ownership to SimulatorMainWindow.
* [simulation] Add option to unload simulator libraries after each use (eg. from Companion) so as to properly reset all statically initialized firmware variables; Introduce new SimulatorLoader class.
* [simulation] Hardening: Fix some potential crashes & 26 memory leaks, improve LCD performance.
* [simpgmspace] Init trims; Make sure `REa` is really defined (to match board files).
* [simpgmspace][opentxsimulator] Verify current running state before start/stop; Move rotary enc. init.
* [simpgmspace][LcdWidget] Improve performance by moving LCD content change check to lcdRefresh() & limiting LcdWidget refresh time to 60 fps max.
* [simueeprom] Ensure thread could be started, set default running state to false.
* [simufatfs] Fix paths report trace.
* [eepromimportexport] Fix memory leaks resulting from import debugging scheme being used.
* [customdebug] Introduce new scheme for custom debug output in compliance with Qt recommendations (see docs for QLoggingCategory).
* [opentxeeprom] Fix extra conversion table cache elements being created and also not properly deleted (and hence leaking).
* [opentxinterface] Unregister EEpromInterfaces in unregisterOpenTxFirmwares();
* [storage] Unregister storage factories on exit (fixes leak); create virtual StorageFormat/StorageFactory destructors (prevents warnings).
* [helpers] GVarGroup now emits own signal, no need to pass ModelPanel pointer (removes dependency on modeledit.h)
* [DebugOutput] Clear simulator trace hook before exiting (prevent possible issues); Fix leak and possible bad QString allocations when reading from buffer; Fix leak with combo box event filter.
* [TelemetrySimulator] Fix leak by deleting LogPlaybackController object on exit; Only set up data fields once; convert timers to static.
* [build] Consolidate all Companion/Simulator shared items in `common` library to reduce build time/etc (node & edge still remain awkward).
* [simulatorwidget] Delete removed spacer object (previously-forgotten "26th" leak).
* [DebugOutput] Fix stray trailing characters issue with new text buffer allocation (from previous commit); Increase maximum buffer sizes to better accommodate slower systems.
* Cosmetics.
* [SimulatorInterface] Add ability to read eeprom data back from simulator instance.
* [Simulator] If started with .otx file, Simulator will now update (or create) the file upon exit using current radio/model data; Consolidate internal startup and shutdown code for handling various data sources.