Convert APM Copter tuning page to VehicleConfig JSON generator#14244
Merged
DonLakeFlyer merged 1 commit intomasterfrom Mar 30, 2026
Merged
Convert APM Copter tuning page to VehicleConfig JSON generator#14244DonLakeFlyer merged 1 commit intomasterfrom
DonLakeFlyer merged 1 commit intomasterfrom
Conversation
Contributor
Build ResultsPlatform Status
All builds passed. Pre-commit
Pre-commit hooks: 4 passed, 32 failed, 7 skipped. Test Resultslinux-sanitizers: 67 passed, 0 skipped Artifact Sizes
|
Replace the hand-written APMTuningComponentCopter.qml with a JSON-defined VehicleConfig page (APMTuningCopter.VehicleConfig.json) using the QML generator system. Generator enhancements: - Add factslider control type to controls.py and page_generator.py, rendered as FactSlider inside SettingsGroupLayout with linked params - Add component control type for inline escape-hatch QML components APM Copter tuning page (3 sections): - Flight Response: 5 fact sliders with coupled gain parameters - AutoTune: bitmask param + channel selector component + optional params - In Flight Tuning: combobox + min/max text fields Also fixes MOT_SPIN_MIN bug from original (was incorrectly bound to MOT_SPIN_ARM). Extract Advanced PID Tuning to standalone APMAdvancedTuningCopterComponent as a regular QML SetupPage (not generator-based), shown only for multi-rotor vehicles. Add useAutoTuning property default to PIDTuning.qml to prevent runtime ReferenceError. Add Generated from comments to existing setupSource() methods that return generated VehicleConfig pages.
38cf542 to
f62c4ea
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Convert the APM Copter tuning page from hand-written QML (
APMTuningComponentCopter.qml) to a JSON-defined VehicleConfig page using the QML generator system. Also extracts Advanced PID Tuning into a standalone top-level component.Generator Enhancements
factslidercontrol type — RendersFactSliderinsideSettingsGroupLayoutwith heading/description and support for linked (coupled) parameterscomponentcontrol type — Inline escape hatch for embedding custom QML components within generated sectionsCopter Tuning Page (3 sections)
Additional Changes
APMAdvancedTuningCopterComponent(regular QML SetupPage, not generator-based), shown only for multi-rotor vehicles as "Tuning - Advanced"MOT_SPIN_MINslider was incorrectly bound toMOT_SPIN_ARMin the original pageuseAutoTuningproperty default to prevent runtimeReferenceErrorsetupSource()methods that return generated VehicleConfig pages