Prevent MOTOR_STOP auto-disarm for stick arming when GPS Rescue is active

The MOTOR_STOP logic is designed to stop the motors if:
1. MOTOR_STOP feature is enabled
2. Airmode is disabled
3. Throttle is at minimum

The problem is that this also applied during GPS Rescue and if the pilot had these conditions the motors would stop. Changed to disable MOTOR_STOP while GPS Rescue is active.

Also if stick-arming is used the MOTOR_STOP logic also will auto-disarm after 5 seconds (auto_disarm_delay). Disable this also when GPS Rescue is active.
This commit is contained in:
Bruce Luckcuck 2018-10-24 10:58:50 -04:00
parent f912b891b5
commit 4636f10385
2 changed files with 2 additions and 0 deletions

View File

@ -675,6 +675,7 @@ bool processRx(timeUs_t currentTimeUs)
&& !STATE(FIXED_WING)
&& !featureIsEnabled(FEATURE_3D)
&& !airmodeIsEnabled()
&& !FLIGHT_MODE(GPS_RESCUE_MODE) // disable auto-disarm when GPS Rescue is active
) {
if (isUsingSticksForArming()) {
if (throttleStatus == THROTTLE_LOW) {

View File

@ -851,6 +851,7 @@ FAST_CODE_NOINLINE void mixTable(timeUs_t currentTimeUs, uint8_t vbatPidCompensa
&& ARMING_FLAG(ARMED)
&& !featureIsEnabled(FEATURE_3D)
&& !airmodeEnabled
&& !FLIGHT_MODE(GPS_RESCUE_MODE) // disable motor_stop while GPS Rescue is active
&& (rcData[THROTTLE] < rxConfig()->mincheck)) {
// motor_stop handling
applyMotorStop();