From 684bbe8c5a507467636b221fa7032b1e9c097aad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Sun, 1 Jan 2023 19:00:21 +0100 Subject: [PATCH] SEMI-FIX: disabled configTime due to hanging --- src/main.cpp | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ecdc952..6a15436 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -31,7 +31,7 @@ WebServer server(80); Display display(32, 8); -ModeId newModeId = NEW_YEAR; +ModeId newModeId = SPACE_INVADERS; ModeId currentModeId = NONE; @@ -43,9 +43,9 @@ double speed = 1.0; bool connected = false; -void checkMode(); +void mode_check(); -void stepMode(); +void mode_step(); void unloadOldMode(); @@ -53,6 +53,12 @@ void loadNewMode(); void setBrightness(int value); +void setSpeed(double value); + +void serial_read(); + +void wifi_loop(); + void web_index() { server.setContentLength(CONTENT_LENGTH_UNKNOWN); server.send(200, "text/html", ""); @@ -103,6 +109,7 @@ void setup() { Serial.println("\n\n\nStartup!"); WiFi.begin("HappyNet", "1Grausame!Sackratte7"); + yield(); ArduinoOTA.onStart([]() { display.clear(); @@ -124,6 +131,10 @@ void setup() { display.loop(); }); ArduinoOTA.begin(); + yield(); + + display.setup(); + yield(); server.on("", web_index); server.on("/", web_index); @@ -134,21 +145,27 @@ void setup() { server.on("/darker", web_darker); server.on("/darker/", web_darker); server.begin(); - - display.setup(); } -void setSpeed(double value); - void loop() { + yield(); ArduinoOTA.handle(); server.handleClient(); + wifi_loop(); + serial_read(); + mode_check(); + display.loop(); + mode_step(); +} + +void wifi_loop() { bool hasIp = (uint32_t) WiFi.localIP() != 0; if (!connected) { if (hasIp) { connected = true; Serial.printf("WiFi connected: %s\n", WiFi.localIP().toString().c_str()); - configTime(3600, 3600, WiFi.gatewayIP().toString().c_str()); +// configTime(3600, 3600, WiFi.gatewayIP().toString().c_str()); +// yield(); } } else { if (!hasIp) { @@ -156,7 +173,9 @@ void loop() { Serial.println("WiFi disconnected!"); } } +} +void serial_read() { if (Serial.available()) { int input = Serial.read(); switch (input) { @@ -186,9 +205,6 @@ void loop() { break; } } - checkMode(); - display.loop(); - stepMode(); } void setBrightness(int value) { @@ -201,7 +217,7 @@ void setSpeed(double value) { Serial.printf("Setting speed to %6.2fx\n", value); } -void checkMode() { +void mode_check() { if (currentModeId != newModeId) { unloadOldMode(); loadNewMode(); @@ -253,7 +269,7 @@ void loadNewMode() { Serial.printf("Mode: %s\n", mode == nullptr ? "None" : mode->getName()); } -void stepMode() { +void mode_step() { if (mode == nullptr) { return; }