@@ -289,23 +289,25 @@ esp_err_t WebConfigNetwork::enableNAT(void){
289289}
290290
291291void 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 ;
0 commit comments