1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-13 19:40:31 +03:00

Merge pull request #7254 from TonyBlit/gps_crosstrack_checks

Sanity checks flyaway/stalled only done in crosstrack phase
This commit is contained in:
Michael Keller 2018-12-21 20:55:28 +13:00 committed by GitHub
commit 27dda737ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -353,17 +353,19 @@ static void performSanityChecks()
previousTimeUs = currentTimeUs;
secondsStalled = constrain(secondsStalled + ((rescueState.sensor.groundSpeed < 150) ? 1 : -1), 0, 20);
if (rescueState.phase == RESCUE_CROSSTRACK) {
secondsStalled = constrain(secondsStalled + ((rescueState.sensor.groundSpeed < 150) ? 1 : -1), 0, 20);
if (secondsStalled == 20) {
rescueState.failure = RESCUE_STALLED;
}
if (secondsStalled == 20) {
rescueState.failure = RESCUE_STALLED;
}
secondsFlyingAway = constrain(secondsFlyingAway + ((lastDistanceToHomeM < rescueState.sensor.distanceToHomeM) ? 1 : -1), 0, 10);
lastDistanceToHomeM = rescueState.sensor.distanceToHomeM;
secondsFlyingAway = constrain(secondsFlyingAway + ((lastDistanceToHomeM < rescueState.sensor.distanceToHomeM) ? 1 : -1), 0, 10);
lastDistanceToHomeM = rescueState.sensor.distanceToHomeM;
if (secondsFlyingAway == 10) {
rescueState.failure = RESCUE_FLYAWAY;
if (secondsFlyingAway == 10) {
rescueState.failure = RESCUE_FLYAWAY;
}
}
secondsLowSats = constrain(secondsLowSats + ((rescueState.sensor.numSat < gpsRescueConfig()->minSats) ? 1 : -1), 0, 10);