Explorar o código

TW6785 - add sta auto connect api

liuzhifu %!s(int64=9) %!d(string=hai) anos
pai
achega
5068ff2be8
Modificáronse 2 ficheiros con 7 adicións e 1 borrados
  1. 4 0
      components/esp32/include/esp_wifi.h
  2. 3 1
      components/esp32/wifi.c

+ 4 - 0
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

+ 3 - 1
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);