mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-07-15 00:21:26 +08:00
Merge branch 'feature/use_os_timer_instead_of_lwip_timer_list' into 'master'
feat(tcpip_adapter): use os timer instead of lwip timer list See merge request sdk/ESP8266_RTOS_SDK!317
This commit is contained in:
@ -72,6 +72,7 @@ void system_station_got_ip_set();
|
||||
|
||||
static int dhcp_fail_time;
|
||||
static tcpip_adapter_ip_info_t esp_ip[TCPIP_ADAPTER_IF_MAX];
|
||||
static os_timer_t dhcp_check_timer;
|
||||
|
||||
static void tcpip_adapter_dhcps_cb(u8_t client_ip[4])
|
||||
{
|
||||
@ -101,6 +102,7 @@ static void tcpip_adapter_dhcpc_done()
|
||||
{
|
||||
struct dhcp *clientdhcp = netif_dhcp_data(esp_netif[TCPIP_ADAPTER_IF_STA]) ;
|
||||
|
||||
os_timer_disarm(&dhcp_check_timer);
|
||||
if (netif_is_up(esp_netif[TCPIP_ADAPTER_IF_STA])) {
|
||||
if (clientdhcp->state == DHCP_STATE_BOUND) {
|
||||
/*send event here*/
|
||||
@ -110,7 +112,8 @@ static void tcpip_adapter_dhcpc_done()
|
||||
} else if (dhcp_fail_time < (CONFIG_IP_LOST_TIMER_INTERVAL * 1000 / 500)) {
|
||||
ESP_LOGD(TAG,"dhcpc time(ms): %d\n", dhcp_fail_time * 500);
|
||||
dhcp_fail_time ++;
|
||||
sys_timeout(500, tcpip_adapter_dhcpc_done, NULL);
|
||||
os_timer_setfn(&dhcp_check_timer, (os_timer_func_t*)tcpip_adapter_dhcpc_done, NULL);
|
||||
os_timer_arm(&dhcp_check_timer, 500, 0);
|
||||
} else {
|
||||
ESP_LOGD(TAG,"ERROR dhcp get ip error\n");
|
||||
}
|
||||
@ -958,7 +961,9 @@ esp_err_t tcpip_adapter_dhcpc_start(tcpip_adapter_if_t tcpip_if)
|
||||
return ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED;
|
||||
}
|
||||
|
||||
sys_timeout(500, tcpip_adapter_dhcpc_done, NULL);
|
||||
os_timer_disarm(&dhcp_check_timer);
|
||||
os_timer_setfn(&dhcp_check_timer, (os_timer_func_t*)tcpip_adapter_dhcpc_done, NULL);
|
||||
os_timer_arm(&dhcp_check_timer, 500, 0);
|
||||
ESP_LOGD(TAG, "dhcp client start successfully");
|
||||
dhcpc_status[tcpip_if] = TCPIP_ADAPTER_DHCP_STARTED;
|
||||
return ESP_OK;
|
||||
|
Reference in New Issue
Block a user