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
|
// 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;
|
timeslip = (timeslip < -(int32_t)Settings->deepsleep) ? 0 : (timeslip > (int32_t)Settings->deepsleep) ? 0 : 1;
|
||||||
if (timeslip) {
|
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.
|
// Avoid crazy numbers. Again maximum 10% deviation.
|
||||||
RtcSettings.deepsleep_slip = tmin(tmax(RtcSettings.deepsleep_slip, 9000), 11000);
|
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
|
// It may happen that wakeup in just <5 seconds in future
|
||||||
|
|
Loading…
Reference in New Issue