forked from espressif/arduino-esp32
Pass ethernet events to the main handler
This commit is contained in:
@ -73,22 +73,28 @@ extern void tcpipInit();
|
|||||||
// Event handler for Ethernet
|
// Event handler for Ethernet
|
||||||
void ETHClass::eth_event_handler(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)
|
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) {
|
switch (event_id) {
|
||||||
case ETHERNET_EVENT_CONNECTED:
|
case ETHERNET_EVENT_CONNECTED:
|
||||||
|
event.event_id = SYSTEM_EVENT_ETH_CONNECTED;
|
||||||
((ETHClass*)(arg))->eth_link = ETH_LINK_UP;
|
((ETHClass*)(arg))->eth_link = ETH_LINK_UP;
|
||||||
break;
|
break;
|
||||||
case ETHERNET_EVENT_DISCONNECTED:
|
case ETHERNET_EVENT_DISCONNECTED:
|
||||||
|
event.event_id = SYSTEM_EVENT_ETH_DISCONNECTED;
|
||||||
((ETHClass*)(arg))->eth_link = ETH_LINK_DOWN;
|
((ETHClass*)(arg))->eth_link = ETH_LINK_DOWN;
|
||||||
break;
|
break;
|
||||||
case ETHERNET_EVENT_START:
|
case ETHERNET_EVENT_START:
|
||||||
|
event.event_id = SYSTEM_EVENT_ETH_START;
|
||||||
((ETHClass*)(arg))->started = true;
|
((ETHClass*)(arg))->started = true;
|
||||||
break;
|
break;
|
||||||
case ETHERNET_EVENT_STOP:
|
case ETHERNET_EVENT_STOP:
|
||||||
|
event.event_id = SYSTEM_EVENT_ETH_STOP;
|
||||||
((ETHClass*)(arg))->started = false;
|
((ETHClass*)(arg))->started = false;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
WiFi._eventCallback(arg, &event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user