Skip to content

Commit f44a0aa

Browse files
committed
WiFi: add setTimeout()
1 parent 103d4ab commit f44a0aa

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

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

+5
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ int arduino::WiFiClass::begin(const char* ssid, const char* passphrase, wl_enc_t
7575
wifi_if->set_network(_ip, _netmask, _gateway);
7676
}
7777

78+
wifi_if->set_timeout(_timeout);
7879
nsapi_error_t result = wifi_if->connect(ssid, passphrase, _security);
7980

8081
if(result == NSAPI_ERROR_IS_CONNECTED) {
@@ -297,6 +298,10 @@ unsigned long arduino::WiFiClass::getTime() {
297298
return 0;
298299
}
299300

301+
void arduino::WiFiClass::setTimeout(unsigned long timeout) {
302+
_timeout = timeout;
303+
}
304+
300305
void arduino::WiFiClass::statusCallback(nsapi_event_t status, intptr_t param)
301306
{
302307
if (((param == NSAPI_STATUS_DISCONNECTED) ||

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

+6
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,11 @@ class WiFiClass : public MbedSocketClass {
168168

169169
unsigned long getTime();
170170

171+
/*
172+
* Configure WiFi join timeout in milliseconds. Default value is 7s.
173+
*/
174+
void setTimeout(unsigned long timeout);
175+
171176
friend class WiFiClient;
172177
friend class WiFiServer;
173178
friend class WiFiUDP;
@@ -183,6 +188,7 @@ class WiFiClass : public MbedSocketClass {
183188
WiFiAccessPoint* ap_list = nullptr;
184189
uint8_t connected_ap;
185190
nsapi_security_t _security;
191+
unsigned long _timeout = 7000;
186192
int setSSID(const char* ssid);
187193
void ensureDefaultAPNetworkConfiguration();
188194
static void* handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data);

0 commit comments

Comments
 (0)