]> granicus.if.org Git - esp-idf/commitdiff
esp32/tcpipadapter: correct eth ip got event info
authorLiu Zhi Fu <liuzhifu@espressif.com>
Thu, 12 Oct 2017 12:24:02 +0000 (20:24 +0800)
committerLiu Zhi Fu <liuzhifu@espressif.com>
Fri, 13 Oct 2017 07:56:51 +0000 (15:56 +0800)
1. Raise SYSTEM_EVENT_ETH_GOT_IP when eth got ip
2. Add default handler for SYSTEM_EVENT_ETH_GOT_IP
3. Minor change about ethernet kconfig

components/esp32/event_default_handlers.c
components/ethernet/Kconfig
components/tcpip_adapter/tcpip_adapter_lwip.c

index 8f1f2e93695aa84c6abd4300ce31b66618ca5a17..e4941362ccdda6f7426cfb4045ff394bc0494d2f 100644 (file)
@@ -61,6 +61,7 @@ static esp_err_t system_event_eth_start_handle_default(system_event_t *event);
 static esp_err_t system_event_eth_stop_handle_default(system_event_t *event);
 static esp_err_t system_event_eth_connected_handle_default(system_event_t *event);
 static esp_err_t system_event_eth_disconnected_handle_default(system_event_t *event);
+static esp_err_t system_event_eth_got_ip_default(system_event_t *event);
 
 /* Default event handler functions
 
@@ -124,11 +125,21 @@ esp_err_t system_event_eth_disconnected_handle_default(system_event_t *event)
     return ESP_OK;
 }
 
+static esp_err_t system_event_eth_got_ip_default(system_event_t *event)
+{
+    ESP_LOGI(TAG, "eth ip: " IPSTR ", mask: " IPSTR ", gw: " IPSTR,
+           IP2STR(&event->event_info.got_ip.ip_info.ip),
+           IP2STR(&event->event_info.got_ip.ip_info.netmask),
+           IP2STR(&event->event_info.got_ip.ip_info.gw));
+
+    return ESP_OK;
+}
+
 static esp_err_t system_event_sta_got_ip_default(system_event_t *event)
 {
     WIFI_API_CALL_CHECK("esp_wifi_internal_set_sta_ip", esp_wifi_internal_set_sta_ip(), ESP_OK);
 
-    ESP_LOGI(TAG, "ip: " IPSTR ", mask: " IPSTR ", gw: " IPSTR,
+    ESP_LOGI(TAG, "sta ip: " IPSTR ", mask: " IPSTR ", gw: " IPSTR,
            IP2STR(&event->event_info.got_ip.ip_info.ip),
            IP2STR(&event->event_info.got_ip.ip_info.netmask),
            IP2STR(&event->event_info.got_ip.ip_info.gw));
@@ -414,4 +425,5 @@ void esp_event_set_default_eth_handlers()
      default_event_handlers[SYSTEM_EVENT_ETH_STOP]            = system_event_eth_stop_handle_default;
      default_event_handlers[SYSTEM_EVENT_ETH_CONNECTED]       = system_event_eth_connected_handle_default;
      default_event_handlers[SYSTEM_EVENT_ETH_DISCONNECTED]    = system_event_eth_disconnected_handle_default;
+     default_event_handlers[SYSTEM_EVENT_ETH_GOT_IP]          = system_event_eth_got_ip_default;
 }
index 11d6d84b2a70a944904659bae70d28d55e49b87f..f7281bc4cb15bbc968fa67e9f51842f7167874a0 100644 (file)
@@ -11,7 +11,7 @@ config DMA_RX_BUF_NUM
         If enable flow ctrl, the num must be above 9 .
 
 config DMA_TX_BUF_NUM
-    int "Number of DMA RX buffers"
+    int "Number of DMA TX buffers"
     range 3 20
     default 10
     help
index 86fe8dbfb1631fde441c272a92437c7710011c31..394ad69c9c71dc23304e23086b88f3b4b49bd8e7 100644 (file)
@@ -756,8 +756,13 @@ static void tcpip_adapter_dhcpc_cb(struct netif *netif)
             ip4_addr_set(&ip_info->gw, ip_2_ip4(&netif->gw));
 
             //notify event
-            evt.event_id = SYSTEM_EVENT_STA_GOT_IP;
-            evt.event_info.got_ip.ip_changed = false;
+            if (tcpip_if == TCPIP_ADAPTER_IF_ETH) {
+                evt.event_id = SYSTEM_EVENT_ETH_GOT_IP;
+                evt.event_info.got_ip.ip_changed = true;
+            } else {
+                evt.event_id = SYSTEM_EVENT_STA_GOT_IP;
+                evt.event_info.got_ip.ip_changed = false;
+            }
 
             if (memcmp(ip_info, ip_info_old, sizeof(tcpip_adapter_ip_info_t))) {
                 evt.event_info.got_ip.ip_changed = true;