diff --git a/ArduPlane/fence.cpp b/ArduPlane/fence.cpp index 47465a90f9..5f92705165 100644 --- a/ArduPlane/fence.cpp +++ b/ArduPlane/fence.cpp @@ -67,7 +67,8 @@ void Plane::fence_check() if (fence_act == AC_FENCE_ACTION_RTL_AND_LAND) { if (control_mode == &mode_auto && mission.get_in_landing_sequence_flag() && - (g.rtl_autoland == 1 || g.rtl_autoland == 2)) { + (g.rtl_autoland == RtlAutoland::RTL_THEN_DO_LAND_START || + g.rtl_autoland == RtlAutoland::RTL_IMMEDIATE_DO_LAND_START)) { // already landing return; } diff --git a/ArduPlane/quadplane.cpp b/ArduPlane/quadplane.cpp index 30f2c399f4..ffc715c033 100644 --- a/ArduPlane/quadplane.cpp +++ b/ArduPlane/quadplane.cpp @@ -1174,8 +1174,10 @@ float QuadPlane::get_pilot_input_yaw_rate_cds(void) const { bool manual_air_mode = plane.control_mode->is_vtol_man_throttle() && air_mode_active(); if (!manual_air_mode && - !is_positive(plane.get_throttle_input()) && !plane.control_mode->does_auto_throttle() && - plane.arming.get_rudder_arming_type() != AP_Arming::RudderArming::IS_DISABLED && !(inertial_nav.get_velocity_z_up_cms() < -0.5 * get_pilot_velocity_z_max_dn())) { + !is_positive(plane.get_throttle_input()) && + (!plane.control_mode->does_auto_throttle() || motors->limit.throttle_lower) && + plane.arming.get_rudder_arming_type() != AP_Arming::RudderArming::IS_DISABLED && + fabsf(inertial_nav.get_velocity_z_up_cms()) < 0.5 * get_pilot_velocity_z_max_dn()) { // the user may be trying to disarm return 0; }