diff --git a/cores/esp8266/WString.h b/cores/esp8266/WString.h index fbf3c59b2f..81d26c3210 100644 --- a/cores/esp8266/WString.h +++ b/cores/esp8266/WString.h @@ -237,8 +237,7 @@ class String { void toLowerCase(void); void toUpperCase(void); void trim(void); - - // parsing/conversion + long toInt(void) const; float toFloat(void) const; diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp index 5f2c2c3b05..5bc82e8d96 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp @@ -369,12 +369,14 @@ bool ESP8266WiFiSTAClass::getAutoReconnect() { * returns the status reached or disconnect if STA is off * @return wl_status_t */ -uint8_t ESP8266WiFiSTAClass::waitForConnectResult() { +uint8_t ESP8266WiFiSTAClass::waitForConnectResult(uint32_t wait_secs) { //1 and 3 have STA enabled if((wifi_get_opmode() & 1) == 0) { return WL_DISCONNECTED; } - while(status() == WL_DISCONNECTED) { + int i = 0; + int try_times = wait_secs*10; + while((!status() || status() >= WL_DISCONNECTED) && ((wait_secs==0)? true : (i++ < try_times))) { delay(100); } return status(); diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h index 58b76ef5ee..65092916f6 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h @@ -56,7 +56,7 @@ class ESP8266WiFiSTAClass { bool setAutoReconnect(bool autoReconnect); bool getAutoReconnect(); - uint8_t waitForConnectResult(); + uint8_t waitForConnectResult(uint32_t wait_secs=0); // STA network info IPAddress localIP();