Исправлена синхронизация времени при старте без интернета

This commit is contained in:
gunner47
2019-07-16 22:57:17 +03:00
parent 26afb403ba
commit 036ae4cd66
2 changed files with 80 additions and 5 deletions

View File

@@ -28,6 +28,8 @@
- Добавлено управление по воздуху:
-- работает только в режиме WiFi клиента
-- работает при подключенной кнопке (потому что режим прошивки активируется кнопкой)
--- 16.07.2019
- Исправлено регулярное подвисание матрицы на 1-2 секунды при отсутствии подключения к интернету (но при успешном подключении к WiFi)
*/
// Ссылка для менеджера плат:
@@ -39,6 +41,7 @@
#define USE_NTP // закомментировать или удалить эту строку, если нужно, чтобы устройство не лезло в интернет
#define GMT (3) // часовой пояс (москва 3)
#define NTP_ADDRESS ("europe.pool.ntp.org") // сервер времени
#define NTP_INTERVAL (30UL * 60UL * 1000UL) // интервал синхронизации времени (30 минут)
// --- РАССВЕТ -------------------------
#define DAWN_BRIGHT (200U) // максимальная яркость рассвета (0-255)
@@ -94,7 +97,6 @@ uint8_t AP_STATIC_IP[] = {192, 168, 4, 1}; // статичес
#define FASTLED_INTERRUPT_RETRY_COUNT (0U)
#define FASTLED_ALLOW_INTERRUPTS (0U)
#define FASTLED_ESP8266_RAW_PIN_ORDER
#define NTP_INTERVAL (30UL * 60UL * 1000UL)// интервал синхронизации времени (30 минут)
#include "timerMinim.h"
#include <FastLED.h>
@@ -119,11 +121,14 @@ CRGB leds[NUM_LEDS];
WiFiManager wifiManager;
WiFiServer wifiServer(ESP_HTTP_PORT);
WiFiUDP Udp;
WiFiUDP ntpUDP;
#ifdef USE_NTP
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, NTP_ADDRESS, GMT * 3600, NTP_INTERVAL);
#endif
timerMinim timeTimer(3000);
#ifdef ESP_USE_BUTTON
GButton touch(BTN_PIN, LOW_PULL, NORM_OPEN);
#endif
@@ -206,8 +211,8 @@ void setup()
wifiServer.begin();
}
else
{ // режим WiFi клиента (подключаемся к роутеру, если есть сохранённые SSID и пароль, иначе создаём WiFi точку доступа и запрашиваем их)
else // режим WiFi клиента (подключаемся к роутеру, если есть сохранённые SSID и пароль, иначе создаём WiFi точку доступа и запрашиваем их)
{
Serial.println("Режим WiFi клиента");
if (WiFi.SSID())
{