1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-24 16:55:29 +03:00

Change pre-arming checks order to allow arm-blocking modes to be assigned to the same RC channel

This commit is contained in:
Konstantin Sharlaimov 2019-06-10 11:38:38 +02:00
parent c8f036409b
commit 741d3a5caa

View file

@ -265,14 +265,6 @@ static void updateArmingStatus(void)
DISABLE_ARMING_FLAG(ARMING_DISABLED_HARDWARE_FAILURE);
}
/* CHECK: Arming switch */
// If arming is disabled and the ARM switch is on
if (isArmingDisabled() && IS_RC_MODE_ACTIVE(BOXARM)) {
ENABLE_ARMING_FLAG(ARMING_DISABLED_ARM_SWITCH);
} else if (!IS_RC_MODE_ACTIVE(BOXARM)) {
DISABLE_ARMING_FLAG(ARMING_DISABLED_ARM_SWITCH);
}
/* CHECK: BOXFAILSAFE */
if (IS_RC_MODE_ACTIVE(BOXFAILSAFE)) {
ENABLE_ARMING_FLAG(ARMING_DISABLED_BOXFAILSAFE);
@ -281,21 +273,32 @@ static void updateArmingStatus(void)
DISABLE_ARMING_FLAG(ARMING_DISABLED_BOXFAILSAFE);
}
/* CHECK: BOXFAILSAFE */
/* CHECK: BOXKILLSWITCH */
if (IS_RC_MODE_ACTIVE(BOXKILLSWITCH)) {
ENABLE_ARMING_FLAG(ARMING_DISABLED_BOXKILLSWITCH);
}
else {
DISABLE_ARMING_FLAG(ARMING_DISABLED_BOXKILLSWITCH);
}
/* CHECK: Do not allow arming if Servo AutoTrim is enabled */
if (IS_RC_MODE_ACTIVE(BOXAUTOTRIM)) {
ENABLE_ARMING_FLAG(ARMING_DISABLED_SERVO_AUTOTRIM);
ENABLE_ARMING_FLAG(ARMING_DISABLED_SERVO_AUTOTRIM);
}
else {
DISABLE_ARMING_FLAG(ARMING_DISABLED_SERVO_AUTOTRIM);
DISABLE_ARMING_FLAG(ARMING_DISABLED_SERVO_AUTOTRIM);
}
/* CHECK: Arming switch */
// If arming is disabled and the ARM switch is on
// Note that this should be last check so all other blockers could be cleared correctly
// if blocking modes are linked to the same RC channel
if (isArmingDisabled() && IS_RC_MODE_ACTIVE(BOXARM)) {
ENABLE_ARMING_FLAG(ARMING_DISABLED_ARM_SWITCH);
} else if (!IS_RC_MODE_ACTIVE(BOXARM)) {
DISABLE_ARMING_FLAG(ARMING_DISABLED_ARM_SWITCH);
}
if (isArmingDisabled()) {
warningLedFlash();
} else {