Skip to content

Commit 2ded419

Browse files
c0zm0zme-no-dev
authored andcommitted
Update WiFiMulti.cpp (#1220)
* Update WiFiMulti.cpp added 5 sec timeout from ESP8266 * Update WiFiMulti.cpp * Update WiFiMulti.h
1 parent 7eb6fc5 commit 2ded419

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

libraries/WiFi/src/WiFiMulti.cpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ bool WiFiMulti::addAP(const char* ssid, const char *passphrase)
4242
return APlistAdd(ssid, passphrase);
4343
}
4444

45-
uint8_t WiFiMulti::run(void)
45+
uint8_t WiFiMulti::run(uint32_t connectTimeout)
4646
{
4747

4848
int8_t scanResult;
@@ -117,9 +117,10 @@ uint8_t WiFiMulti::run(void)
117117

118118
WiFi.begin(bestNetwork.ssid, bestNetwork.passphrase, bestChannel, bestBSSID);
119119
status = WiFi.status();
120-
121-
// wait for connection or fail
122-
while(status != WL_CONNECTED && status != WL_NO_SSID_AVAIL && status != WL_CONNECT_FAILED) {
120+
121+
auto startTime = millis();
122+
// wait for connection, fail, or timeout
123+
while(status != WL_CONNECTED && status != WL_NO_SSID_AVAIL && status != WL_CONNECT_FAILED && (millis() - startTime) <= connectTimeout) {
123124
delay(10);
124125
status = WiFi.status();
125126
}

libraries/WiFi/src/WiFiMulti.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class WiFiMulti
5454

5555
bool addAP(const char* ssid, const char *passphrase = NULL);
5656

57-
uint8_t run(void);
57+
uint8_t run(uint32_t connectTimeout=5000);
5858

5959
private:
6060
std::vector<WifiAPlist_t> APlist;

0 commit comments

Comments
 (0)