2016-06-15 14 views
1

weiß jemand, ob eine node.dsleep() Funktion in Lua eine obere Grenze haben? Ich meine die maximale Zeit des Schlafes. Ich habe versucht, es für einige Minuten einzustellen und es war kein Problem, ziemlich genau. Aber wenn ich es auf 4 Stunden einrichten muss, ist es nicht zuverlässig und ESP wacht meistens nach 30 Minuten auf.ESP8266 Lua - Hat node.dsleep (...) obere Grenze?

Danke für die Antworten!

Kaki

Antwort

2

Dies scheint eine Firmware-Einschränkung zu sein.

Per the NodeMCU documentation:

node.dsleep() betritt Tiefschlafmodus, wacht auf, wenn das Zeitlimit.

Die maximale Ruhezeit beträgt 4294967295us, ~ 71 Minuten. Dies ist eine SDK-Beschränkung. Firmware von vor dem 05. Januar 2016 haben eine maximale Sleeptime von ~ 35 Minuten.

Dies scheint durch die Einschränkungen einer 32-Bit-Ganzzahl verursacht werden. 4294967295 ist die maximale Anzahl, die eine vorzeichenlose 32-Bit-Ganzzahl speichern kann. Aus den Informationen können wir annehmen, dass dies vor dem erwähnten Firmware-Update ursprünglich eine vorzeichenbehaftete Ganzzahl mit einer maximalen Ruhezeit von 2147483647US war. Dies entspricht 35 Minuten und 47,5 Sekunden.

+0

Wow, perfekte Antwort, danke! Ich habe das Dokument nicht gefunden. – Kaki

Verwandte Themen