mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 01:05:27 +03:00
Added 'disabled' motor protocol and made it the default.
This commit is contained in:
parent
7f00659a88
commit
d1ac12eccd
17 changed files with 193 additions and 149 deletions
|
@ -388,33 +388,37 @@ void updateArmingStatus(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
if (!isMotorProtocolEnabled()) {
|
||||
setArmingDisabled(ARMING_DISABLED_MOTOR_PROTOCOL);
|
||||
}
|
||||
|
||||
if (!isUsingSticksForArming()) {
|
||||
/* Ignore ARMING_DISABLED_CALIBRATING if we are going to calibrate gyro on first arm */
|
||||
bool ignoreGyro = armingConfig()->gyro_cal_on_first_arm
|
||||
&& !(getArmingDisableFlags() & ~(ARMING_DISABLED_ARM_SWITCH | ARMING_DISABLED_CALIBRATING));
|
||||
|
||||
/* Ignore ARMING_DISABLED_THROTTLE (once arm switch is on) if we are in 3D mode */
|
||||
bool ignoreThrottle = featureIsEnabled(FEATURE_3D)
|
||||
&& !IS_RC_MODE_ACTIVE(BOX3D)
|
||||
&& !flight3DConfig()->switched_mode3d
|
||||
&& !(getArmingDisableFlags() & ~(ARMING_DISABLED_ARM_SWITCH | ARMING_DISABLED_THROTTLE));
|
||||
|
||||
if (!IS_RC_MODE_ACTIVE(BOXARM)) {
|
||||
if (!IS_RC_MODE_ACTIVE(BOXARM)) {
|
||||
#ifdef USE_RUNAWAY_TAKEOFF
|
||||
unsetArmingDisabled(ARMING_DISABLED_RUNAWAY_TAKEOFF);
|
||||
unsetArmingDisabled(ARMING_DISABLED_RUNAWAY_TAKEOFF);
|
||||
#endif
|
||||
unsetArmingDisabled(ARMING_DISABLED_CRASH_DETECTED);
|
||||
}
|
||||
unsetArmingDisabled(ARMING_DISABLED_CRASH_DETECTED);
|
||||
}
|
||||
|
||||
// If arming is disabled and the ARM switch is on
|
||||
if (isArmingDisabled()
|
||||
&& !ignoreGyro
|
||||
&& !ignoreThrottle
|
||||
&& IS_RC_MODE_ACTIVE(BOXARM)) {
|
||||
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||
} else if (!IS_RC_MODE_ACTIVE(BOXARM)) {
|
||||
unsetArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||
}
|
||||
/* Ignore ARMING_DISABLED_CALIBRATING if we are going to calibrate gyro on first arm */
|
||||
bool ignoreGyro = armingConfig()->gyro_cal_on_first_arm
|
||||
&& !(getArmingDisableFlags() & ~(ARMING_DISABLED_ARM_SWITCH | ARMING_DISABLED_CALIBRATING));
|
||||
|
||||
/* Ignore ARMING_DISABLED_THROTTLE (once arm switch is on) if we are in 3D mode */
|
||||
bool ignoreThrottle = featureIsEnabled(FEATURE_3D)
|
||||
&& !IS_RC_MODE_ACTIVE(BOX3D)
|
||||
&& !flight3DConfig()->switched_mode3d
|
||||
&& !(getArmingDisableFlags() & ~(ARMING_DISABLED_ARM_SWITCH | ARMING_DISABLED_THROTTLE));
|
||||
|
||||
// If arming is disabled and the ARM switch is on
|
||||
if (isArmingDisabled()
|
||||
&& !ignoreGyro
|
||||
&& !ignoreThrottle
|
||||
&& IS_RC_MODE_ACTIVE(BOXARM)) {
|
||||
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||
} else if (!IS_RC_MODE_ACTIVE(BOXARM)) {
|
||||
unsetArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||
}
|
||||
}
|
||||
|
||||
if (isArmingDisabled()) {
|
||||
|
@ -732,7 +736,6 @@ bool isAirmodeActivated()
|
|||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* processRx called from taskUpdateRxMain
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue