Эх сурвалжийг харах

Faster connection initialization (#46)

kaegi 6 жил өмнө
parent
commit
1c02154d8a
1 өөрчлөгдсөн 14 нэмэгдсэн , 1 устгасан
  1. 14 1
      ESPAsyncWiFiManager.cpp

+ 14 - 1
ESPAsyncWiFiManager.cpp

@@ -207,7 +207,20 @@ boolean AsyncWiFiManager::autoConnect(char const *apName, char const *apPassword
 	  }
 
 	  if(tryNumber + 1 < maxConnectRetries) {
-		  delay(retryDelayMs);
+
+		  // we might connect during the delay
+		  unsigned long restDelayMs = retryDelayMs;
+		  while(restDelayMs != 0) {
+			  if(WiFi.status() == WL_CONNECTED) {
+				  DEBUG_WM(F("IP Address (connected during delay):"));
+				  DEBUG_WM(WiFi.localIP());
+				  return true;
+			  }
+			  unsigned long thisDelay = std::min(restDelayMs, 100ul);
+			  delay(thisDelay);
+			  restDelayMs -= thisDelay;
+		  }
+
 	  }
   }