Überlaufbehandlung überarbeitet

This commit is contained in:
Martin Ness 2016-05-10 21:02:35 +02:00
parent babb27e5ea
commit 643778a27c

View file

@ -129,11 +129,12 @@ void sendState() {
unsigned long calcStateTime() {
// Variablen überlauf von millis erkennen
if (millis() - stateBegan >= 0) {
return millis() - stateBegan;
} else {
return millis() + (ULONG_MAX - stateBegan);
unsigned long current_uptime = millis();
// kein überlauf
if (current_uptime > stateBegan) {
return current_uptime - stateBegan;
}
return current_uptime + (ULONG_MAX - stateBegan);
}
// wird nach dem Starten dauerhaft ausgeführt