tcpip_adapter: clean up dhcpc status
only auto start dhcpc in init status
This commit is contained in:
parent
f81535a840
commit
cb33a0fb9b
|
@ -116,10 +116,17 @@ esp_err_t system_event_sta_stop_handle_default(system_event_t *event)
|
||||||
|
|
||||||
esp_err_t system_event_sta_connected_handle_default(system_event_t *event)
|
esp_err_t system_event_sta_connected_handle_default(system_event_t *event)
|
||||||
{
|
{
|
||||||
|
tcpip_adapter_dhcp_status_t status;
|
||||||
|
|
||||||
WIFI_API_CALL_CHECK("esp_wifi_reg_rxcb", esp_wifi_reg_rxcb(WIFI_IF_STA, (wifi_rxcb_t)tcpip_adapter_sta_input), ESP_OK);
|
WIFI_API_CALL_CHECK("esp_wifi_reg_rxcb", esp_wifi_reg_rxcb(WIFI_IF_STA, (wifi_rxcb_t)tcpip_adapter_sta_input), ESP_OK);
|
||||||
|
|
||||||
tcpip_adapter_up(TCPIP_ADAPTER_IF_STA);
|
tcpip_adapter_up(TCPIP_ADAPTER_IF_STA);
|
||||||
tcpip_adapter_dhcpc_start(TCPIP_ADAPTER_IF_STA);
|
|
||||||
|
tcpip_adapter_dhcpc_get_status(TCPIP_ADAPTER_IF_STA, &status);
|
||||||
|
|
||||||
|
if (status == TCPIP_ADAPTER_DHCP_INIT) {
|
||||||
|
tcpip_adapter_dhcpc_start(TCPIP_ADAPTER_IF_STA);
|
||||||
|
}
|
||||||
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,7 +147,10 @@ esp_err_t tcpip_adapter_down(tcpip_adapter_if_t tcpip_if)
|
||||||
dhcp_release(esp_netif[tcpip_if]);
|
dhcp_release(esp_netif[tcpip_if]);
|
||||||
dhcp_stop(esp_netif[tcpip_if]);
|
dhcp_stop(esp_netif[tcpip_if]);
|
||||||
dhcp_cleanup(esp_netif[tcpip_if]);
|
dhcp_cleanup(esp_netif[tcpip_if]);
|
||||||
dhcpc_status = TCPIP_ADAPTER_DHCP_STOPED;
|
|
||||||
|
if (dhcpc_status != TCPIP_ADAPTER_DHCP_STOPED) {
|
||||||
|
dhcpc_status = TCPIP_ADAPTER_DHCP_INIT;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
netif_set_down(esp_netif[tcpip_if]);
|
netif_set_down(esp_netif[tcpip_if]);
|
||||||
netif_set_addr(esp_netif[tcpip_if], IP4_ADDR_ANY, IP4_ADDR_ANY, IP4_ADDR_ANY);
|
netif_set_addr(esp_netif[tcpip_if], IP4_ADDR_ANY, IP4_ADDR_ANY, IP4_ADDR_ANY);
|
||||||
|
|
Loading…
Reference in a new issue