diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index b76dea05913..a3d40102374 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -1,5 +1,5 @@ /* - ESP8266WiFiSTA.cpp - WiFi library for esp8266 + WiFiSTA.cpp - WiFi library for esp32 Copyright (c) 2014 Ivan Grokhotkov. All rights reserved. This file is part of the esp8266 core for Arduino environment. @@ -416,7 +416,10 @@ IPAddress WiFiSTAClass::localIP() uint8_t* WiFiSTAClass::macAddress(uint8_t* mac) { if(WiFiGenericClass::getMode() != WIFI_MODE_NULL){ - esp_wifi_get_mac(WIFI_IF_STA, mac); + esp_wifi_get_mac(WIFI_IF_STA, mac); + } + else{ + esp_read_mac(mac, ESP_MAC_WIFI_STA); } return mac; } @@ -430,10 +433,11 @@ String WiFiSTAClass::macAddress(void) uint8_t mac[6]; char macStr[18] = { 0 }; if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){ - return String(); + esp_read_mac(mac, ESP_MAC_WIFI_STA); + } + else{ + esp_wifi_get_mac(WIFI_IF_STA, mac); } - esp_wifi_get_mac(WIFI_IF_STA, mac); - sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); return String(macStr); }