Skip to content

Improve ArduPlane support - #2009

Merged
amilcarlucas merged 3 commits into
masterfrom
chore_dep_updates
Sep 2, 2026
Merged

Improve ArduPlane support#2009
amilcarlucas merged 3 commits into
masterfrom
chore_dep_updates

Conversation

@amilcarlucas

Copy link
Copy Markdown
Collaborator

Description

Improve ArduPlane support

Checklist

  • Run pre-commit checks locally
  • Verified by a human programmer
  • All commits are signed off (use git commit --signoff)
  • Code follows our coding standards
  • Documentation updated if needed
  • No breaking changes or properly documented

Testing

Describe how you tested these changes:

  • Unit tests pass
  • Integration tests pass
  • Manual testing performed
  • Tested on flight controller hardware

Copilot AI lite review requested due to automatic review settings September 1, 2026 00:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Pull request overview

Adds an ArduPlane empty_4.7.x template set and enhances configuration step metadata to better support logging/telemetry-driven workflows.

Changes:

  • Added a full set of ArduPlane empty_4.7.x template parameter files plus a vehicle_components.json template.
  • Extended configuration_steps_ArduPlane.json and configuration_steps_Rover.json with related_bin_messages, conditional plugin display, and updated derived logging mask logic.
  • Adjusted argcomplete completer type-checker suppression annotations in a few Python utilities.

Reviewed changes

Copilot reviewed 116 out of 116 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/vehicle_components.json New ArduPlane component template used to derive/drive parameter defaults.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/66_everyday_use.param New “everyday use” parameter set for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/62_precision_land.param Precision landing parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/61_guided_operation.param Guided operation parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/60_position_controller.param Position controller parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/57_analytical_pid_optimization.param Analytical PID optimization parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/56_system_id_mixer_thrust.param System ID mixer thrust parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/55_system_id_mixer_yaw.param System ID mixer yaw parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/54_system_id_mixer_pitch.param System ID mixer pitch parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/53_system_id_mixer_roll.param System ID mixer roll parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/53_everyday_use.param Alternate everyday-use step parameters for the template flow.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/52_system_id_input_yaw.param System ID input yaw parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/51_system_id_input_pitch.param System ID input pitch parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/50_system_id_input_roll.param System ID input roll parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/49_windspeed_estimation_finish.param Windspeed estimation finishing parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/49_precision_land.param Precision landing parameters for another step in the flow.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/48_guided_operation.param Guided operation parameters for another step in the flow.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/48_barometer_compensation.param Barometer compensation parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/47_windspeed_estimation.param Windspeed estimation parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/47_position_controller.param Position controller parameters for another step in the flow.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/46_pid_d_ff.param PID D-FF parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/46_analytical_pid_optimization.param Analytical PID optimization parameters for another step in the flow.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/45_system_id_thrust.param System ID thrust parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/45_autotune_finish.param Autotune finishing parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/44_system_id_yaw.param System ID yaw parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/44_autotune_roll_pitch_retune_results.param Retune result parameters for roll/pitch autotune.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/43_system_id_pitch.param System ID pitch parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/43_autotune_roll_pitch_retune_setup.param Setup parameters for roll/pitch retune.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/42_system_id_roll.param System ID roll parameters for the template.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/42_autotune_yawd_results.param Autotune yaw-D results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/41_barometer_compensation.param Barometer compensation parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/41_autotune_yawd_setup.param Autotune yaw-D setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/40_windspeed_estimation.param Windspeed estimation parameters for another flow step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/40_autotune_yaw_results.param Autotune yaw results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/39_autotune_yaw_setup.param Autotune yaw setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/39_autotune_roll_pitch_retune_results.param Roll/pitch retune result parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/38_autotune_roll_pitch_retune_setup.param Roll/pitch retune setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/38_autotune_pitch_results.param Pitch autotune results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/37_autotune_yawd_results.param Yaw-D autotune results parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/37_autotune_pitch_setup.param Pitch autotune setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/36_autotune_yawd_setup.param Yaw-D autotune setup parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/36_autotune_roll_results.param Roll autotune results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/35_autotune_yaw_results.param Yaw autotune results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/35_autotune_roll_setup.param Roll autotune setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/34_evaluate_the_aircraft_tune_ff_enable.param Enables FF for evaluation step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/34_autotune_yaw_setup.param Yaw autotune setup parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/33_evaluate_the_aircraft_tune_ff_disable.param Disables FF for evaluation step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/33_autotune_pitch_results.param Pitch autotune results parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/32_inflight_magnetometer_fit_results.param MagFit result parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/32_autotune_pitch_setup.param Pitch autotune setup parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/31_inflight_magnetometer_fit_setup.pdef.xml Parameter-definition XML for MagFit setup UI/help.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/31_inflight_magnetometer_fit_setup.param MagFit setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/31_autotune_roll_results.param Roll autotune results parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/30_quick_tune_results.param QuickTune results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/30_autotune_roll_setup.param Roll autotune setup parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/29_quick_tune_setup.param QuickTune setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/29_evaluate_the_aircraft_tune_ff_enable.param Enables FF for another evaluation step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/28_pid_notch_filter_results.param Notch filter tuning result parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/28_evaluate_the_aircraft_tune_ff_disable.param Disables FF for another evaluation step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/27_quick_tune_results.param QuickTune results parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/27_pid_notch_filter_logging.param Logging parameters needed for notch filter tuning.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/26_quick_tune_setup.param QuickTune setup parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/26_ekf_config.param EKF configuration parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/25_motor_notch_filter_results.param Motor notch filter results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/25_inflight_magnetometer_fit_results.param MagFit results parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/24_throttle_controller.param Throttle controller parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/24_inflight_magnetometer_fit_setup.pdef.xml Parameter-definition XML for MagFit setup UI/help (another step).
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/24_inflight_magnetometer_fit_setup.param MagFit setup parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/23_quick_tune_results.param QuickTune results parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/23_optional_pid_adjustment.param Optional PID adjustment parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/22_quick_tune_setup.param QuickTune setup parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/22_motor_notch_logging.param Logging parameters for motor notch tuning.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/21_motor_notch_filter_setup.param Motor notch filter setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/21_ekf_config.param EKF configuration for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/20_throttle_controller.param Throttle controller parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/20_esc.param ESC-related parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/19_notch_filter_results.param Notch filter results parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/19_motor.param Motor parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/18_osd.param OSD configuration parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/18_notch_filter_setup.param Notch filter setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/17_remote_id.param Remote ID parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/16_safety_setup.param Safety setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/16_pid_adjustment.param PID adjustment parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/15_range_finder.param Rangefinder/landing and related sensor parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/15_osd.param OSD configuration parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/15_motor.param Motor parameters for another step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/15_general_configuration.param General configuration parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/14_mp_setup_mandatory_hardware.param Mandatory hardware setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/14_logging.param Logging configuration for the workflow.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/13_initial_atc.param Initial attitude-control-related parameter base.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/13_general_configuration.param General configuration parameters for earlier step, including scripting.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/12_mp_setup_mandatory_hardware.param Mandatory hardware setup parameters for earlier step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/12_gnss.param GNSS parameters for earlier step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/11_initial_atc.param Initial ATC parameters with comments/assumptions.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/11_battery.param Battery configuration parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/10_gnss.param GNSS parameters for earlier step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/10_battery_monitor.param Battery monitor parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/09_range_finder.param Rangefinder-related parameters for earlier step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/09_esc_telemetry.param ESC telemetry serial parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/08_telemetry.param Telemetry serial parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/08_batt1.param Battery 1 parameters with explanatory comments.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/07_remote_controller_controller.param RC controller config parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/07_esc.param ESC parameters for earlier step, including poles and telemetry.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/06_telemetry.param Telemetry parameters for earlier step.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/06_remote_controller_receiver.param RC receiver parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/05_remote_controller.param RC controller/receiver combined parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/05_board_orientation.param Board orientation parameter.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/04_board_orientation.param Board orientation + logging/heat target parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/03_imu_temperature_calibration_results.param IMU temperature calibration result parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/02_imu_temperature_calibration_setup.param IMU temperature calibration setup parameters.
ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/00_default.param Default baseline parameter dump for ArduPlane 4.7.x template.
ardupilot_methodic_configurator/param_pid_adjustment_update.py Updated type-checker suppression for argcomplete completer assignment.
ardupilot_methodic_configurator/extract_param_defaults.py Adjusted type-checker suppression for argcomplete completer assignment.
ardupilot_methodic_configurator/configuration_steps_Rover.json Added logging/telemetry related message metadata and updated derived parameters.
ardupilot_methodic_configurator/configuration_steps_ArduPlane.json Added message metadata, new add/derived parameters, and quicktune/magfit step updates.
ardupilot_methodic_configurator/backend_filesystem.py Updated type-checker suppression for argcomplete completer assignment.
Suppressed comments (4)

ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/24_inflight_magnetometer_fit_setup.pdef.xml:1

  • This template is under vehicle_templates/ArduPlane/... but the parameter definition XML is labeled ArduCopter. If the tooling uses the <parameters name=...> to select the applicable vehicle, these docs may not be found/applied for ArduPlane. Rename the vehicle to ArduPlane (or whatever identifier your loader expects for Plane) to match the template folder.
    ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/31_inflight_magnetometer_fit_setup.pdef.xml:1
  • Same issue as the other MagFit .pdef.xml: the vehicle is labeled ArduCopter inside an ArduPlane template. Update the <parameters name=...> value so parameter documentation is correctly associated with ArduPlane.
    ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/61_guided_operation.param:1
  • Within the same template set, 00_default.param contains FS_GCS_ENABL (note the missing 'E' at end) while this step sets FS_GCS_ENABLE. If the firmware parameter is actually FS_GCS_ENABL for this version/vehicle, this line won’t apply and could silently leave GCS failsafe enabled/unchanged. Please verify the correct parameter name for ArduPlane 4.7.x and make the step file match it.
    ardupilot_methodic_configurator/vehicle_templates/ArduPlane/empty_4.7.x/vehicle_components.json:1
  • This is an ArduPlane template, but the frame classification is set to Quad. If Frame class is used to drive derived parameters (filters, notch setup, motor assumptions, etc.), this can cause incorrect defaults for fixed-wing/plane setups. Update this to the appropriate ArduPlane frame classification expected by the configurator (e.g., plane/fixed-wing/VTOL as applicable).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@@ -0,0 +1,3 @@
BRD_SER2_RTSCTS,2
"bin_file",
help="The ArduPilot .bin log file to read",
).completer = FilesCompleter(allowednames=[".bin"]) # type: ignore[attr-defined, no-untyped-call]
).completer = FilesCompleter(allowednames=[".bin"]) # type: ignore[attr-defined]
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Test Results

     4 files       4 suites   46m 14s ⏱️
 4 895 tests  4 888 ✅  7 💤 0 ❌
19 358 runs  19 313 ✅ 45 💤 0 ❌

Results for commit 74955b0.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

☂️ Code Coverage

current status: ✅

Overall Coverage

Statements Covered Coverage Threshold Status
18755 16769 89% 89% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: 74955b0 by action🐍

@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 33454129290

Coverage increased (+0.01%) to 89.453%

Details

  • Coverage increased (+0.01%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 18755
Covered Lines: 16777
Line Coverage: 89.45%
Relevant Branches: 5614
Covered Branches: 4646
Branch Coverage: 82.76%
Branches in Coverage %: No
Coverage Strength: 2.66 hits per line

💛 - Coveralls

@amilcarlucas
amilcarlucas merged commit 0fb3e29 into master Sep 2, 2026
35 of 36 checks passed
@amilcarlucas
amilcarlucas deleted the chore_dep_updates branch September 2, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants