Merge branch 'bugfix/fix_some_wifi_bugs_v5.2' into 'release/v5.2'

fix(wifi): fixed sniffer and espnow issue (v5.2)

See merge request espressif/esp-idf!31212
This commit is contained in:
Jiang Jiang Jian
2024-06-05 19:23:51 +08:00
4 changed files with 13 additions and 9 deletions

View File

@ -1730,7 +1730,7 @@ hal_sniffer_enable = 0x40001eec;
hal_sniffer_disable = 0x40001ef0;
/*hal_sniffer_rx_set_promis = 0x40001ef4;*/
hal_sniffer_rx_clr_statistics = 0x40001ef8;
hal_sniffer_set_promis_misc_pkt = 0x40001efc;
/*hal_sniffer_set_promis_misc_pkt = 0x40001efc;*/
tsf_hal_set_tsf_enable = 0x40001f00;
tsf_hal_set_tsf_disable = 0x40001f04;
tsf_hal_is_tsf_enabled = 0x40001f08;

View File

@ -31,7 +31,7 @@ rcUpdateTxDone = 0x4000177c;
wDevCheckBlockError = 0x400017b4;
/* wDev_IndicateFrame = 0x400017c8;*/
wDev_ProcessFiq = 0x400017f0;
wDev_ProcessRxSucData = 0x400017f4;
/*wDev_ProcessRxSucData = 0x400017f4;*/
/*ppProcTxDone = 0x40001804;*/
pm_tx_data_done_process = 0x40001808;
ppMapWaitTxq = 0x40001810;

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -141,7 +141,7 @@ extern "C" {
#define MESH_ASSOC_FLAG_STA_VOTED (0x04) /**< station vote done, set when connect to router */
#define MESH_ASSOC_FLAG_NETWORK_FREE (0x08) /**< no root in current network */
#define MESH_ASSOC_FLAG_STA_VOTE_EXPIRE (0x10) /**< the voted address is expired, means the voted device lose the chance to be root */
#define MESH_ASSOC_FLAG_ROOTS_FOUND (0x20) /**< roots conflict is found, means that thre are at least two roots in the mesh network */
#define MESH_ASSOC_FLAG_ROOTS_FOUND (0x20) /**< roots conflict is found, means that there are at least two roots in the mesh network */
#define MESH_ASSOC_FLAG_ROOT_FIXED (0x40) /**< the root is fixed in the mesh network */
@ -217,7 +217,7 @@ typedef enum {
MESH_ROOT, /**< the only sink of the mesh network. Has the ability to access external IP network */
MESH_NODE, /**< intermediate device. Has the ability to forward packets over the mesh network */
MESH_LEAF, /**< has no forwarding ability */
MESH_STA, /**< connect to router with a standlone Wi-Fi station mode, no network expansion capability */
MESH_STA, /**< connect to router with a standalone Wi-Fi station mode, no network expansion capability */
} mesh_type_t;
/**
@ -643,14 +643,16 @@ esp_err_t esp_mesh_stop(void);
* - Field size should not exceed MESH_MPS. Note that the size of one mesh packet should not exceed MESH_MTU.
* - Field proto should be set to data protocol in use (default is MESH_PROTO_BIN for binary).
* - Field tos should be set to transmission tos (type of service) in use (default is MESH_TOS_P2P for point-to-point reliable).
* - If the packet is to the root, MESH_TOS_P2P must be set to ensure reliable transmission.
* - As long as the MESH_TOS_P2P is set, the API is blocking, even if the flag is set with MESH_DATA_NONBLOCK.
* - As long as the MESH_TOS_DEF is set, the API is non-blocking.
* @param[in] flag bitmap for data sent
* - Flag is at least one of the three MESH_DATA_P2P/MESH_DATA_FROMDS/MESH_DATA_TODS, which represents the direction of packet sending.
* - Speed up the route search
* - If the packet is to the root and "to" parameter is NULL, set this parameter to 0.
* - If the packet is to an internal device, MESH_DATA_P2P should be set.
* - If the packet is to the root ("to" parameter isn't NULL) or to external IP network, MESH_DATA_TODS should be set.
* - If the packet is from the root to an internal device, MESH_DATA_FROMDS should be set.
* - Specify whether this API is block or non-block, block by default
* - If needs non-blocking, MESH_DATA_NONBLOCK should be set. Otherwise, may use esp_mesh_send_block_time() to specify a blocking time.
* - Specify whether this API is blocking or non-blocking, blocking by default.
* - In the situation of the root change, MESH_DATA_DROP identifies this packet can be dropped by the new root
* for upstream data to external IP network, we try our best to avoid data loss caused by the root change, but
* there is a risk that the new root is running out of memory because most of memory is occupied by the pending data which
@ -685,6 +687,7 @@ esp_err_t esp_mesh_send(const mesh_addr_t *to, const mesh_data_t *data,
int flag, const mesh_opt_t opt[], int opt_count);
/**
* @brief Set blocking time of esp_mesh_send()
* - Suggest to set the blocking time to at least 5s when the environment is poor. Otherwise, esp_mesh_send() may timeout frequently.
*
* @attention This API shall be called before mesh is started.
*
@ -1203,6 +1206,7 @@ int esp_mesh_get_xon_qsize(void);
/**
* @brief Set whether allow more than one root existing in one network
* - The default value is true, that is, multiple roots are allowed.
*
* @param[in] allowed allow or not
*