diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino index 2713e2dc76413d27a673f9ac1e63b29b3c3cdbe3..9e2ee0c5ded00bb8a85163b5ecc577cac4d323f5 100644 --- a/ampel-firmware/ampel-firmware.ino +++ b/ampel-firmware/ampel-firmware.ino @@ -76,7 +76,6 @@ void setup() { Serial.println(BOARD); #ifdef AMPEL_WIFI - // Try to connect to Wi-Fi WiFiConnect(SENSOR_ID); Serial.print(F("WiFi STATUS: ")); @@ -126,7 +125,7 @@ void loop() { } #endif //NOTE: Loop should never take more than 1000ms. Split in smaller methods and logic if needed. - //TODO: Restart every day or week, in order to not let t0 overflow? + //NOTE: Only use millis() for duration comparison, not timestamps comparison. Otherwise, problems happen when millis roll over. uint32_t t0 = millis(); keepServicesAlive(); diff --git a/ampel-firmware/util.h b/ampel-firmware/util.h index 0ffe5eb4d35d2243512035c07e09c1d44464fea8..2997933480b06db67b18a09bafa2d156d8b7e7b5 100644 --- a/ampel-firmware/util.h +++ b/ampel-firmware/util.h @@ -36,6 +36,7 @@ namespace util { } } +//NOTE: Only use seconds() for duration comparison, not timestamps comparison. Otherwise, problems happen when millis roll over. #define seconds() (millis() / 1000UL) extern uint32_t max_loop_duration; const extern String SENSOR_ID;