Skip to content

Commit ad4cf14

Browse files
committed
Rework setHostname for WiFi STA
Fixes: #2537
1 parent 5de03a3 commit ad4cf14

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

Diff for: libraries/WiFi/src/WiFiGeneric.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,7 @@ esp_err_t WiFiGenericClass::_eventCallback(void *arg, system_event_t *event, wif
379379
} else if(event->event_id == SYSTEM_EVENT_STA_START) {
380380
WiFiSTAClass::_setStatus(WL_DISCONNECTED);
381381
setStatusBits(STA_STARTED_BIT);
382+
tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, WiFiSTAClass::_hostname.c_str());
382383
} else if(event->event_id == SYSTEM_EVENT_STA_STOP) {
383384
WiFiSTAClass::_setStatus(WL_NO_SHIELD);
384385
clearStatusBits(STA_STARTED_BIT | STA_CONNECTED_BIT | STA_HAS_IP_BIT | STA_HAS_IP6_BIT);

Diff for: libraries/WiFi/src/WiFiSTA.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ static bool sta_config_equal(const wifi_config_t& lhs, const wifi_config_t& rhs)
7171

7272
bool WiFiSTAClass::_autoReconnect = true;
7373
bool WiFiSTAClass::_useStaticIp = false;
74+
String WiFiSTAClass::_hostname = "esp32-arduino";
7475

7576
static wl_status_t _sta_status = WL_NO_SHIELD;
7677
static EventGroupHandle_t _sta_status_group = NULL;
@@ -283,7 +284,6 @@ bool WiFiSTAClass::config(IPAddress local_ip, IPAddress gateway, IPAddress subne
283284
}
284285

285286
tcpip_adapter_ip_info_t info;
286-
log_d("STA IP uint32_t: %u.%u.%u.%u\n", local_ip[0], local_ip[1], local_ip[2], local_ip[3]);
287287

288288
if(local_ip != (uint32_t)0x00000000 && local_ip != INADDR_NONE){
289289
info.ip.addr = static_cast<uint32_t>(local_ip);
@@ -637,6 +637,7 @@ const char * WiFiSTAClass::getHostname()
637637
*/
638638
bool WiFiSTAClass::setHostname(const char * hostname)
639639
{
640+
_hostname = hostname;
640641
if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
641642
return false;
642643
}

Diff for: libraries/WiFi/src/WiFiSTA.h

+1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class WiFiSTAClass
8686
int8_t RSSI();
8787

8888
static void _setStatus(wl_status_t status);
89+
static String _hostname;
8990
protected:
9091
static bool _useStaticIp;
9192
static bool _autoReconnect;

0 commit comments

Comments
 (0)