From 7569e34e8989ca38564cae17e7249221856cfa18 Mon Sep 17 00:00:00 2001 From: xiehang Date: Wed, 26 Feb 2020 11:52:20 +0800 Subject: [PATCH] esp_wifi: Reduce Bin size 1. Disable WiFi API parameter checking log 2. Optimize wifi log --- components/esp_wifi/esp32/esp_adapter.c | 1 + .../include/esp_private/wifi_os_adapter.h | 1 + components/esp_wifi/include/esp_wifi_types.h | 2 +- components/esp_wifi/lib | 2 +- components/log/include/esp_log.h | 9 +++++++++ components/log/log.c | 15 ++++++++++++--- 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/components/esp_wifi/esp32/esp_adapter.c b/components/esp_wifi/esp32/esp_adapter.c index 010fde884..74f900ed4 100644 --- a/components/esp_wifi/esp32/esp_adapter.c +++ b/components/esp_wifi/esp32/esp_adapter.c @@ -616,6 +616,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/esp_wifi/include/esp_private/wifi_os_adapter.h b/components/esp_wifi/include/esp_private/wifi_os_adapter.h index dd3f88447..f005b315b 100644 --- a/components/esp_wifi/include/esp_private/wifi_os_adapter.h +++ b/components/esp_wifi/include/esp_private/wifi_os_adapter.h @@ -113,6 +113,7 @@ typedef struct { uint32_t (* _slowclk_cal_get)(void); #endif 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/esp_wifi/include/esp_wifi_types.h b/components/esp_wifi/include/esp_wifi_types.h index 73df72faf..19d4e5dd2 100644 --- a/components/esp_wifi/include/esp_wifi_types.h +++ b/components/esp_wifi/include/esp_wifi_types.h @@ -217,7 +217,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/esp_wifi/lib b/components/esp_wifi/lib index 662585ad4..f0b17693e 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit 662585ad48bbcad01b757fab63ba9adbb0020f57 +Subproject commit f0b17693e953c084ceb9f8ce0dfced2c0daf6b4c diff --git a/components/log/include/esp_log.h b/components/log/include/esp_log.h index 858284ffb..7128ee785 100644 --- a/components/log/include/esp_log.h +++ b/components/log/include/esp_log.h @@ -125,6 +125,15 @@ uint32_t esp_log_early_timestamp(void); */ void esp_log_write(esp_log_level_t level, const char* tag, const char* format, ...) __attribute__ ((format (printf, 3, 4))); +/** + * @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); + /** @cond */ #include "esp_log_internal.h" diff --git a/components/log/log.c b/components/log/log.c index 289fdf3dc..3de014619 100644 --- a/components/log/log.c +++ b/components/log/log.c @@ -162,9 +162,10 @@ void clear_log_level_list(void) #endif } -void esp_log_write(esp_log_level_t level, +void esp_log_writev(esp_log_level_t level, const char *tag, - const char *format, ...) + const char *format, + va_list args) { if (!esp_log_impl_lock_timeout()) { return; @@ -185,9 +186,17 @@ void 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); }