From 5068ff2be86f480080dbc57e9257ca94f3b8ea35 Mon Sep 17 00:00:00 2001 From: liuzhifu Date: Tue, 30 Aug 2016 18:04:22 +0800 Subject: [PATCH 1/3] TW6785 - add sta auto connect api --- components/esp32/include/esp_wifi.h | 4 ++++ components/esp32/wifi.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/components/esp32/include/esp_wifi.h b/components/esp32/include/esp_wifi.h index 827dfb50d2..c1c84fb359 100755 --- a/components/esp32/include/esp_wifi.h +++ b/components/esp32/include/esp_wifi.h @@ -234,6 +234,10 @@ typedef esp_err_t (*wifi_rxcb_t)(void *buffer, uint16_t len, void* eb); esp_err_t esp_wifi_reg_rxcb(wifi_interface_t ifx, wifi_rxcb_t fn); +esp_err_t esp_wifi_set_auto_connect(bool en); + +esp_err_t esp_wifi_get_auto_connect(bool *en); + #ifdef __cplusplus } #endif diff --git a/components/esp32/wifi.c b/components/esp32/wifi.c index e617ee7566..5ac3c990b8 100644 --- a/components/esp32/wifi.c +++ b/components/esp32/wifi.c @@ -69,12 +69,14 @@ static void esp_wifi_task(void *pvParameters) #if CONFIG_WIFI_AUTO_CONNECT wifi_mode_t mode; + bool auto_connect; err = esp_wifi_get_mode(&mode); if (err != ESP_OK){ WIFI_DEBUG("esp_wifi_get_mode fail, ret=%d\n", err); } - if (mode == WIFI_MODE_STA || mode == WIFI_MODE_APSTA) { + err = esp_wifi_get_auto_connect(&auto_connect); + if ((mode == WIFI_MODE_STA || mode == WIFI_MODE_APSTA) && auto_connect) { err = esp_wifi_connect(); if (err != ESP_OK) { WIFI_DEBUG("esp_wifi_connect fail, ret=%d\n", err); From 68bc7b447669c3d522215d45fa8316bee60ef90e Mon Sep 17 00:00:00 2001 From: liuzhifu Date: Tue, 30 Aug 2016 18:05:32 +0800 Subject: [PATCH 2/3] set sta gotip default event handler --- components/esp32/event.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/esp32/event.c b/components/esp32/event.c index b3ff0a59cb..737a8a604c 100644 --- a/components/esp32/event.c +++ b/components/esp32/event.c @@ -64,7 +64,7 @@ static system_event_handle_t g_system_event_handle_table[] = { {SYSTEM_EVENT_STA_CONNECTED, system_event_sta_connected_handle_default}, {SYSTEM_EVENT_STA_DISCONNECTED, system_event_sta_disconnected_handle_default}, {SYSTEM_EVENT_STA_AUTHMODE_CHANGE, NULL}, - {SYSTEM_EVENT_STA_GOTIP, NULL}, + {SYSTEM_EVENT_STA_GOTIP, system_event_sta_gotip_default}, {SYSTEM_EVENT_AP_START, system_event_ap_start_handle_default}, {SYSTEM_EVENT_AP_STOP, system_event_ap_stop_handle_default}, {SYSTEM_EVENT_AP_STACONNECTED, NULL}, From 77caf256c66a64dc6d8d1296205aa38f5f90210c Mon Sep 17 00:00:00 2001 From: liuzhifu Date: Tue, 30 Aug 2016 18:06:37 +0800 Subject: [PATCH 3/3] components: lwip - enable PERF macro for debug reason --- components/lwip/api/tcpip.c | 2 +- components/lwip/include/lwip/port/lwipopts.h | 1 + components/lwip/port/netif/wlanif.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/components/lwip/api/tcpip.c b/components/lwip/api/tcpip.c index f0c4c476e7..9df3c38a1d 100755 --- a/components/lwip/api/tcpip.c +++ b/components/lwip/api/tcpip.c @@ -62,7 +62,7 @@ static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; /* global variables */ #ifdef PERF -uint32 g_rx_post_mbox_fail_cnt = 0; +uint32_t g_rx_post_mbox_fail_cnt = 0; #endif static tcpip_init_done_fn tcpip_init_done; static void *tcpip_init_done_arg; diff --git a/components/lwip/include/lwip/port/lwipopts.h b/components/lwip/include/lwip/port/lwipopts.h index c819b8d889..122fea3157 100755 --- a/components/lwip/include/lwip/port/lwipopts.h +++ b/components/lwip/include/lwip/port/lwipopts.h @@ -221,6 +221,7 @@ extern unsigned long os_random(void); * TCP_WND: The size of a TCP window. This must be at least * (2 * TCP_MSS) for things to work well */ +#define PERF 1 #ifdef PERF extern unsigned char misc_prof_get_tcpw(void); extern unsigned char misc_prof_get_tcp_snd_buf(void); diff --git a/components/lwip/port/netif/wlanif.c b/components/lwip/port/netif/wlanif.c index 0b87656c8b..9832c41aff 100755 --- a/components/lwip/port/netif/wlanif.c +++ b/components/lwip/port/netif/wlanif.c @@ -66,7 +66,7 @@ static char hostname[16]; static char hostname[16]; #endif #ifdef PERF -uint32 g_rx_alloc_pbuf_fail_cnt = 0; +uint32_t g_rx_alloc_pbuf_fail_cnt = 0; #endif /**