From 85ca89ee4a8afdf6aace0186ded9804a3ea65033 Mon Sep 17 00:00:00 2001 From: zhangyanjiao Date: Wed, 8 Jul 2020 20:44:42 +0800 Subject: [PATCH 1/2] esp_wifi: Add API to get available internal heap size --- components/esp32/esp_adapter.c | 2 +- components/esp32/include/esp_system.h | 10 ++++++++++ components/esp32/system_api.c | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/components/esp32/esp_adapter.c b/components/esp32/esp_adapter.c index ce1d1846aa..915666b3db 100644 --- a/components/esp32/esp_adapter.c +++ b/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, diff --git a/components/esp32/include/esp_system.h b/components/esp32/include/esp_system.h index 1a51999d35..845ba6076f 100644 --- a/components/esp32/include/esp_system.h +++ b/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. diff --git a/components/esp32/system_api.c b/components/esp32/system_api.c index 0dc168378e..9f830e9da7 100644 --- a/components/esp32/system_api.c +++ b/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 ); From 09113e163b0462f6d348d62167848ad49de391c9 Mon Sep 17 00:00:00 2001 From: zhangyanjiao Date: Wed, 26 Aug 2020 10:39:23 +0800 Subject: [PATCH 2/2] esp wifi bugfix: 1. Fix TX DMA buffer issue 2. API esp_wifi_get_config add acquisition sta.listen_interval 3. Configure bandwidth and phy mode to store NVS 4. If AP's tsf has been restarted, STA will disconnect from AP. 5. Do not reset softAP's tsf except it restart 6. Fix the wifi regdomain update bug 7. Fix the bug for airkiss find hidden AP fail 8. Fix addba and first ampdu send bar 9. Fix WiFi fragment issue 10. Fix WiFi fragment issue --- components/esp32/include/esp_wifi_types.h | 1 + components/esp32/lib | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/components/esp32/include/esp_wifi_types.h b/components/esp32/include/esp_wifi_types.h index c838c3eefa..f7786f5a02 100644 --- a/components/esp32/include/esp_wifi_types.h +++ b/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 { diff --git a/components/esp32/lib b/components/esp32/lib index d615eeaadf..d376d65d84 160000 --- a/components/esp32/lib +++ b/components/esp32/lib @@ -1 +1 @@ -Subproject commit d615eeaadf55960eee64f44ca53fe0d50813dda1 +Subproject commit d376d65d84f363418db58d8a78545b73ffb91de7