Skip to content

Commit 772ab2a

Browse files
committed
Fix deprecated tcpip_adapter methods with ESP-NETIF API on handleAPStations method
1 parent 0c5d50b commit 772ab2a

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ HEAD
99
* Fix deprecated GPIO_ID_PIN macro when not USE_ASYNC_WEBSERVER
1010
* Refactor NAT configuration in enableNAT method using arduino-esp32 AP and NAPT methods instead ESP-IDF API
1111
* Update AP Stations info on WIFI_EVENT_STA_START events
12+
* Fix deprecated tcpip_adapter methods with ESP-NETIF API on handleAPStations method
1213

1314
v3.0.1 (2025-08-14)
1415
------

src/WebConfigNetwork.cpp

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -289,23 +289,25 @@ esp_err_t WebConfigNetwork::enableNAT(void){
289289
}
290290

291291
void WebConfigNetwork::handleAPStations(void){
292-
AP_clients = WiFi.softAPgetStationNum();
293-
294-
Serial.printf("Stations connected to AP: %d\n", AP_clients);
295-
296292
wifi_sta_list_t wifi_sta_list;
297-
tcpip_adapter_sta_list_t adapter_sta_list;
298-
299293
memset(&wifi_sta_list, 0, sizeof(wifi_sta_list));
300-
memset(&adapter_sta_list, 0, sizeof(adapter_sta_list));
301-
302294
esp_wifi_ap_get_sta_list(&wifi_sta_list);
303-
tcpip_adapter_get_sta_list(&wifi_sta_list, &adapter_sta_list);
304-
305-
char wifiClientMac[18];
306-
for (int clientNum = 0; clientNum < adapter_sta_list.num; clientNum++) {
307-
tcpip_adapter_sta_info_t station = adapter_sta_list.sta[clientNum];
308-
Serial.printf("\t - Station %d MAC: " MACSTR " IP: " IPSTR "\n", clientNum, MAC2STR(station.mac), IP2STR(&station.ip));
295+
ESP_LOGI("WebConfigNetwork", "Stations connected to AP: %d", wifi_sta_list.num);
296+
297+
wifi_sta_mac_ip_list_t wifi_sta_ip_mac_list;
298+
memset(&wifi_sta_ip_mac_list, 0, sizeof(wifi_sta_ip_mac_list));
299+
esp_err_t err = esp_wifi_ap_get_sta_list_with_ip(&wifi_sta_list, &wifi_sta_ip_mac_list);
300+
301+
if (err == ESP_OK) {
302+
for (int clientNum = 0; clientNum < wifi_sta_ip_mac_list.num; clientNum++) {
303+
ESP_LOGD("WebConfigNetwork", "AP Client %d MAC: " MACSTR " IP: " IPSTR,
304+
clientNum + 1,
305+
MAC2STR(wifi_sta_ip_mac_list.sta[clientNum].mac),
306+
IP2STR(&wifi_sta_ip_mac_list.sta[clientNum].ip)
307+
);
308+
}
309+
} else {
310+
ESP_LOGE("WebConfigNetwork", "Error getting station MAC/IP list: %s", esp_err_to_name(err));
309311
}
310312

311313
updateApStations = false;

src/WebConfigNetwork.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#ifdef ESP32
99
#include <WiFi.h>
1010
#include "esp_wifi.h"
11+
#include "esp_wifi_ap_get_sta_list.h"
1112
#include <esp_event.h>
1213
#include <WiFiMulti.h>
1314
#include <ESPmDNS.h>

0 commit comments

Comments
 (0)