From 066fed18ceb3dd2cc6d12d54c02125f3e2c3a795 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 14 May 2022 15:34:43 +1000 Subject: [PATCH] Plane: account for sprung throttle in VTOL throttle suppression when RC_OPTIONS has been changed to not check throttle for arming then treat this like a sprung throttle for quadplane throttle suppression in auto-throttle modes, and only unsuppress when throttle goes above trim+dz --- ArduPlane/quadplane.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ArduPlane/quadplane.cpp b/ArduPlane/quadplane.cpp index 1a61059964..0ae928a6e0 100644 --- a/ArduPlane/quadplane.cpp +++ b/ArduPlane/quadplane.cpp @@ -1793,8 +1793,17 @@ void QuadPlane::update_throttle_suppression(void) return; } - // if the users throttle is above zero then allow motors to run - if (!is_zero(plane.get_throttle_input())) { + /* if the users throttle is above zero then allow motors to run + + if the user has unset the "check throttle zero when arming" + then the RC controller has a sprung throttle and we should not + consider non-zero throttle to mean that pilot is commanding + takeoff unless in a manual thottle mode + */ + if (!is_zero(plane.get_throttle_input()) && + (rc().arming_check_throttle() || + plane.control_mode->is_vtol_man_throttle() || + plane.channel_throttle->norm_input_dz() > 0)) { return; }