mirror of
https://github.com/AlexGyver/GyverLamp.git
synced 2025-08-07 08:30:32 +03:00
upd
This commit is contained in:
@@ -74,7 +74,7 @@ byte IP_AP[] = {192, 168, 4, 66}; // статический IP точки до
|
||||
#define FASTLED_ESP8266_RAW_PIN_ORDER
|
||||
#define NTP_INTERVAL 60 * 1000 // обновление (1 минута)
|
||||
|
||||
#include "timerMinim.h"
|
||||
#include "timer2Minim.h"
|
||||
#include <FastLED.h>
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <DNSServer.h>
|
||||
|
@@ -18,7 +18,7 @@ void timeTick() {
|
||||
}
|
||||
}
|
||||
|
||||
if (minuteCounter > 5) { // синхронизация каждые 5 минут
|
||||
if (minuteCounter > 30 && WiFi.status() == WL_CONNECTED) { // синхронизация каждые 30 минут
|
||||
minuteCounter = 0;
|
||||
if (timeClient.update()) {
|
||||
hrs = timeClient.getHours();
|
||||
|
@@ -1,4 +1,6 @@
|
||||
// мини-класс таймера, версия 1.0
|
||||
// мини-класс таймера, версия 2.0
|
||||
// использован улучшенный алгоритм таймера на millis
|
||||
// алгоритм чуть медленнее, но обеспечивает кратные интервалы и защиту от пропусков и переполнений
|
||||
|
||||
class timerMinim
|
||||
{
|
||||
@@ -23,8 +25,12 @@ void timerMinim::setInterval(uint32_t interval) {
|
||||
}
|
||||
|
||||
boolean timerMinim::isReady() {
|
||||
if ((long)millis() - _timer >= _interval) {
|
||||
_timer = millis();
|
||||
uint32_t thisMls = millis();
|
||||
if (thisMls - _timer >= _interval) {
|
||||
do {
|
||||
_timer += _interval;
|
||||
if (_timer < _interval) break; // переполнение uint32_t
|
||||
} while (_timer < thisMls - _interval); // защита от пропуска шага
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
Reference in New Issue
Block a user