diff --git a/libraries/WiFi/src/ETH.cpp b/libraries/WiFi/src/ETH.cpp index 1d5b3106444142a880af8c6c64f8568925acaa20..0de771cd622c1a4dd42dbfd257f1392c6afe6f70 100644 --- a/libraries/WiFi/src/ETH.cpp +++ b/libraries/WiFi/src/ETH.cpp @@ -73,22 +73,28 @@ extern void tcpipInit(); // Event handler for Ethernet void ETHClass::eth_event_handler(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) { + system_event_t event; switch (event_id) { case ETHERNET_EVENT_CONNECTED: + event.event_id = SYSTEM_EVENT_ETH_CONNECTED; ((ETHClass*)(arg))->eth_link = ETH_LINK_UP; break; case ETHERNET_EVENT_DISCONNECTED: + event.event_id = SYSTEM_EVENT_ETH_DISCONNECTED; ((ETHClass*)(arg))->eth_link = ETH_LINK_DOWN; break; case ETHERNET_EVENT_START: + event.event_id = SYSTEM_EVENT_ETH_START; ((ETHClass*)(arg))->started = true; break; case ETHERNET_EVENT_STOP: + event.event_id = SYSTEM_EVENT_ETH_STOP; ((ETHClass*)(arg))->started = false; break; default: break; } + WiFi._eventCallback(arg, &event); }