From ea4750051ac26883beab60b7312d53c6bc0494ad Mon Sep 17 00:00:00 2001 From: Randy Mackay Date: Thu, 27 Jun 2024 14:02:58 +0900 Subject: [PATCH] Copter: arming check for release gripper on thrust loss --- ArduCopter/AP_Arming.cpp | 8 ++++++++ ArduCopter/Copter.h | 2 +- ArduCopter/Parameters.cpp | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ArduCopter/AP_Arming.cpp b/ArduCopter/AP_Arming.cpp index 12d037f07653c8..1e2e7960df4e81 100644 --- a/ArduCopter/AP_Arming.cpp +++ b/ArduCopter/AP_Arming.cpp @@ -278,6 +278,14 @@ bool AP_Arming_Copter::parameter_checks(bool display_failure) } #endif +#if AP_GRIPPER_ENABLED + // check deprecated release-gripper-on-thrust-loss flight option + if (copter.option_is_enabled(Copter::FlightOption::RELEASE_GRIPPER_ON_THRUST_LOSS_DEPRECATED)) { + check_failed(ARMING_CHECK_PARAMETERS, display_failure, "FLIGHT_OPTIONS has deprecated option set"); + return false; + } +#endif + // check adsb avoidance failsafe #if HAL_ADSB_ENABLED if (copter.failsafe.adsb) { diff --git a/ArduCopter/Copter.h b/ArduCopter/Copter.h index 3ef4c4bae720c2..c333f97eb0f1a0 100644 --- a/ArduCopter/Copter.h +++ b/ArduCopter/Copter.h @@ -627,7 +627,7 @@ class Copter : public AP_Vehicle { enum class FlightOption : uint32_t { DISABLE_THRUST_LOSS_CHECK = (1<<0), // 1 DISABLE_YAW_IMBALANCE_WARNING = (1<<1), // 2 - RELEASE_GRIPPER_ON_THRUST_LOSS = (1<<2), // 4 + RELEASE_GRIPPER_ON_THRUST_LOSS_DEPRECATED = (1<<2), // 4 (deprecated) REQUIRE_POSITION_FOR_ARMING = (1<<3), // 8 }; // returns true if option is enabled for this vehicle diff --git a/ArduCopter/Parameters.cpp b/ArduCopter/Parameters.cpp index a1dd234b0cf36f..643607641b47cb 100644 --- a/ArduCopter/Parameters.cpp +++ b/ArduCopter/Parameters.cpp @@ -1000,7 +1000,7 @@ const AP_Param::GroupInfo ParametersG2::var_info[] = { // @Param: FLIGHT_OPTIONS // @DisplayName: Flight mode options // @Description: Flight mode specific options - // @Bitmask: 0:Disable thrust loss check, 1:Disable yaw imbalance warning, 2:Release gripper on thrust loss, 3:Require position for arming + // @Bitmask: 0:Disable thrust loss check, 1:Disable yaw imbalance warning, 2:Release gripper on thrust loss (removed in 4.6+), 3:Require position for arming // @User: Advanced AP_GROUPINFO("FLIGHT_OPTIONS", 44, ParametersG2, flight_options, 0),