mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-25 17:25:18 +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:
parent
c8f036409b
commit
741d3a5caa
1 changed files with 14 additions and 11 deletions
|
@ -265,14 +265,6 @@ static void updateArmingStatus(void)
|
||||||
DISABLE_ARMING_FLAG(ARMING_DISABLED_HARDWARE_FAILURE);
|
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 */
|
/* CHECK: BOXFAILSAFE */
|
||||||
if (IS_RC_MODE_ACTIVE(BOXFAILSAFE)) {
|
if (IS_RC_MODE_ACTIVE(BOXFAILSAFE)) {
|
||||||
ENABLE_ARMING_FLAG(ARMING_DISABLED_BOXFAILSAFE);
|
ENABLE_ARMING_FLAG(ARMING_DISABLED_BOXFAILSAFE);
|
||||||
|
@ -281,21 +273,32 @@ static void updateArmingStatus(void)
|
||||||
DISABLE_ARMING_FLAG(ARMING_DISABLED_BOXFAILSAFE);
|
DISABLE_ARMING_FLAG(ARMING_DISABLED_BOXFAILSAFE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CHECK: BOXFAILSAFE */
|
/* CHECK: BOXKILLSWITCH */
|
||||||
if (IS_RC_MODE_ACTIVE(BOXKILLSWITCH)) {
|
if (IS_RC_MODE_ACTIVE(BOXKILLSWITCH)) {
|
||||||
ENABLE_ARMING_FLAG(ARMING_DISABLED_BOXKILLSWITCH);
|
ENABLE_ARMING_FLAG(ARMING_DISABLED_BOXKILLSWITCH);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DISABLE_ARMING_FLAG(ARMING_DISABLED_BOXKILLSWITCH);
|
DISABLE_ARMING_FLAG(ARMING_DISABLED_BOXKILLSWITCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CHECK: Do not allow arming if Servo AutoTrim is enabled */
|
/* CHECK: Do not allow arming if Servo AutoTrim is enabled */
|
||||||
if (IS_RC_MODE_ACTIVE(BOXAUTOTRIM)) {
|
if (IS_RC_MODE_ACTIVE(BOXAUTOTRIM)) {
|
||||||
ENABLE_ARMING_FLAG(ARMING_DISABLED_SERVO_AUTOTRIM);
|
ENABLE_ARMING_FLAG(ARMING_DISABLED_SERVO_AUTOTRIM);
|
||||||
}
|
}
|
||||||
else {
|
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()) {
|
if (isArmingDisabled()) {
|
||||||
warningLedFlash();
|
warningLedFlash();
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue