From 25e2ab0f6939e34e7b007e92e3a58b3a80a5dff6 Mon Sep 17 00:00:00 2001 From: a7md0 <10885603+a7md0@users.noreply.github.com> Date: Tue, 11 Jun 2019 11:12:41 +0300 Subject: [PATCH 1/2] Update ESP8266WiFiSTA.h Update ESP8266WiFiSTA.h | Add broadcastIP() --- libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h index f8c352cca7..8cb37e21e5 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h @@ -67,6 +67,7 @@ class ESP8266WiFiSTAClass { IPAddress subnetMask(); IPAddress gatewayIP(); + IPAddress broadcastIP(); IPAddress dnsIP(uint8_t dns_no = 0); String hostname(); From 8ce312d7dbf70ea1a1fd34cda3664f7ba6af3ff6 Mon Sep 17 00:00:00 2001 From: a7md0 <10885603+a7md0@users.noreply.github.com> Date: Tue, 11 Jun 2019 11:19:24 +0300 Subject: [PATCH 2/2] Update ESP8266WiFiSTA.cpp | Add broadcastIP() Calculate the broadcast IP address using the subnet mask and default gateway IP address. --- libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp index aae7aec7d2..fe355671eb 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp @@ -498,6 +498,23 @@ IPAddress ESP8266WiFiSTAClass::gatewayIP() { return IPAddress(ip.gw.addr); } +/** + * Get the broadcast ip address. + * @return IPAddress broadcastIP + */ +IPAddress ESP8266WiFiSTAClass::broadcastIP() { + struct ip_info ip; + wifi_get_ip_info(STATION_IF, &ip); + IPAddress subnetMask(ip.netmask.addr); + IPAddress gatewayIP(ip.gw.addr); + + IPAddress broadcastIp; + for (int i = 0; i < 4; i++) + broadcastIp[i] = ~subnetMask[i] | gatewayIP[i]; + + return broadcastIp; +} + /** * Get the DNS ip address. * @param dns_no