Просмотр исходного кода

Merge branch 'bugfix/fix_some_wifi_bugs_0703_v3.3' into 'release/v3.3'

fix some wifi bugs 0703 (v3.3)

See merge request espressif/esp-idf!9537
Jiang Jiang Jian 5 лет назад
Родитель
Сommit
b2b47b4465

+ 1 - 1
components/esp32/esp_adapter.c

@@ -555,7 +555,7 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
     ._task_get_max_priority = task_get_max_priority_wrapper,
     ._malloc = malloc,
     ._free = free,
-    ._get_free_heap_size = esp_get_free_heap_size,
+    ._get_free_heap_size = esp_get_free_internal_heap_size,
     ._rand = esp_random,
     ._dport_access_stall_other_cpu_start_wrap = esp_dport_access_stall_other_cpu_start_wrap,
     ._dport_access_stall_other_cpu_end_wrap = esp_dport_access_stall_other_cpu_end_wrap,

+ 10 - 0
components/esp32/include/esp_system.h

@@ -130,6 +130,16 @@ uint32_t system_get_time(void)  __attribute__ ((deprecated));
   */
 uint32_t esp_get_free_heap_size(void);
 
+/**
+ * @brief  Get the size of available internal heap.
+ *
+ * Note that the returned value may be larger than the maximum contiguous block
+ * which can be allocated.
+ *
+ * @return Available internal heap size, in bytes.
+ */
+uint32_t esp_get_free_internal_heap_size(void);
+
 /** @cond */
 /**
   * @brief  Get the size of available heap.

+ 1 - 0
components/esp32/include/esp_wifi_types.h

@@ -93,6 +93,7 @@ typedef enum {
     WIFI_REASON_ASSOC_FAIL               = 203,
     WIFI_REASON_HANDSHAKE_TIMEOUT        = 204,
     WIFI_REASON_CONNECTION_FAIL          = 205,
+    WIFI_REASON_AP_TSF_RESET             = 206,
 } wifi_err_reason_t;
 
 typedef enum {

+ 1 - 1
components/esp32/lib

@@ -1 +1 @@
-Subproject commit d615eeaadf55960eee64f44ca53fe0d50813dda1
+Subproject commit d376d65d84f363418db58d8a78545b73ffb91de7

+ 5 - 0
components/esp32/system_api.c

@@ -338,6 +338,11 @@ uint32_t esp_get_free_heap_size( void )
     return heap_caps_get_free_size( MALLOC_CAP_DEFAULT );
 }
 
+uint32_t esp_get_free_internal_heap_size( void )
+{
+    return heap_caps_get_free_size( MALLOC_CAP_8BIT | MALLOC_CAP_DMA | MALLOC_CAP_INTERNAL );
+}
+
 uint32_t esp_get_minimum_free_heap_size( void )
 {
     return heap_caps_get_minimum_free_size( MALLOC_CAP_DEFAULT );