]> granicus.if.org Git - esp-idf/commitdiff
fix the esp_wifi_disconnect() err when wifi is not started or inited
authorzhangyanjiao <zhangyanjiao@espressif.com>
Tue, 28 Aug 2018 12:16:17 +0000 (20:16 +0800)
committerzhangyanjiao <zhangyanjiao@espressif.com>
Fri, 31 Aug 2018 02:49:52 +0000 (10:49 +0800)
Closes: https://github.com/espressif/esp-idf/issues/2336
components/esp32/include/esp_err.h
components/esp32/include/esp_wifi.h
components/esp32/lib
components/esp32/test/test_esp32.c

index d8820e5ae1a40a911d7d1a1f95abda42fa968421..9dcb25af6e6a953f2e4c025b9d10a26e423b60c6 100644 (file)
@@ -27,20 +27,20 @@ typedef int32_t esp_err_t;
 #define ESP_OK          0       /*!< esp_err_t value indicating success (no error) */
 #define ESP_FAIL        -1      /*!< Generic esp_err_t code indicating failure */
 
-#define ESP_ERR_NO_MEM          0x101   /*!< Out of memory */
-#define ESP_ERR_INVALID_ARG     0x102   /*!< Invalid argument */
-#define ESP_ERR_INVALID_STATE   0x103   /*!< Invalid state */
-#define ESP_ERR_INVALID_SIZE    0x104   /*!< Invalid size */
-#define ESP_ERR_NOT_FOUND       0x105   /*!< Requested resource not found */
-#define ESP_ERR_NOT_SUPPORTED   0x106   /*!< Operation or feature not supported */
-#define ESP_ERR_TIMEOUT         0x107   /*!< Operation timed out */
+#define ESP_ERR_NO_MEM              0x101   /*!< Out of memory */
+#define ESP_ERR_INVALID_ARG         0x102   /*!< Invalid argument */
+#define ESP_ERR_INVALID_STATE       0x103   /*!< Invalid state */
+#define ESP_ERR_INVALID_SIZE        0x104   /*!< Invalid size */
+#define ESP_ERR_NOT_FOUND           0x105   /*!< Requested resource not found */
+#define ESP_ERR_NOT_SUPPORTED       0x106   /*!< Operation or feature not supported */
+#define ESP_ERR_TIMEOUT             0x107   /*!< Operation timed out */
 #define ESP_ERR_INVALID_RESPONSE    0x108   /*!< Received response was invalid */
-#define ESP_ERR_INVALID_CRC     0x109   /*!< CRC or checksum was invalid */
+#define ESP_ERR_INVALID_CRC         0x109   /*!< CRC or checksum was invalid */
 #define ESP_ERR_INVALID_VERSION     0x10A   /*!< Version was invalid */
-#define ESP_ERR_INVALID_MAC     0x10B   /*!< MAC address was invalid */
+#define ESP_ERR_INVALID_MAC         0x10B   /*!< MAC address was invalid */
 
-#define ESP_ERR_WIFI_BASE       0x3000 /*!< Starting number of WiFi error codes */
-#define ESP_ERR_MESH_BASE       0x4000 /*!< Starting number of MESH error codes */
+#define ESP_ERR_WIFI_BASE           0x3000  /*!< Starting number of WiFi error codes */
+#define ESP_ERR_MESH_BASE           0x4000  /*!< Starting number of MESH error codes */
 
 /**
   * @brief Returns string for esp_err_t error codes
index 04b999803e72ffa1a47811d84d719a6733f1c1a9..66ccdcdd086ca962b23d429316a3c98c14abd6ef 100644 (file)
@@ -223,7 +223,9 @@ esp_err_t esp_wifi_init(const wifi_init_config_t *config);
   *
   * @attention 1. This API should be called if you want to remove WiFi driver from the system
   *
-  * @return ESP_OK: succeed
+  * @return 
+  *    - ESP_OK: succeed
+  *    - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init
   */
 esp_err_t esp_wifi_deinit(void);
 
index 1373c2075a9524437cbb4bdfd8576dedb77c68a2..ea4bb37b0f3df868608295cf6a5c08a0585a3881 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 1373c2075a9524437cbb4bdfd8576dedb77c68a2
+Subproject commit ea4bb37b0f3df868608295cf6a5c08a0585a3881
index cdca805df40692fda22c73466167ecd6df591744..82e24b12cdebd3bd77cf3b80b319e1b023d9e7f6 100644 (file)
@@ -6,6 +6,7 @@
 #include "esp_system.h"
 #include "esp_event_loop.h"
 #include "esp_wifi.h"
+#include "esp_wifi_types.h"
 #include "esp_log.h"
 #include "nvs_flash.h"
 
@@ -42,6 +43,11 @@ static esp_err_t event_handler(void *ctx, system_event_t *event)
 
 static void test_wifi_init_deinit(wifi_init_config_t *cfg, wifi_config_t* wifi_config)
 {
+    ESP_LOGI(TAG, EMPH_STR("esp_wifi_deinit"));
+    TEST_ESP_ERR(ESP_ERR_WIFI_NOT_INIT, esp_wifi_deinit());
+    ESP_LOGI(TAG, EMPH_STR("esp_wifi_get_mode"));
+    wifi_mode_t mode_get;
+    TEST_ESP_ERR(ESP_ERR_WIFI_NOT_INIT, esp_wifi_get_mode(&mode_get));
     ESP_LOGI(TAG, EMPH_STR("esp_wifi_init"));
     TEST_ESP_OK(esp_wifi_init(cfg));
     ESP_LOGI(TAG, EMPH_STR("esp_wifi_set_mode"));
@@ -54,6 +60,8 @@ static void test_wifi_init_deinit(wifi_init_config_t *cfg, wifi_config_t* wifi_c
 
 static void test_wifi_start_stop(wifi_init_config_t *cfg, wifi_config_t* wifi_config)
 {
+    ESP_LOGI(TAG, EMPH_STR("esp_wifi_stop"));
+    TEST_ESP_ERR(ESP_ERR_WIFI_NOT_INIT, esp_wifi_stop());
     ESP_LOGI(TAG, EMPH_STR("esp_wifi_init"));
     TEST_ESP_OK(esp_wifi_init(cfg));
     ESP_LOGI(TAG, EMPH_STR("esp_wifi_set_mode"));