SEMI-FIX: disabled configTime due to hanging

This commit is contained in:
Patrick Haßel 2023-01-01 19:00:21 +01:00
parent 09cc27cdec
commit 684bbe8c5a

View File

@ -31,7 +31,7 @@ WebServer server(80);
Display display(32, 8); Display display(32, 8);
ModeId newModeId = NEW_YEAR; ModeId newModeId = SPACE_INVADERS;
ModeId currentModeId = NONE; ModeId currentModeId = NONE;
@ -43,9 +43,9 @@ double speed = 1.0;
bool connected = false; bool connected = false;
void checkMode(); void mode_check();
void stepMode(); void mode_step();
void unloadOldMode(); void unloadOldMode();
@ -53,6 +53,12 @@ void loadNewMode();
void setBrightness(int value); void setBrightness(int value);
void setSpeed(double value);
void serial_read();
void wifi_loop();
void web_index() { void web_index() {
server.setContentLength(CONTENT_LENGTH_UNKNOWN); server.setContentLength(CONTENT_LENGTH_UNKNOWN);
server.send(200, "text/html", ""); server.send(200, "text/html", "");
@ -103,6 +109,7 @@ void setup() {
Serial.println("\n\n\nStartup!"); Serial.println("\n\n\nStartup!");
WiFi.begin("HappyNet", "1Grausame!Sackratte7"); WiFi.begin("HappyNet", "1Grausame!Sackratte7");
yield();
ArduinoOTA.onStart([]() { ArduinoOTA.onStart([]() {
display.clear(); display.clear();
@ -124,6 +131,10 @@ void setup() {
display.loop(); display.loop();
}); });
ArduinoOTA.begin(); ArduinoOTA.begin();
yield();
display.setup();
yield();
server.on("", web_index); server.on("", web_index);
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.on("/darker/", web_darker); server.on("/darker/", web_darker);
server.begin(); server.begin();
display.setup();
} }
void setSpeed(double value);
void loop() { void loop() {
yield();
ArduinoOTA.handle(); ArduinoOTA.handle();
server.handleClient(); server.handleClient();
wifi_loop();
serial_read();
mode_check();
display.loop();
mode_step();
}
void wifi_loop() {
bool hasIp = (uint32_t) WiFi.localIP() != 0; bool hasIp = (uint32_t) WiFi.localIP() != 0;
if (!connected) { if (!connected) {
if (hasIp) { if (hasIp) {
connected = true; connected = true;
Serial.printf("WiFi connected: %s\n", WiFi.localIP().toString().c_str()); 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 { } else {
if (!hasIp) { if (!hasIp) {
@ -156,7 +173,9 @@ void loop() {
Serial.println("WiFi disconnected!"); Serial.println("WiFi disconnected!");
} }
} }
}
void serial_read() {
if (Serial.available()) { if (Serial.available()) {
int input = Serial.read(); int input = Serial.read();
switch (input) { switch (input) {
@ -186,9 +205,6 @@ void loop() {
break; break;
} }
} }
checkMode();
display.loop();
stepMode();
} }
void setBrightness(int value) { void setBrightness(int value) {
@ -201,7 +217,7 @@ void setSpeed(double value) {
Serial.printf("Setting speed to %6.2fx\n", value); Serial.printf("Setting speed to %6.2fx\n", value);
} }
void checkMode() { void mode_check() {
if (currentModeId != newModeId) { if (currentModeId != newModeId) {
unloadOldMode(); unloadOldMode();
loadNewMode(); loadNewMode();
@ -253,7 +269,7 @@ void loadNewMode() {
Serial.printf("Mode: %s\n", mode == nullptr ? "None" : mode->getName()); Serial.printf("Mode: %s\n", mode == nullptr ? "None" : mode->getName());
} }
void stepMode() { void mode_step() {
if (mode == nullptr) { if (mode == nullptr) {
return; return;
} }