You can subscribe to be notified of ESP events using this
In your initialise
ESP_ERROR_CHECK( esp_event_loop_init(event_handler, NULL) );
Event handler fucntion
//***************************************
//***************************************
//********** ESP EVENT HANDLER **********
//***************************************
//***************************************
//Call this at startup:
//ESP_ERROR_CHECK( esp_event_loop_init(event_handler, NULL) );
static esp_err_t event_handler(void *ctx, system_event_t *event)
{
switch(event->event_id)
{
case SYSTEM_EVENT_STA_START:
//WiFi connected
break;
case SYSTEM_EVENT_STA_GOT_IP:
//WiFi got IP
break;
case SYSTEM_EVENT_STA_DISCONNECTED:
//WiFi lost connection
break;
default:
break;
}
return ESP_OK;
}
/* AVAILABLE EVENTS:
SYSTEM_EVENT_WIFI_READY = 0, //< ESP32 WiFi ready
SYSTEM_EVENT_SCAN_DONE, //< ESP32 finish scanning AP
SYSTEM_EVENT_STA_START, //< ESP32 station start
SYSTEM_EVENT_STA_STOP, //< ESP32 station stop
SYSTEM_EVENT_STA_CONNECTED, //< ESP32 station connected to AP
SYSTEM_EVENT_STA_DISCONNECTED, //< ESP32 station disconnected from AP
SYSTEM_EVENT_STA_AUTHMODE_CHANGE, //< the auth mode of AP connected by ESP32 station changed
SYSTEM_EVENT_STA_GOT_IP, //< ESP32 station got IP from connected AP
SYSTEM_EVENT_STA_LOST_IP, //< ESP32 station lost IP and the IP is reset to 0
SYSTEM_EVENT_STA_WPS_ER_SUCCESS, //< ESP32 station wps succeeds in enrollee mode
SYSTEM_EVENT_STA_WPS_ER_FAILED, //< ESP32 station wps fails in enrollee mode
SYSTEM_EVENT_STA_WPS_ER_TIMEOUT, //< ESP32 station wps timeout in enrollee mode
SYSTEM_EVENT_STA_WPS_ER_PIN, //< ESP32 station wps pin code in enrollee mode
SYSTEM_EVENT_AP_START, //< ESP32 soft-AP start
SYSTEM_EVENT_AP_STOP, //< ESP32 soft-AP stop
SYSTEM_EVENT_AP_STACONNECTED, //< a station connected to ESP32 soft-AP
SYSTEM_EVENT_AP_STADISCONNECTED, //< a station disconnected from ESP32 soft-AP
SYSTEM_EVENT_AP_STAIPASSIGNED, //< ESP32 soft-AP assign an IP to a connected station
SYSTEM_EVENT_AP_PROBEREQRECVED, //< Receive probe request packet in soft-AP interface
SYSTEM_EVENT_GOT_IP6, //< ESP32 station or ap or ethernet interface v6IP addr is preferred
SYSTEM_EVENT_ETH_START, //< ESP32 ethernet start
SYSTEM_EVENT_ETH_STOP, //< ESP32 ethernet stop
SYSTEM_EVENT_ETH_CONNECTED, //< ESP32 ethernet phy link up
SYSTEM_EVENT_ETH_DISCONNECTED, //< ESP32 ethernet phy link down
SYSTEM_EVENT_ETH_GOT_IP, //< ESP32 ethernet got IP from connected AP
*/
