Pass ethernet events to the main handler

This commit is contained in:
me-no-dev
2020-01-27 18:03:03 +02:00
parent f14a85311f
commit 970fef63c0

View File

@ -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);
} }