From 66e19f9e2729e1d0c6daffad372b5bfd25d7f90a Mon Sep 17 00:00:00 2001 From: Steve Evans Date: Wed, 28 May 2025 05:59:45 +0100 Subject: [PATCH] Ensure that crash flip behaviour is consistent on every arm attempt (#14410) --- src/main/fc/core.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/main/fc/core.c b/src/main/fc/core.c index cab68d4d30..4cdcc4ba77 100644 --- a/src/main/fc/core.c +++ b/src/main/fc/core.c @@ -558,18 +558,8 @@ void tryArm(void) } #endif // choose crashflip outcome on arming - // disarm can arise in processRx() if the crashflip switch is reversed while in crashflip mode - // if we were unsuccessful, or cannot determin success, arming will be blocked and we can't get here - // hence we only get here with crashFlipModeActive if the switch was reversed and result successful - if (crashFlipModeActive) { - // flip was successful, continue into normal flight without need to disarm/rearm - // note: preceding disarm will have set motors to normal rotation direction - crashFlipModeActive = false; - } else { - // when arming and not in crashflip mode, block entry to crashflip if delayed by the dshot beeper, - // otherwise consider only the switch position - crashFlipModeActive = (tryingToArm == ARMING_DELAYED_CRASHFLIP) ? false : IS_RC_MODE_ACTIVE(BOXCRASHFLIP); - } + // consider only the switch position + crashFlipModeActive = IS_RC_MODE_ACTIVE(BOXCRASHFLIP); setMotorSpinDirection(crashFlipModeActive ? DSHOT_CMD_SPIN_DIRECTION_REVERSED : DSHOT_CMD_SPIN_DIRECTION_NORMAL); }