We have a project where we implement WiFi Station + AP, but then disable the AP after a minute. It does not seem that all heap memory used by the AP is released however, as there is still ~4kb less heap available after disabling the AP than there is if the AP is simply not started at all.
Starting the STA and AP is standard code (as per examples). We use the following code to stop the WiFi again:
Code: Select all
esp_wifi_stop();
esp_wifi_deinit();
esp_wifi_set_mode(WIFI_MODE_NULL);
if (mpWiFiSta) { // mpWiFiSta = esp_netif_create_default_wifi_sta(); in init routine
esp_netif_destroy(mpWiFiSta);
mpWiFiSta = 0;
}
if (mpWiFiAp) { // mpWiFiAp = esp_netif_create_default_wifi_ap(); in init routine
esp_netif_destroy(mpWiFiAp);
mpWiFiAp = 0;
}
What else should we do to release the additional ~4kb reserved during AP initialisation back into the heap?
Thanks!