mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 08:15:30 +03:00
Fix 3D arming checks for throttle value
When FEATURE_3D is on the arm switch does not need to be toggled when the throttle returns to a valid value (i.e. in the 3D deadband) from either direction. This allows the previous "arm and slowly raise throttle" arming behaviour for 3D flight.
This commit is contained in:
parent
8962f0af40
commit
eadcf42650
2 changed files with 78 additions and 2 deletions
|
@ -214,8 +214,17 @@ void updateArmingStatus(void)
|
|||
}
|
||||
|
||||
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 = feature(FEATURE_3D) && !(getArmingDisableFlags() & ~(ARMING_DISABLED_ARM_SWITCH | ARMING_DISABLED_THROTTLE));
|
||||
|
||||
// If arming is disabled and the ARM switch is on
|
||||
if (isArmingDisabled() && !(armingConfig()->gyro_cal_on_first_arm && !(getArmingDisableFlags() & ~(ARMING_DISABLED_ARM_SWITCH | ARMING_DISABLED_CALIBRATING))) && IS_RC_MODE_ACTIVE(BOXARM)) {
|
||||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue