Skip to content

Commit ee6ca23

Browse files
committed
WiFi.begin "aligned with Arduino.cc". blocking
beginTimeout property used in begin with waitForConnectResult with beginTimeout 0 begin is async. default beginTimeot is a minute
1 parent b2e7338 commit ee6ca23

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

Diff for: libraries/WiFi/src/WiFiSTA.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ wl_status_t WiFiSTAClass::begin(const char* ssid, const char *passphrase, int32_
305305
}
306306
}
307307

308+
if (beginTimeout) {
309+
return (wl_status_t) waitForConnectResult(beginTimeout);
310+
}
308311
return status();
309312
}
310313

@@ -344,6 +347,9 @@ wl_status_t WiFiSTAClass::begin()
344347
}
345348
}
346349

350+
if (beginTimeout) {
351+
return (wl_status_t) waitForConnectResult(beginTimeout);
352+
}
347353
return status();
348354
}
349355

Diff for: libraries/WiFi/src/WiFiSTA.h

+8
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,20 @@ class WiFiSTAClass
108108

109109
static void _setStatus(wl_status_t status);
110110

111+
void setBeginTimeout(unsigned long timeout) {
112+
beginTimeout = timeout;
113+
}
114+
void setBeginAsync() {
115+
beginTimeout = 0;
116+
}
117+
111118
protected:
112119
static bool _useStaticIp;
113120
static bool _autoReconnect;
114121
static wifi_auth_mode_t _minSecurity;
115122
static wifi_scan_method_t _scanMethod;
116123
static wifi_sort_method_t _sortMethod;
124+
unsigned long beginTimeout = 60000;
117125

118126
public:
119127
bool beginSmartConfig(smartconfig_type_t type = SC_TYPE_ESPTOUCH, char* crypt_key = NULL);

0 commit comments

Comments
 (0)