Pārlūkot izejas kodu

Added callback for connection

Per Mårtensson 3 gadi atpakaļ
vecāks
revīzija
6cb170e398
2 mainītis faili ar 15 papildinājumiem un 1 dzēšanām
  1. 13 0
      src/ESPAsyncWiFiManager.cpp
  2. 2 1
      src/ESPAsyncWiFiManager.h

+ 13 - 0
src/ESPAsyncWiFiManager.cpp

@@ -262,6 +262,9 @@ boolean AsyncWiFiManager::autoConnect(char const *apName,
     {
       DEBUG_WM(F("IP Address:"));
       DEBUG_WM(WiFi.localIP());
+      if (_connectcallback!=NULL){
+        _connectcallback();
+      }
       // connected
       return true;
     }
@@ -276,6 +279,9 @@ boolean AsyncWiFiManager::autoConnect(char const *apName,
         {
           DEBUG_WM(F("IP Address (connected during delay):"));
           DEBUG_WM(WiFi.localIP());
+          if (_connectcallback!=NULL){
+            _connectcallback();
+          }
           return true;
         }
         unsigned long thisDelay = std::min(restDelayMs, 100ul);
@@ -469,6 +475,9 @@ void AsyncWiFiManager::startConfigPortalModeless(char const *apName, char const
   {
     DEBUG_WM(F("IP Address:"));
     DEBUG_WM(WiFi.localIP());
+    if (_connectcallback!=NULL){
+      _connectcallback();
+    }
     // connected
     // call the callback!
     if (_savecallback != NULL)
@@ -1277,6 +1286,10 @@ void AsyncWiFiManager::setSaveConfigCallback(std::function<void()> func)
 {
   _savecallback = func;
 }
+void AsyncWiFiManager::setConnectCallback(std::function<void()> func)
+{
+  _connectcallback = func;
+}
 
 // sets a custom element to add to head, like a new style tag
 void AsyncWiFiManager::setCustomHeadElement(const char *element)

+ 2 - 1
src/ESPAsyncWiFiManager.h

@@ -175,6 +175,7 @@ public:
   void setAPCallback(std::function<void(AsyncWiFiManager *)>);
   // called when settings have been changed and connection was successful
   void setSaveConfigCallback(std::function<void()> func);
+  void setConnectCallback(std::function<void()> func);
   //adds a custom parameter
   void addParameter(AsyncWiFiManagerParameter *p);
   // if this is set, it will exit after config, even if connection is unsucessful
@@ -282,7 +283,7 @@ private:
 
   std::function<void(AsyncWiFiManager *)> _apcallback;
   std::function<void()> _savecallback;
-
+  std::function<void()> _connectcallback;
   AsyncWiFiManagerParameter *_params[WIFI_MANAGER_MAX_PARAMS];
 
   template <typename Generic>