mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-12 16:12:07 +00:00
Add fallthrough option to avoid a GPS stuck off.
This commit is contained in:
parent
fc365a1fee
commit
c6ae66dcaa
@ -575,15 +575,20 @@ void GPS::setAwake(bool on)
|
|||||||
if ((int32_t)getSleepTime() - averageLockTime >
|
if ((int32_t)getSleepTime() - averageLockTime >
|
||||||
15 * 60 * 1000) { // 15 minutes is probably long enough to make a complete poweroff worth it.
|
15 * 60 * 1000) { // 15 minutes is probably long enough to make a complete poweroff worth it.
|
||||||
setGPSPower(on, false, getSleepTime() - averageLockTime);
|
setGPSPower(on, false, getSleepTime() - averageLockTime);
|
||||||
|
return;
|
||||||
} else if ((int32_t)getSleepTime() - averageLockTime > 10000) { // 10 seconds is enough for standby
|
} else if ((int32_t)getSleepTime() - averageLockTime > 10000) { // 10 seconds is enough for standby
|
||||||
#ifdef GPS_UC6580
|
#ifdef GPS_UC6580
|
||||||
setGPSPower(on, false, getSleepTime() - averageLockTime);
|
setGPSPower(on, false, getSleepTime() - averageLockTime);
|
||||||
#else
|
#else
|
||||||
setGPSPower(on, true, getSleepTime() - averageLockTime);
|
setGPSPower(on, true, getSleepTime() - averageLockTime);
|
||||||
#endif
|
#endif
|
||||||
} else if (averageLockTime > 20000) {
|
return;
|
||||||
|
}
|
||||||
|
if (averageLockTime > 20000) {
|
||||||
averageLockTime -= 1000; // eventually want to sleep again.
|
averageLockTime -= 1000; // eventually want to sleep again.
|
||||||
}
|
}
|
||||||
|
if (on)
|
||||||
|
setGPSPower(true, true, 0); // make sure we don't have a fallthrough where GPS is stuck off
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user