diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp index a75c115c26..38f197c915 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp @@ -504,6 +504,18 @@ IPAddress ESP8266WiFiSTAClass::dnsIP(uint8_t dns_no) { return IPAddress(dns_getserver(dns_no)); } +/** + * Get the broadcast ip address. + * @return IPAddress Bradcast IP + */ +IPAddress ESP8266WiFiSTAClass::broadcastIP() +{ + struct ip_info ip; + wifi_get_ip_info(STATION_IF, &ip); + + return IPAddress(ip.ip.addr | ~(ip.netmask.addr)); +} + /** * Return Connection status. * @return one of the value defined in wl_status_t diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h index 6dbb6406c1..32813a5377 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h @@ -70,6 +70,7 @@ class ESP8266WiFiSTAClass: public LwipIntf { IPAddress gatewayIP(); IPAddress dnsIP(uint8_t dns_no = 0); + IPAddress broadcastIP(); // STA WiFi info wl_status_t status(); String SSID() const;