Improve ArduPlane support - #2009
Conversation
There was a problem hiding this comment.
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.xtemplate parameter files plus avehicle_components.jsontemplate. - Extended
configuration_steps_ArduPlane.jsonandconfiguration_steps_Rover.jsonwithrelated_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 labeledArduCopter. If the tooling uses the<parameters name=...>to select the applicable vehicle, these docs may not be found/applied for ArduPlane. Rename the vehicle toArduPlane(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 labeledArduCopterinside 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.paramcontainsFS_GCS_ENABL(note the missing 'E' at end) while this step setsFS_GCS_ENABLE. If the firmware parameter is actuallyFS_GCS_ENABLfor 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. IfFrame classis 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] |
Test Results 4 files 4 suites 46m 14s ⏱️ Results for commit 74955b0. ♻️ This comment has been updated with latest results. |
☂️ Code Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
Coverage Report for CI Build 33454129290Coverage increased (+0.01%) to 89.453%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
54a6c7f to
0f65b56
Compare
0f65b56 to
74955b0
Compare
Description
Improve ArduPlane support
Checklist
git commit --signoff)Testing
Describe how you tested these changes: