mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 19:24:33 +02:00
Merge branch 'bugfix/backport_some_wifi_bugs_0323_v4.0' into 'release/v4.0'
esp_wifi: Backport some wifi bugs 0323 (backport v4.0) See merge request espressif/esp-idf!8087
This commit is contained in:
@@ -588,6 +588,7 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._get_time = get_time_wrapper,
|
._get_time = get_time_wrapper,
|
||||||
._random = os_random,
|
._random = os_random,
|
||||||
._log_write = esp_log_write,
|
._log_write = esp_log_write,
|
||||||
|
._log_writev = esp_log_writev,
|
||||||
._log_timestamp = esp_log_timestamp,
|
._log_timestamp = esp_log_timestamp,
|
||||||
._malloc_internal = malloc_internal_wrapper,
|
._malloc_internal = malloc_internal_wrapper,
|
||||||
._realloc_internal = realloc_internal_wrapper,
|
._realloc_internal = realloc_internal_wrapper,
|
||||||
|
@@ -106,6 +106,7 @@ typedef struct {
|
|||||||
int32_t (* _get_time)(void *t);
|
int32_t (* _get_time)(void *t);
|
||||||
unsigned long (* _random)(void);
|
unsigned long (* _random)(void);
|
||||||
void (* _log_write)(uint32_t level, const char* tag, const char* format, ...);
|
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);
|
uint32_t (* _log_timestamp)(void);
|
||||||
void * (* _malloc_internal)(size_t size);
|
void * (* _malloc_internal)(size_t size);
|
||||||
void * (* _realloc_internal)(void *ptr, size_t size);
|
void * (* _realloc_internal)(void *ptr, size_t size);
|
||||||
|
@@ -207,7 +207,7 @@ typedef struct {
|
|||||||
uint8_t channel; /**< Channel of ESP32 soft-AP */
|
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 */
|
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 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 */
|
uint16_t beacon_interval; /**< Beacon interval, 100 ~ 60000 ms, default 100 ms */
|
||||||
} wifi_ap_config_t;
|
} wifi_ap_config_t;
|
||||||
|
|
||||||
|
Submodule components/esp_wifi/lib_esp32 updated: 11a7716888...674f73c44a
@@ -104,6 +104,7 @@ esp_err_t esp_wifi_deinit(void)
|
|||||||
err = esp_wifi_deinit_internal();
|
err = esp_wifi_deinit_internal();
|
||||||
if (err != ESP_OK) {
|
if (err != ESP_OK) {
|
||||||
ESP_LOGE(TAG, "Failed to deinit Wi-Fi driver (0x%x)", err);
|
ESP_LOGE(TAG, "Failed to deinit Wi-Fi driver (0x%x)", err);
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
tcpip_adapter_clear_default_wifi_handlers();
|
tcpip_adapter_clear_default_wifi_handlers();
|
||||||
|
@@ -78,7 +78,7 @@ test cases:
|
|||||||
- - SSC SSC2 sta -C -s <target_ssid>
|
- - SSC SSC2 sta -C -s <target_ssid>
|
||||||
- - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
|
- - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
|
||||||
- - SSC SSC1 ap -S -s <target_ssid> -n 15
|
- - SSC SSC1 ap -S -s <target_ssid> -n 15
|
||||||
- - R SSC1 C +SAP:OK
|
- - R SSC1 C +SAP:ERROR
|
||||||
- - SSC SSC2 sta -C -s <target_ssid>
|
- - SSC SSC2 sta -C -s <target_ssid>
|
||||||
- - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
|
- - R SSC2 RE "\+JAP:CONNECTED,%%s"%%(<target_ssid>)
|
||||||
- - SSC SSC2 sta -D
|
- - SSC SSC2 sta -D
|
||||||
|
@@ -106,6 +106,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)));
|
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 */
|
/** @cond */
|
||||||
|
|
||||||
#include "esp_log_internal.h"
|
#include "esp_log_internal.h"
|
||||||
|
@@ -186,9 +186,10 @@ void clear_log_level_list()
|
|||||||
#endif
|
#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* tag,
|
||||||
const char* format, ...)
|
const char* format,
|
||||||
|
va_list args)
|
||||||
{
|
{
|
||||||
if (!s_log_mutex) {
|
if (!s_log_mutex) {
|
||||||
s_log_mutex = xSemaphoreCreateMutex();
|
s_log_mutex = xSemaphoreCreateMutex();
|
||||||
@@ -212,9 +213,16 @@ void IRAM_ATTR esp_log_write(esp_log_level_t level,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(*s_log_print_func)(format, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
void IRAM_ATTR esp_log_write(esp_log_level_t level,
|
||||||
|
const char* tag,
|
||||||
|
const char* format, ...)
|
||||||
|
{
|
||||||
va_list list;
|
va_list list;
|
||||||
va_start(list, format);
|
va_start(list, format);
|
||||||
(*s_log_print_func)(format, list);
|
esp_log_writev(level, tag, format, list);
|
||||||
va_end(list);
|
va_end(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user