Skip to content

Commit 75606b7

Browse files
committed
IDF release/v5.1 b38ee33b6d
1 parent 5028933 commit 75606b7

File tree

327 files changed

+2920
-2451
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

327 files changed

+2920
-2451
lines changed

esp32/dependencies.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,11 @@ dependencies:
133133
type: idf
134134
version: 5.1.2
135135
joltwallet/littlefs:
136-
component_hash: 1d8f346fe94debb00483f76d04b6648083f2d3505da811beccdbd0bd1f6c24cd
136+
component_hash: 1fe7281f5cd587fef17574becd1b553ce0df26ba38ebdc645792e1511b081e3e
137137
source:
138138
service_url: https://api.components.espressif.com/
139139
type: service
140-
version: 1.11.0
140+
version: 1.12.0
141141
manifest_hash: ae9ce1c1182850b8c1953cf105cc58933f213b8a5f4b31334fe69b1c14c3f2ac
142142
target: esp32
143143
version: 1.0.0

esp32/dio_qspi/include/sdkconfig.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1103,5 +1103,5 @@
11031103
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
11041104
#define CONFIG_WPA_MBEDTLS_CRYPTO CONFIG_ESP_WIFI_MBEDTLS_CRYPTO
11051105
#define CONFIG_WPA_MBEDTLS_TLS_CLIENT CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT
1106-
#define CONFIG_ARDUINO_IDF_COMMIT "fa7383162f"
1106+
#define CONFIG_ARDUINO_IDF_COMMIT "b38ee33b6d"
11071107
#define CONFIG_ARDUINO_IDF_BRANCH "release/v5.1"

esp32/flags/defines

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
-DESP_PLATFORM -DIDF_VER=\"v5.1.2-429-gfa7383162f-dirty\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DUNITY_INCLUDE_CONFIG_H -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -DTF_LITE_STATIC_MEMORY
1+
-DESP_PLATFORM -DIDF_VER=\"v5.1.2-472-gb38ee33b6d-dirty\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DUNITY_INCLUDE_CONFIG_H -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -DTF_LITE_STATIC_MEMORY

esp32/include/bt/host/bluedroid/api/include/api/esp_gap_ble_api.h

+16-6
Original file line numberDiff line numberDiff line change
@@ -864,12 +864,22 @@ typedef struct {
864864
* @brief periodic adv sync parameters
865865
*/
866866
typedef struct {
867-
esp_ble_gap_sync_t filter_policy; /*!< periodic advertising sync filter policy */
868-
uint8_t sid; /*!< periodic advertising sid */
869-
esp_ble_addr_type_t addr_type; /*!< periodic advertising address type */
870-
esp_bd_addr_t addr; /*!< periodic advertising address */
871-
uint16_t skip; /*!< the maximum number of periodic advertising events that can be skipped */
872-
uint16_t sync_timeout; /*!< synchronization timeout */
867+
esp_ble_gap_sync_t filter_policy; /*!< Configures the filter policy for periodic advertising sync:
868+
0: Use Advertising SID, Advertiser Address Type, and Advertiser Address parameters to determine the advertiser to listen to.
869+
1: Use the Periodic Advertiser List to determine the advertiser to listen to. */
870+
#if (CONFIG_BT_BLE_FEAT_CREATE_SYNC_ENH)
871+
esp_ble_gap_sync_t reports_disabled; /*!< Supported only by esp32c2, esp32c6, and esp32h2; can be set by menuconfig:
872+
0: Reporting initially enabled.
873+
1: Reporting initially disabled. */
874+
esp_ble_gap_sync_t filter_duplicates; /*!< Supported only by esp32c2, esp32c6, and esp32h2; can be set by menuconfig:
875+
0: Duplicate filtering initially disabled.
876+
1: Duplicate filtering initially enabled. */
877+
#endif
878+
uint8_t sid; /*!< SID of the periodic advertising */
879+
esp_ble_addr_type_t addr_type; /*!< Address type of the periodic advertising */
880+
esp_bd_addr_t addr; /*!< Address of the periodic advertising */
881+
uint16_t skip; /*!< Maximum number of periodic advertising events that can be skipped */
882+
uint16_t sync_timeout; /*!< Synchronization timeout */
873883
} esp_ble_gap_periodic_adv_sync_params_t;
874884

875885
/**

esp32/include/esp_coex/include/esp_coexist_internal.h renamed to esp32/include/esp_coex/include/private/esp_coexist_internal.h

+2-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#include <stdbool.h>
1111
#include "esp_coexist.h"
12-
#include "esp_coexist_adapter.h"
12+
#include "private/esp_coexist_adapter.h"
1313

1414
#ifdef __cplusplus
1515
extern "C" {
@@ -173,7 +173,6 @@ int coex_register_bt_cb(coex_func_cb_t callback);
173173
* @brief To acquire the spin-lock used in resetting Bluetooth baseband.
174174
* This function is only used to workaround ESP32 hardware issue.
175175
*
176-
* @param callback: callback function registered to coexistence module
177176
* @return : value of the spinlock to be restored
178177
*/
179178
uint32_t coex_bb_reset_lock(void);
@@ -268,7 +267,7 @@ void * coex_schm_curr_phase_get(void);
268267
/**
269268
* @brief Set current coexistence scheme phase index.
270269
*
271-
* @param interval : Coexistence scheme phase index
270+
* @param idx : Coexistence scheme phase index
272271
* @return : 0 - success, other - failed
273272
*/
274273
int coex_schm_curr_phase_idx_set(int idx);

esp32/include/esp_common/include/esp_err.h

-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ const char *esp_err_to_name_r(esp_err_t code, char *buf, size_t buflen);
7878
/** @cond */
7979
void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const char *function, const char *expression) __attribute__((__noreturn__));
8080

81-
/** @cond */
8281
void _esp_error_check_failed_without_abort(esp_err_t rc, const char *file, int line, const char *function, const char *expression);
8382

8483
#ifndef __ASSERT_FUNC

esp32/include/esp_wifi/include/esp_mesh.h

+8-5
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,13 @@ extern "C" {
136136
/**
137137
* @brief Flag of mesh networking IE
138138
*/
139-
#define MESH_ASSOC_FLAG_VOTE_IN_PROGRESS (0x02) /**< vote in progress */
139+
#define MESH_ASSOC_FLAG_MAP_ASSOC (0x01) /**< Mesh AP doesn't detect children leave yet */
140+
#define MESH_ASSOC_FLAG_VOTE_IN_PROGRESS (0x02) /**< station in vote, set when root vote start, clear when connect to router or when root switch*/
141+
#define MESH_ASSOC_FLAG_STA_VOTED (0x04) /**< station vote done, set when connect to router */
140142
#define MESH_ASSOC_FLAG_NETWORK_FREE (0x08) /**< no root in current network */
141-
#define MESH_ASSOC_FLAG_ROOTS_FOUND (0x20) /**< root conflict is found */
142-
#define MESH_ASSOC_FLAG_ROOT_FIXED (0x40) /**< fixed root */
143+
#define MESH_ASSOC_FLAG_STA_VOTE_EXPIRE (0x10) /**< the voted address is expired, means the voted device lose the chance to be root */
144+
#define MESH_ASSOC_FLAG_ROOTS_FOUND (0x20) /**< roots conflict is found, means that thre are at least two roots in the mesh network */
145+
#define MESH_ASSOC_FLAG_ROOT_FIXED (0x40) /**< the root is fixed in the mesh network */
143146

144147

145148
/**
@@ -1291,7 +1294,7 @@ int esp_mesh_get_capacity_num(void);
12911294
/**
12921295
* @brief Set mesh IE crypto functions
12931296
*
1294-
* @attention This API can be called at any time after mesh is initialized.
1297+
* @attention This API can be called at any time after mesh is configured.
12951298
*
12961299
* @param[in] crypto_funcs crypto functions for mesh IE
12971300
* - If crypto_funcs is set to NULL, mesh IE is no longer encrypted.
@@ -1303,7 +1306,7 @@ esp_err_t esp_mesh_set_ie_crypto_funcs(const mesh_crypto_funcs_t *crypto_funcs);
13031306
/**
13041307
* @brief Set mesh IE crypto key
13051308
*
1306-
* @attention This API can be called at any time after mesh is initialized.
1309+
* @attention This API can be called at any time after mesh is configured.
13071310
*
13081311
* @param[in] key ASCII crypto key
13091312
* @param[in] len length in bytes, range:8~64

esp32/include/esp_wifi/include/esp_mesh_internal.h

+76-57
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -25,6 +25,9 @@ extern "C" {
2525
/*******************************************************
2626
* Structures
2727
*******************************************************/
28+
/**
29+
* @brief Mesh attempts
30+
*/
2831
typedef struct {
2932
int scan; /**< minimum scan times before being a root, default:10 */
3033
int vote; /**< max vote times in self-healing, default:1000 */
@@ -33,86 +36,100 @@ typedef struct {
3336
int monitor_ie; /**< acceptable times of parent networking IE change before update its own networking IE. default:3 */
3437
} mesh_attempts_t;
3538

39+
/**
40+
* @brief Mesh switch parent
41+
*/
3642
typedef struct {
37-
int duration_ms; /* parent weak RSSI monitor duration, if the RSSI continues to be weak during this duration_ms,
43+
int duration_ms; /**< parent weak RSSI monitor duration, if the RSSI continues to be weak during this duration_ms,
3844
device will search for a new parent. */
39-
int cnx_rssi; /* RSSI threshold for keeping a good connection with parent.
45+
int cnx_rssi; /**< RSSI threshold for keeping a good connection with parent.
4046
If set a value greater than -120 dBm, a timer will be armed to monitor parent RSSI at a period time of duration_ms. */
41-
int select_rssi; /* RSSI threshold for parent selection. It should be a value greater than switch_rssi. */
42-
int switch_rssi; /* Disassociate with current parent and switch to a new parent when the RSSI is greater than this set threshold. */
43-
int backoff_rssi; /* RSSI threshold for connecting to the root */
47+
int select_rssi; /**< RSSI threshold for parent selection. It should be a value greater than switch_rssi. */
48+
int switch_rssi; /**< Disassociate with current parent and switch to a new parent when the RSSI is greater than this set threshold. */
49+
int backoff_rssi; /**< RSSI threshold for connecting to the root */
4450
} mesh_switch_parent_t;
4551

52+
/**
53+
* @brief Mesh RSSI threshold
54+
*/
4655
typedef struct {
47-
int high;
48-
int medium;
49-
int low;
56+
int high; /**< high RSSI threshold, used to determine whether the new parent and the current parent are in the same RSSI range */
57+
int medium; /**< medium RSSI threshold, used to determine whether the new parent and the current parent are in the same RSSI range */
58+
int low; /**< low RSSI threshold. If the parent's RSSI is lower than low for a period time of duration_ms,
59+
then the mesh node will post MESH_WEAK_RSSI event.
60+
Also used to determine whether the new parent and the current parent are in the same RSSI range */
5061
} mesh_rssi_threshold_t;
5162

5263
/**
5364
* @brief Mesh networking IE
5465
*/
5566
typedef struct {
5667
/**< mesh networking IE head */
57-
uint8_t eid; /**< element ID */
58-
uint8_t len; /**< element length */
59-
uint8_t oui[3]; /**< organization identifier */
60-
/**< mesh networking IE content */
61-
uint8_t type; /** ESP defined IE type */
68+
uint8_t eid; /**< element ID, vendor specific, 221 */
69+
uint8_t len; /**< element length, the length after this member */
70+
uint8_t oui[3]; /**< organization identifier, 0x18fe34 */
71+
uint8_t type; /**< ESP defined IE type, include Assoc IE, SSID IE, Ext Assoc IE, Roots IE, etc. */
6272
uint8_t encrypted : 1; /**< whether mesh networking IE is encrypted */
63-
uint8_t version : 7; /**< mesh networking IE version */
73+
uint8_t version : 7; /**< mesh networking IE version, equal to 2 if mesh PS is enabled, equal to 1 otherwise */
6474
/**< content */
65-
uint8_t mesh_type; /**< mesh device type */
66-
uint8_t mesh_id[6]; /**< mesh ID */
67-
uint8_t layer_cap; /**< max layer */
68-
uint8_t layer; /**< current layer */
69-
uint8_t assoc_cap; /**< max connections of mesh AP */
70-
uint8_t assoc; /**< current connections */
71-
uint8_t leaf_cap; /**< leaf capacity */
72-
uint8_t leaf_assoc; /**< the number of current connected leaf */
73-
uint16_t root_cap; /**< root capacity */
74-
uint16_t self_cap; /**< self capacity */
75-
uint16_t layer2_cap; /**< layer2 capacity */
76-
uint16_t scan_ap_num; /**< the number of scanning APs */
77-
int8_t rssi; /**< RSSI of the parent */
78-
int8_t router_rssi; /**< RSSI of the router */
79-
uint8_t flag; /**< flag of networking */
80-
uint8_t rc_addr[6]; /**< root address */
81-
int8_t rc_rssi; /**< root RSSI */
82-
uint8_t vote_addr[6]; /**< voter address */
83-
int8_t vote_rssi; /**< vote RSSI of the router */
84-
uint8_t vote_ttl; /**< vote ttl */
85-
uint16_t votes; /**< votes */
86-
uint16_t my_votes; /**< my votes */
87-
uint8_t reason; /**< reason */
88-
uint8_t child[6]; /**< child address */
89-
uint8_t toDS; /**< toDS state */
75+
uint8_t mesh_type; /**< mesh device type, include idle, root, node, etc, refer to mesh_type_t */
76+
uint8_t mesh_id[6]; /**< mesh ID, only the same mesh id can form a unified mesh network */
77+
uint8_t layer_cap; /**< layer_cap = max_layer - layer, indicates the number of remaining available layers of the mesh network */
78+
uint8_t layer; /**< the current layer of this node */
79+
uint8_t assoc_cap; /**< the maximum connections of this mesh AP */
80+
uint8_t assoc; /**< current connections of this mesh AP */
81+
uint8_t leaf_cap; /**< the maximum number of leaves in the mesh network */
82+
uint8_t leaf_assoc; /**< the number of current connected leaves */
83+
uint16_t root_cap; /**< the capacity of the root, equal to the total child numbers plus 1, root node updates root_cap and self_cap */
84+
uint16_t self_cap; /**< the capacity of myself, total child numbers plus 1, all nodes update this member */
85+
uint16_t layer2_cap; /**< the capacity of layer2 node, total child numbers plus 1, layer2 node updates layer2_cap and self_cap, root sets this to 0 */
86+
uint16_t scan_ap_num; /**< the number of mesh APs around */
87+
int8_t rssi; /**< RSSI of the connected parent, default value is -120, root node will not update this */
88+
int8_t router_rssi; /**< RSSI of the router, default value is -120 */
89+
uint8_t flag; /**< flag of networking, indicates the status of the network, refer to MESH_ASSOC_FLAG_XXX */
90+
/**< vote related */
91+
uint8_t rc_addr[6]; /**< the address of the root candidate, i.e. the voted addesss before connection, root node will update this with self address */
92+
int8_t rc_rssi; /**< the router RSSI of the root candidate */
93+
uint8_t vote_addr[6]; /**< the voted address after connection */
94+
int8_t vote_rssi; /**< the router RSSI of the voted address */
95+
uint8_t vote_ttl; /**< vote ttl, indicate the voting is from myself or from other nodes */
96+
uint16_t votes; /**< the number of all voting nodes */
97+
uint16_t my_votes; /**< the number of nodes that voted for me */
98+
uint8_t reason; /**< the reason why the voting happens, root initiated or child initiated, refer to mesh_vote_reason_t */
99+
uint8_t child[6]; /**< child address, not used currently */
100+
uint8_t toDS; /**< state represents whether the root is able to access external IP network */
90101
} __attribute__((packed)) mesh_assoc_t;
91102

103+
/**
104+
* @brief Mesh chain layer
105+
*/
92106
typedef struct {
93-
uint16_t layer_cap;
94-
uint16_t layer;
107+
uint16_t layer_cap; /**< max layer of the network */
108+
uint16_t layer; /**< current layer of this node */
95109
} mesh_chain_layer_t;
96110

111+
/**
112+
* @brief Mesh chain assoc
113+
*/
97114
typedef struct {
98-
mesh_assoc_t tree;
99-
mesh_chain_layer_t chain;
115+
mesh_assoc_t tree; /**< tree top, mesh_assoc IE */
116+
mesh_chain_layer_t chain; /**< chain top, mesh_assoc IE */
100117
} __attribute__((packed)) mesh_chain_assoc_t;
101118

102119
/* mesh max connections */
103120
#define MESH_MAX_CONNECTIONS (10)
104121

105122
/**
106-
* @brief Mesh PS duties
123+
* @brief Mesh power save duties
107124
*/
108125
typedef struct {
109-
uint8_t device;
110-
uint8_t parent;
126+
uint8_t device; /**< device power save duty*/
127+
uint8_t parent; /**< parent power save duty*/
111128
struct {
112-
bool used;
113-
uint8_t duty;
114-
uint8_t mac[6];
115-
} child[MESH_MAX_CONNECTIONS];
129+
bool used; /**< whether the child is joined */
130+
uint8_t duty; /**< power save duty of the child */
131+
uint8_t mac[6]; /**< mac address of the child */
132+
} child[MESH_MAX_CONNECTIONS]; /**< child */
116133
} esp_mesh_ps_duties_t;
117134

118135
/*******************************************************
@@ -121,7 +138,7 @@ typedef struct {
121138
/**
122139
* @brief Set mesh softAP beacon interval
123140
*
124-
* @param[in] interval beacon interval (msecs) (100 msecs ~ 60000 msecs)
141+
* @param[in] interval_ms beacon interval (msecs) (100 msecs ~ 60000 msecs)
125142
*
126143
* @return
127144
* - ESP_OK
@@ -133,7 +150,7 @@ esp_err_t esp_mesh_set_beacon_interval(int interval_ms);
133150
/**
134151
* @brief Get mesh softAP beacon interval
135152
*
136-
* @param[out] interval beacon interval (msecs)
153+
* @param[out] interval_ms beacon interval (msecs)
137154
*
138155
* @return
139156
* - ESP_OK
@@ -185,7 +202,7 @@ esp_err_t esp_mesh_set_switch_parent_paras(mesh_switch_parent_t *paras);
185202
esp_err_t esp_mesh_get_switch_parent_paras(mesh_switch_parent_t *paras);
186203

187204
/**
188-
* @brief Set RSSI threshold
205+
* @brief Set RSSI threshold of current parent
189206
* - The default high RSSI threshold value is -78 dBm.
190207
* - The default medium RSSI threshold value is -82 dBm.
191208
* - The default low RSSI threshold value is -85 dBm.
@@ -199,7 +216,7 @@ esp_err_t esp_mesh_get_switch_parent_paras(mesh_switch_parent_t *paras);
199216
esp_err_t esp_mesh_set_rssi_threshold(const mesh_rssi_threshold_t *threshold);
200217

201218
/**
202-
* @brief Get RSSI threshold
219+
* @brief Get RSSI threshold of current parent
203220
*
204221
* @param[out] threshold RSSI threshold
205222
*
@@ -242,7 +259,7 @@ esp_err_t esp_mesh_print_rxQ_waiting(void);
242259
/**
243260
* @brief Set passive scan time
244261
*
245-
* @param[in] interval_ms passive scan time (msecs)
262+
* @param[in] time_ms passive scan time (msecs)
246263
*
247264
* @return
248265
* - ESP_OK
@@ -283,7 +300,9 @@ esp_err_t esp_mesh_set_announce_interval(int short_ms, int long_ms);
283300
esp_err_t esp_mesh_get_announce_interval(int *short_ms, int *long_ms);
284301

285302
/**
286-
* @brief Get the running duties of device, parent and children
303+
* @brief Get the running duties of device, parent and children
304+
*
305+
* @param[out] ps_duties ps duties
287306
*
288307
* @return
289308
* - ESP_OK

esp32/include/esp_wifi/include/esp_now.h

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ typedef struct esp_now_rate_config {
9797
wifi_phy_mode_t phymode; /**< ESPNOW phymode of specified interface */
9898
wifi_phy_rate_t rate; /**< ESPNOW rate of specified interface*/
9999
bool ersu; /**< ESPNOW using ersu send frame*/
100+
bool dcm; /**< ESPNOW using dcm rate to send frame*/
100101
} esp_now_rate_config_t;
101102

102103
/**

esp32/include/esp_wifi/include/esp_private/wifi_os_adapter.h

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
#define ESP_WIFI_OS_ADAPTER_H_
99

1010
#include <stdarg.h>
11+
#include <stdbool.h>
12+
#include <stdint.h>
13+
#include <stddef.h>
14+
#include "sdkconfig.h"
1115

1216
#ifdef __cplusplus
1317
extern "C" {

0 commit comments

Comments
 (0)