]> granicus.if.org Git - esp-idf/commitdiff
TW6785 - add sta auto connect api
authorliuzhifu <liuzhifu@espressif.com>
Tue, 30 Aug 2016 10:04:22 +0000 (18:04 +0800)
committerliuzhifu <liuzhifu@espressif.com>
Tue, 30 Aug 2016 10:04:22 +0000 (18:04 +0800)
components/esp32/include/esp_wifi.h
components/esp32/wifi.c

index 827dfb50d27fc9ac9066bcfc47916b2b79c89ab2..c1c84fb359b823072831503b7dc8d9a8c064be65 100755 (executable)
@@ -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
index e617ee756654ebd85f603878a3ba74ff1ac2a8a1..5ac3c990b8ccabfd6c56ee8d29ba5575d2c4d986 100644 (file)
@@ -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);