Исправлен будильник по дням + немного причесаны диагностические сообщения
authorRoman Bazalevskiy <rvb@rvb.name>
Thu, 17 Nov 2022 05:26:38 +0000 (08:26 +0300)
committerRoman Bazalevskiy <rvb@rvb.name>
Thu, 17 Nov 2022 05:26:38 +0000 (08:26 +0300)
ESP8266_clock.ino [new file with mode: 0644]
alarm.cpp
config.cpp
net.cpp
time.cpp
web.cpp

diff --git a/ESP8266_clock.ino b/ESP8266_clock.ino
new file mode 100644 (file)
index 0000000..b8e8c4a
--- /dev/null
@@ -0,0 +1,50 @@
+#include "Clock.h"
+#include <LittleFS.h>
+
+void setup() {
+  // put your setup code here, to run once:
+
+  Serial.begin(115200);
+  Serial.println();
+  Serial.println(F("Starting..."));
+
+  setupConfig();
+  Serial.println(cfg);
+
+  setupHandlers();
+
+  setupHardware();
+  setupPanel();
+
+  setupNet();
+  setupTime();
+
+  setupAlarm();
+  setupWeatherRequest();
+
+  setupWeb();
+}
+
+void mem() {
+  Serial.println(F("-------------------------------------------------------------"));
+  Serial.print("Heap:"); Serial.print(ESP.getFreeHeap()); 
+  Serial.print(" Largest chunk:"); Serial.print(ESP.getMaxFreeBlockSize());
+  Serial.print(" Fragmentation:"); Serial.print(ESP.getHeapFragmentation());
+  Serial.print(" Stack:"); Serial.println(ESP.getFreeContStack());
+  Serial.println(F("-------------------------------------------------------------"));
+}
+
+void loop() {
+  static unsigned long lastMillis = 0;
+  int interval = 15000;
+  // put your main code here, to run repeatedly:
+  if (millis() - lastMillis > interval) {
+    lastMillis = millis();
+    mem();
+  }
+  tickNet();
+  tickTime();
+  tickHardware();
+  tickPanel();
+  tickWeb();
+}
index 4028b6c165ec886f61f2873f4256f56ec4c2478d..e609dbaed71f95ccbe614dac210c02fc943407d5 100644 (file)
--- a/alarm.cpp
+++ b/alarm.cpp
@@ -22,7 +22,7 @@ void checkAlarm() {
   int alarm_length = cfg.getIntValue(F("alarm_length"));
   int alarm_beep_ms = cfg.getIntValue(F("alarm_beep_ms"));
   int alarm_silent_ms = cfg.getIntValue(F("alarm_silent_ms"));
   int alarm_length = cfg.getIntValue(F("alarm_length"));
   int alarm_beep_ms = cfg.getIntValue(F("alarm_beep_ms"));
   int alarm_silent_ms = cfg.getIntValue(F("alarm_silent_ms"));
-  if ( enable_alarm && hh == alarm_hour && mi == alarm_minute && alarm_days[dd?dd-1:6]!='0') {
+  if ( enable_alarm && (hh == alarm_hour) && (mi == alarm_minute) && (alarm_days[dw?dw-1:6]!='0')) {
     beep(alarm_tone, alarm_length * 1000, alarm_beep_ms, alarm_silent_ms);
   }
 }
     beep(alarm_tone, alarm_length * 1000, alarm_beep_ms, alarm_silent_ms);
   }
 }
index bb60f3ae4061511c10b5d407360982dfcead38b9..083580264c7f8c85b2b91c82ac9b5be9c04d083c 100644 (file)
@@ -489,7 +489,6 @@ void saveConfig(bool force) {
     if (File f = LittleFS.open(F("/config.txt"),"w")) {
       f.print(cfg);
       f.close();
     if (File f = LittleFS.open(F("/config.txt"),"w")) {
       f.print(cfg);
       f.close();
-      Serial.print(cfg);
       Serial.println(F("Конфигурация сохранена"));
       cfg.resetTimestamp();
     }
       Serial.println(F("Конфигурация сохранена"));
       cfg.resetTimestamp();
     }
diff --git a/net.cpp b/net.cpp
index b211f63344319ca61b61420d8898124b4679b9e3..ff18fcc8e1da3e4338d5a52f9439e60f5d2a8426 100644 (file)
--- a/net.cpp
+++ b/net.cpp
@@ -15,7 +15,7 @@ void setupNet(bool AP) {
     WiFi.mode(WIFI_STA);
     WiFi.begin(SSID,PSK);
     isApEnabled = false;
     WiFi.mode(WIFI_STA);
     WiFi.begin(SSID,PSK);
     isApEnabled = false;
-    Serial.println(F("STA mode active"));
+    Serial.println(F("Режим беспроводного клиента"));
   } else {
     SSID = cfg.getCharValue(F("ap_ssid"));
     PSK = cfg.getCharValue(F("ap_psk"));
   } else {
     SSID = cfg.getCharValue(F("ap_ssid"));
     PSK = cfg.getCharValue(F("ap_psk"));
@@ -24,7 +24,7 @@ void setupNet(bool AP) {
     }
     WiFi.mode(WIFI_AP);
     WiFi.softAP(SSID,PSK);
     }
     WiFi.mode(WIFI_AP);
     WiFi.softAP(SSID,PSK);
-    Serial.println(F("AP mode active"));
+    Serial.println(F("Режим точки доступа"));
     isApEnabled = true;
     String IP = WiFi.softAPIP().toString();
     char buf[256];
     isApEnabled = true;
     String IP = WiFi.softAPIP().toString();
     char buf[256];
@@ -44,11 +44,11 @@ void tickNet() {
   if (isApEnabled) {
     if (WiFi.status() == WL_CONNECTED && !isNetConnected) {
       isNetConnected = true;
   if (isApEnabled) {
     if (WiFi.status() == WL_CONNECTED && !isNetConnected) {
       isNetConnected = true;
-      Serial.print(F("Device connected to SSID ")); Serial.println(SSID);
+      Serial.print(F("Выполнено подключение к сети ")); Serial.println(SSID);
       message(F("Соединение установлено"));
     } else if (WiFi.status() != WL_CONNECTED && isNetConnected) {
       isNetConnected = false;
       message(F("Соединение установлено"));
     } else if (WiFi.status() != WL_CONNECTED && isNetConnected) {
       isNetConnected = false;
-      Serial.println(F("Network connection lost"));
+      Serial.println(F("Сеть потеряна"));
       message(F("Сеть потеряна"));
     }
   }
       message(F("Сеть потеряна"));
     }
   }
index c874bb9cc049d902dfcf94f32880bd1a42850a35..e6f81c96246555b15362e69c11fbf66e6051cd17 100644 (file)
--- a/time.cpp
+++ b/time.cpp
@@ -23,7 +23,7 @@ std::function<void()> tTimeHandlers[maxTimeHandlers];
 
 void timeIsSet(bool ntp) {
   if (ntp) {
 
 void timeIsSet(bool ntp) {
   if (ntp) {
-    Serial.println(F("Time syncronized with NTP"));
+    Serial.println(F("Время синхронизировано"));
     message(F("Время синхронизировано"));
     if (isRTCEnabled) {
       RTC.adjust(DateTime(now));
     message(F("Время синхронизировано"));
     if (isRTCEnabled) {
       RTC.adjust(DateTime(now));
diff --git a/web.cpp b/web.cpp
index b34d7cf069edfd32f587b532065760afc4554cf0..7b7f1bce0f9ea77f4362f8e9b6ef9cae8170abc9 100644 (file)
--- a/web.cpp
+++ b/web.cpp
@@ -129,7 +129,6 @@ void setupWeb() {
 
   isWebStarted = true;
 
 
   isWebStarted = true;
 
-  Serial.println("Setting authentication...");
   strncpy(auth_user,cfg.getCharValue(F("auth_user")),31);
   strncpy(auth_pwd,cfg.getCharValue(F("auth_pwd")),31);
 
   strncpy(auth_user,cfg.getCharValue(F("auth_user")),31);
   strncpy(auth_pwd,cfg.getCharValue(F("auth_pwd")),31);
 
@@ -308,18 +307,18 @@ void tickWeb() {
   static bool connectInProgress = false;
   static unsigned long connectMillis = 0;
   if (actionScheduled && millis()>millisScheduled+300) {
   static bool connectInProgress = false;
   static unsigned long connectMillis = 0;
   if (actionScheduled && millis()>millisScheduled+300) {
-    Serial.print(F("Scheduled action ")); Serial.println(actionScheduled);
+    Serial.print(F("Запланированная операция ")); Serial.println(actionScheduled);
     //
     if (strcmp(actionScheduled,"restart") == 0) {
       server.end();
       reboot();
     } else if (strcmp(actionScheduled,"auth") == 0) {
     //
     if (strcmp(actionScheduled,"restart") == 0) {
       server.end();
       reboot();
     } else if (strcmp(actionScheduled,"auth") == 0) {
-      Serial.println("New authentication credentials");
+      Serial.println("Логин/пароль изменены");
       strncpy(auth_user,cfg.getCharValue(F("auth_user")),31);
       strncpy(auth_pwd,cfg.getCharValue(F("auth_pwd")),31);
       pendingAuth = false;
     } else if (strcmp(actionScheduled,"wifi") == 0) {
       strncpy(auth_user,cfg.getCharValue(F("auth_user")),31);
       strncpy(auth_pwd,cfg.getCharValue(F("auth_pwd")),31);
       pendingAuth = false;
     } else if (strcmp(actionScheduled,"wifi") == 0) {
-      Serial.println("New wifi credentials");
+      Serial.println("Применяю настройки сети");
       strcpy(storedSSID,WiFi.SSID().c_str());
       strcpy(storedPSK,WiFi.psk().c_str());
       WiFi.mode(WIFI_STA);
       strcpy(storedSSID,WiFi.SSID().c_str());
       strcpy(storedPSK,WiFi.psk().c_str());
       WiFi.mode(WIFI_STA);