From c9e7a04a9e04b7c76826ff8124b8a1293b84c1e4 Mon Sep 17 00:00:00 2001 From: xiehang Date: Tue, 10 Mar 2020 20:01:39 +0800 Subject: [PATCH] Update wifi lib 1. Add wifi stop check at wifi deinit entry. 2. Add TX packets size check. 3. Reduce wifi bin size. 4. Fix the bug for setting channel when wifi in NULL mode. 5. Place the Vendor Specific element at the end according to the protocol. 6. Coex adjust scheme when bt is in connnected status. --- components/esp32/esp_adapter.c | 1 + components/esp32/include/esp_wifi_os_adapter.h | 1 + components/esp32/include/esp_wifi_types.h | 2 +- components/esp32/lib | 2 +- components/log/include/esp_log.h | 9 +++++++++ components/log/log.c | 14 +++++++++++--- 6 files changed, 24 insertions(+), 5 deletions(-) diff --git a/components/esp32/esp_adapter.c b/components/esp32/esp_adapter.c index c300fa09c..ce1d1846a 100644 --- a/components/esp32/esp_adapter.c +++ b/components/esp32/esp_adapter.c @@ -588,6 +588,7 @@ wifi_osi_funcs_t g_wifi_osi_funcs = { ._get_time = get_time_wrapper, ._random = os_random, ._log_write = esp_log_write, + ._log_writev = esp_log_writev, ._log_timestamp = esp_log_timestamp, ._malloc_internal = malloc_internal_wrapper, ._realloc_internal = realloc_internal_wrapper, diff --git a/components/esp32/include/esp_wifi_os_adapter.h b/components/esp32/include/esp_wifi_os_adapter.h index 89778661a..666c44d92 100644 --- a/components/esp32/include/esp_wifi_os_adapter.h +++ b/components/esp32/include/esp_wifi_os_adapter.h @@ -105,6 +105,7 @@ typedef struct { int32_t (* _get_time)(void *t); unsigned long (* _random)(void); void (* _log_write)(uint32_t level, const char* tag, const char* format, ...); + void (* _log_writev)(uint32_t level, const char* tag, const char* format, va_list args); uint32_t (* _log_timestamp)(void); void * (* _malloc_internal)(size_t size); void * (* _realloc_internal)(void *ptr, size_t size); diff --git a/components/esp32/include/esp_wifi_types.h b/components/esp32/include/esp_wifi_types.h index 3f6eccde0..2f50da3c5 100644 --- a/components/esp32/include/esp_wifi_types.h +++ b/components/esp32/include/esp_wifi_types.h @@ -214,7 +214,7 @@ typedef struct { uint8_t channel; /**< Channel of ESP32 soft-AP */ wifi_auth_mode_t authmode; /**< Auth mode of ESP32 soft-AP. Do not support AUTH_WEP in soft-AP mode */ uint8_t ssid_hidden; /**< Broadcast SSID or not, default 0, broadcast the SSID */ - uint8_t max_connection; /**< Max number of stations allowed to connect in, default 4, max 4 */ + uint8_t max_connection; /**< Max number of stations allowed to connect in, default 4, max 10 */ uint16_t beacon_interval; /**< Beacon interval, 100 ~ 60000 ms, default 100 ms */ } wifi_ap_config_t; diff --git a/components/esp32/lib b/components/esp32/lib index 3875c4151..b7749ef26 160000 --- a/components/esp32/lib +++ b/components/esp32/lib @@ -1 +1 @@ -Subproject commit 3875c415108573d7067efb64c51b1ceb39f764f6 +Subproject commit b7749ef26a3d3179a2f5f4b2fa9c53025c450b3b diff --git a/components/log/include/esp_log.h b/components/log/include/esp_log.h index e57aabbdd..8616c5610 100644 --- a/components/log/include/esp_log.h +++ b/components/log/include/esp_log.h @@ -108,6 +108,15 @@ void esp_log_write(esp_log_level_t level, const char* tag, const char* format, . /** @cond */ +/** + * @brief Write message into the log, va_list variant + * @see esp_log_write() + * + * This function is provided to ease integration toward other logging framework, + * so that esp_log can be used as a log sink. + */ +void esp_log_writev(esp_log_level_t level, const char* tag, const char* format, va_list args); + #include "esp_log_internal.h" #ifndef LOG_LOCAL_LEVEL diff --git a/components/log/log.c b/components/log/log.c index d0304a308..bdc558d07 100644 --- a/components/log/log.c +++ b/components/log/log.c @@ -184,9 +184,10 @@ void clear_log_level_list() #endif } -void IRAM_ATTR esp_log_write(esp_log_level_t level, +void IRAM_ATTR esp_log_writev(esp_log_level_t level, const char* tag, - const char* format, ...) + const char* format, + va_list args) { if (!s_log_mutex) { s_log_mutex = xSemaphoreCreateMutex(); @@ -210,9 +211,16 @@ void IRAM_ATTR esp_log_write(esp_log_level_t level, return; } + (*s_log_print_func)(format, args); +} + +void esp_log_write(esp_log_level_t level, + const char *tag, + const char *format, ...) +{ va_list list; va_start(list, format); - (*s_log_print_func)(format, list); + esp_log_writev(level, tag, format, list); va_end(list); }