diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino index a9db9aeb35e0542959f480f32bcebc73b8d5cfc1..f93790251faddf90b6d5c6285b12ee6375a1b4ea 100644 --- a/ampel-firmware/ampel-firmware.ino +++ b/ampel-firmware/ampel-firmware.ino @@ -56,6 +56,12 @@ * and define your credentials and parameters in 'config.h'. */ +iotwebconf::WifiAuthInfo* failedConnection() { + Serial.println("Seriously. What???"); + led_effects::showKITTWheel(color::red); + return nullptr; +} + /***************************************************************** * Setup * *****************************************************************/ @@ -89,10 +95,12 @@ void setup() { Serial.println(WiFi.localIP()); }); - web_config::setWifiConnectionFailedCallback([]() { - led_effects::showKITTWheel(color::red); - Serial.println(F("Connection to WiFi failed")); - }); + web_config::setWifiFailCallback(failedConnection); + +// web_config::setWifiConnectionFailedCallback([]() { +// led_effects::showKITTWheel(color::red); +// Serial.println(F("Connection to WiFi failed")); +// }); #endif pinMode(0, INPUT); // Flash button (used for forced calibration) diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp index f7ef657203f96841922149d0e9930ed6cc6f9383..7a09dedd6caab8ec2f402dce991266ff40e37fae 100644 --- a/ampel-firmware/web_config.cpp +++ b/ampel-firmware/web_config.cpp @@ -162,11 +162,8 @@ namespace web_config { iotWebConf->setWifiConnectionCallback(function); } - void setWifiConnectionFailedCallback(void (*function)()) { - iotWebConf->setWifiConnectionFailedHandler([&function]() -> WifiAuthInfo* { - function(); - return NULL; - }); + void setWifiFailCallback(WifiAuthInfo* (*function)()) { + iotWebConf->setWifiConnectionFailedHandler(function); } void initialize() { diff --git a/ampel-firmware/web_config.h b/ampel-firmware/web_config.h index 87c66058cdf785e1b4925490da489ef4c34c052a..af7d3827ede6db7ac7f2c7088a40ede77a679592 100644 --- a/ampel-firmware/web_config.h +++ b/ampel-firmware/web_config.h @@ -2,6 +2,7 @@ #define AMPEL_WEB_CONFIG_H_ #define STRING_LEN 64 +#include <IotWebConf.h> #if defined(ESP8266) # include <ESP8266WebServer.h> @@ -51,7 +52,7 @@ namespace config { namespace web_config { void initialize(); void setWifiConnectionCallback(void (*function)()); - void setWifiConnectionFailedCallback(void (*function)()); + void setWifiFailCallback(iotwebconf::WifiAuthInfo* (*function)()); void update(); //TODO: Add saveConfig(), for e.g. after custom setters. Or simply reset after each configchange?