diff --git a/examples/OneOpenAir/OneOpenAir.ino b/examples/OneOpenAir/OneOpenAir.ino index e93912d..e124765 100644 --- a/examples/OneOpenAir/OneOpenAir.ino +++ b/examples/OneOpenAir/OneOpenAir.ino @@ -242,10 +242,12 @@ void setup() { ledBarEnabledUpdate(); } } else { - oledDisplay.showRebooting(); - delay(2500); - oledDisplay.setText("", "", ""); - ESP.restart(); + if (wifiConnector.isConfigurePorttalTimeout()) { + oledDisplay.showRebooting(); + delay(2500); + oledDisplay.setText("", "", ""); + ESP.restart(); + } } } } diff --git a/src/AgWiFiConnector.cpp b/src/AgWiFiConnector.cpp index c8a9d8d..f71a9cd 100644 --- a/src/AgWiFiConnector.cpp +++ b/src/AgWiFiConnector.cpp @@ -53,6 +53,7 @@ bool WifiConnector::connect(void) { WIFI()->setAPCallback([this](WiFiManager *obj) { _wifiApCallback(); }); WIFI()->setSaveConfigCallback([this]() { _wifiSaveConfig(); }); WIFI()->setSaveParamsCallback([this]() { _wifiSaveParamCallback(); }); + WIFI()->setConfigPortalTimeoutCallback([this](){}); if (ag->isOne()) { disp.setText("Connecting to", "WiFi", "..."); } else { @@ -245,6 +246,7 @@ void WifiConnector::_wifiSaveParamCallback(void) { bool WifiConnector::_wifiConfigPortalActive(void) { return WIFI()->getConfigPortalActive(); } +void WifiConnector::_wifiTimeoutCallback(void) { connectorTimeout = true; } #endif /** * @brief Process WiFiManager connection @@ -352,3 +354,11 @@ bool WifiConnector::hasConfigurated(void) { } return true; } + +/** + * @brief Get WiFi connection porttal timeout. + * + * @return true + * @return false + */ +bool WifiConnector::isConfigurePorttalTimeout(void) { return connectorTimeout; } diff --git a/src/AgWiFiConnector.h b/src/AgWiFiConnector.h index 090f0d2..b4e76a7 100644 --- a/src/AgWiFiConnector.h +++ b/src/AgWiFiConnector.h @@ -24,6 +24,7 @@ private: bool hasConfig; uint32_t lastRetry; bool hasPortalConfig = false; + bool connectorTimeout = false; bool wifiClientConnected(void); @@ -44,6 +45,7 @@ public: void _wifiSaveConfig(void); void _wifiSaveParamCallback(void); bool _wifiConfigPortalActive(void); + void _wifiTimeoutCallback(void); #endif void _wifiProcess(); bool isConnected(void); @@ -51,6 +53,7 @@ public: int RSSI(void); String localIpStr(void); bool hasConfigurated(void); + bool isConfigurePorttalTimeout(void); }; #endif /** _AG_WIFI_CONNECTOR_H_ */