mirror of https://github.com/arendst/Tasmota.git
Update xdrv_29_deepsleep.ino
This commit is contained in:
parent
cdce233f43
commit
c022e35388
|
@ -112,10 +112,10 @@ void DeepSleepPrepare(void)
|
|||
// if more then 10% timeslip = 0 == non valid wakeup; maybe manual
|
||||
timeslip = (timeslip < -(int32_t)Settings->deepsleep) ? 0 : (timeslip > (int32_t)Settings->deepsleep) ? 0 : 1;
|
||||
if (timeslip) {
|
||||
RtcSettings.deepsleep_slip = (Settings->deepsleep + RtcSettings.nextwakeup - LocalTime()) * RtcSettings.deepsleep_slip / tmax((Settings->deepsleep - (millis() / 1000)),5);
|
||||
RtcSettings.nextwakeup += Settings->deepsleep;
|
||||
RtcSettings.deepsleep_slip = (RtcSettings.nextwakeup - LocalTime()) * RtcSettings.deepsleep_slip / tmax((Settings->deepsleep - (millis() / 1000)),5);
|
||||
// Avoid crazy numbers. Again maximum 10% deviation.
|
||||
RtcSettings.deepsleep_slip = tmin(tmax(RtcSettings.deepsleep_slip, 9000), 11000);
|
||||
RtcSettings.nextwakeup += Settings->deepsleep;
|
||||
}
|
||||
|
||||
// It may happen that wakeup in just <5 seconds in future
|
||||
|
|
Loading…
Reference in New Issue