From 6f00503bc37acd89fd4305151ac02e817fd06124 Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Mon, 28 Dec 2015 20:19:36 +0100 Subject: [PATCH] add reconnect function for STA --- libraries/ESP8266WiFi/src/ESP8266WiFi.cpp | 12 ++++++++++++ libraries/ESP8266WiFi/src/ESP8266WiFi.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp index ee38217ef..870e99cec 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp @@ -284,6 +284,18 @@ void ESP8266WiFiClass::config(IPAddress local_ip, IPAddress gateway, IPAddress s _useStaticIp = true; } +/** + * will force a disconnect an then start reconnecting to AP + * @return ok + */ +bool ESP8266WiFiClass::reconnect() { + if((getMode() & WIFI_STA) != 0) { + if(wifi_station_disconnect()) { + return wifi_station_connect(); + } + } + return false; +} /** * Disconnect from the network diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFi.h b/libraries/ESP8266WiFi/src/ESP8266WiFi.h index ebdfe4b65..dbadb135e 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFi.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFi.h @@ -80,6 +80,8 @@ class ESP8266WiFiClass { void config(IPAddress local_ip, IPAddress gateway, IPAddress subnet); void config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns); + + bool reconnect(); int disconnect(bool wifioff = false); uint8_t waitForConnectResult();