Skip to content
Snippets Groups Projects
Commit fa48e3f5 authored by Gunar Schorcht's avatar Gunar Schorcht
Browse files

cpu/esp8266: event handling for link up/down

parent 4e41afa2
No related branches found
No related tags found
No related merge requests found
...@@ -574,6 +574,22 @@ static void _isr(netdev_t *netdev) ...@@ -574,6 +574,22 @@ static void _isr(netdev_t *netdev)
ESP_WIFI_DEBUG("%p", netdev); ESP_WIFI_DEBUG("%p", netdev);
assert(netdev != NULL); assert(netdev != NULL);
esp_wifi_netdev_t *dev = (esp_wifi_netdev_t *) netdev;
switch (dev->event) {
case EVENT_STAMODE_CONNECTED:
dev->netdev.event_callback(netdev, NETDEV_EVENT_LINK_UP);
break;
case EVENT_STAMODE_DISCONNECTED:
dev->netdev.event_callback(netdev, NETDEV_EVENT_LINK_DOWN);
break;
default:
break;
}
_esp_wifi_dev.event = EVENT_MAX; /* no event */
return;
} }
/** override lwIP ethernet_intput to get ethernet frames */ /** override lwIP ethernet_intput to get ethernet frames */
...@@ -614,6 +630,7 @@ static void _esp_wifi_setup(void) ...@@ -614,6 +630,7 @@ static void _esp_wifi_setup(void)
/* initialize netdev data structure */ /* initialize netdev data structure */
dev->rx_len = 0; dev->rx_len = 0;
dev->state = ESP_WIFI_DISCONNECTED; dev->state = ESP_WIFI_DISCONNECTED;
dev->event = EVENT_MAX;
/* set the netdev driver */ /* set the netdev driver */
dev->netdev.driver = &_esp_wifi_driver; dev->netdev.driver = &_esp_wifi_driver;
......
...@@ -48,6 +48,7 @@ typedef struct ...@@ -48,6 +48,7 @@ typedef struct
uint16_t rx_len; /**< number of bytes received from lwIP */ uint16_t rx_len; /**< number of bytes received from lwIP */
esp_wifi_state_t state; /**< indicates the interface state */ esp_wifi_state_t state; /**< indicates the interface state */
uint32_t event; /**< received event */
} esp_wifi_netdev_t; } esp_wifi_netdev_t;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment