diff --git a/src/main/fc/fc_core.c b/src/main/fc/fc_core.c index 9a473c2048..0cd9933e9a 100644 --- a/src/main/fc/fc_core.c +++ b/src/main/fc/fc_core.c @@ -216,7 +216,7 @@ void updateArmingStatus(void) if (!isUsingSticksForArming()) { // If arming is disabled and the ARM switch is on - if (isArmingDisabled() && IS_RC_MODE_ACTIVE(BOXARM)) { + if (isArmingDisabled() && !(armingConfig()->gyro_cal_on_first_arm && !(getArmingDisableFlags() & ~(ARMING_DISABLED_ARM_SWITCH | ARMING_DISABLED_CALIBRATING))) && IS_RC_MODE_ACTIVE(BOXARM)) { setArmingDisabled(ARMING_DISABLED_ARM_SWITCH); } else if (!IS_RC_MODE_ACTIVE(BOXARM)) { unsetArmingDisabled(ARMING_DISABLED_ARM_SWITCH); diff --git a/src/main/fc/runtime_config.c b/src/main/fc/runtime_config.c index fe1cbe3337..66444de380 100644 --- a/src/main/fc/runtime_config.c +++ b/src/main/fc/runtime_config.c @@ -49,7 +49,7 @@ void unsetArmingDisabled(armingDisableFlags_e flag) armingDisableFlags = armingDisableFlags & ~flag; } -bool isArmingDisabled() +bool isArmingDisabled(void) { return armingDisableFlags; }