Skip to content

Commit 962bdad

Browse files
committed
IDF release/v5.1 bcf1645e44
1 parent 7504ef5 commit 962bdad

File tree

276 files changed

+1049
-630
lines changed

Some content is hidden

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

276 files changed

+1049
-630
lines changed

esp32/dependencies.lock

+6-6
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,17 @@ dependencies:
3737
type: service
3838
version: 1.2.0
3939
espressif/esp-zboss-lib:
40-
component_hash: 98b68ccd1540e3d0d1884eb134951de66752bde85eb826a885021fa3a54517bf
40+
component_hash: d17cf80d4ea0afd360b9492bd2f4c93046768e80f385971fbf9b53fabf4236b3
4141
source:
4242
service_url: https://api.components.espressif.com/
4343
type: service
44-
version: 1.0.5
44+
version: 1.0.6
4545
espressif/esp-zigbee-lib:
46-
component_hash: 44ae761cec4adcfcc198db4785a9415703b66b78f0a0e96ebec5cbde2045cc6a
46+
component_hash: e7301c1cb0131eea9bd05b956a217c30307035b7abf05cb07ec4b43fec02e8f4
4747
source:
4848
service_url: https://api.components.espressif.com/
4949
type: service
50-
version: 1.0.5
50+
version: 1.0.6
5151
espressif/esp32-camera:
5252
component_hash: eadbec1d37fc354741dae3005ef310b73637e731a9da766c6e2f5614a8c59d5b
5353
source:
@@ -62,11 +62,11 @@ dependencies:
6262
type: service
6363
version: 1.0.1
6464
espressif/esp_diagnostics:
65-
component_hash: 83c3fdf56caba06846017ece7002b0498476a3af15d0d5a3d86bd944443fd7b9
65+
component_hash: fe19f5ee7f0145f406d36a4d5310e4ae0c6ee1afa47f2681ada8a2ea8582d390
6666
source:
6767
service_url: https://api.components.espressif.com/
6868
type: service
69-
version: 1.0.1
69+
version: 1.0.2
7070
espressif/esp_insights:
7171
component_hash: 2472a19de98a8b991baeeac7209765b70ce14ec2b1435dbed3abd020dd0f7227
7272
source:

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 "4fe15460ab"
1106+
#define CONFIG_ARDUINO_IDF_COMMIT "bcf1645e44"
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-292-g4fe15460ab-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-342-gbcf1645e44-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/esp_netif/include/esp_netif.h

+38-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2019-2023 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -975,12 +975,49 @@ int32_t esp_netif_get_event_id(esp_netif_t *esp_netif, esp_netif_ip_event_type_t
975975
/**
976976
* @brief Iterates over list of interfaces. Returns first netif if NULL given as parameter
977977
*
978+
* @note This API doesn't lock the list, nor the TCPIP context, as this it's usually required
979+
* to get atomic access between iteration steps rather that within a single iteration.
980+
* Therefore it is recommended to iterate over the interfaces inside esp_netif_tcpip_exec()
981+
*
982+
* You can use esp_netif_next_unsafe() directly if all the system
983+
* interfaces are under your control and you can safely iterate over them.
984+
* Otherwise, iterate over interfaces using esp_netif_tcpip_exec(), or use esp_netif_find_if()
985+
* to search in the list of netifs with defined predicate.
986+
*
978987
* @param[in] esp_netif Handle to esp-netif instance
979988
*
980989
* @return First netif from the list if supplied parameter is NULL, next one otherwise
981990
*/
982991
esp_netif_t *esp_netif_next(esp_netif_t *esp_netif);
983992

993+
/**
994+
* @brief Iterates over list of interfaces without list locking. Returns first netif if NULL given as parameter
995+
*
996+
* Used for bulk search loops within TCPIP context, e.g. using esp_netif_tcpip_exec(), or if we're sure
997+
* that the iteration is safe from our application perspective (e.g. no interface is removed between iterations)
998+
*
999+
* @param[in] esp_netif Handle to esp-netif instance
1000+
*
1001+
* @return First netif from the list if supplied parameter is NULL, next one otherwise
1002+
*/
1003+
esp_netif_t* esp_netif_next_unsafe(esp_netif_t* esp_netif);
1004+
1005+
/**
1006+
* @brief Predicate callback for esp_netif_find_if() used to find interface
1007+
* which meets defined criteria
1008+
*/
1009+
typedef bool (*esp_netif_find_predicate_t)(esp_netif_t *netif, void *ctx);
1010+
1011+
/**
1012+
* @brief Return a netif pointer for the first interface that meets criteria defined
1013+
* by the callback
1014+
*
1015+
* @param fn Predicate function returning true for the desired interface
1016+
* @param ctx Context pointer passed to the predicate, typically a descriptor to compare with
1017+
* @return valid netif pointer if found, NULL if not
1018+
*/
1019+
esp_netif_t *esp_netif_find_if(esp_netif_find_predicate_t fn, void *ctx);
1020+
9841021
/**
9851022
* @brief Returns number of registered esp_netif objects
9861023
*

esp32/include/esp_wifi/wifi_apps/include/esp_nan.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ uint8_t esp_wifi_nan_datapath_req(wifi_nan_datapath_req_t *req);
128128
/**
129129
* @brief Respond to a NAN Datapath request with Accept or Reject
130130
*
131-
* @attention This API should be called if ndp_auto_accept is not set True by the Publisher and
131+
* @attention This API should be called if ndp_resp_needed is set True by the Publisher and
132132
* a WIFI_EVENT_NDP_INDICATION event is received due to an incoming NDP request.
133133
*
134134
* @param resp NAN Datapath Response parameters.

esp32/include/espressif__esp-zboss-lib/include/zboss_api_tl.h

+1
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ typedef struct zb_zll_device_info_s
199199
zb_uint8_t nwk_channel; /* Logical channel number for start/join the network (as initiator
200200
* role) */
201201
zb_int8_t rssi_threshold; /* RSSI threshold */
202+
zb_uint32_t target_timeout; /* Timeout for target to wait initiator */
202203
}
203204
zb_zll_device_info_t;
204205

esp32/include/espressif__esp-zboss-lib/include/zcl/zb_zcl_common.h

+7
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,9 @@ static ZB_INLINE zb_uint16_t zb_zcl_string_append_byte(zb_uint8_t *zcl_str,
667667
#define ZB_ZCL_ATTR_TYPE_IEEE_ADDR 0xf0U /*!< IEEE address (U64) type */
668668
#define ZB_ZCL_ATTR_TYPE_128_BIT_KEY 0xf1U /*!< 128-bit security key */
669669

670+
/** Custom array of 16 elems data type */
671+
#define ZB_ZCL_ATTR_TYPE_CUSTOM_16ARRAY 0x49U
672+
670673
/** Custom array of 32 elems data type (now is equal to ZB_ZCL_ATTR_TYPE_ARRAY) */
671674
#define ZB_ZCL_ATTR_TYPE_CUSTOM_32ARRAY 0x4aU
672675

@@ -1923,6 +1926,10 @@ zb_single_t zb_zcl_attr_getsingle(zb_uint8_t *value);
19231926
#define ZB_ZCL_ARRAY_GET_SIZE(ar, val) ZB_LETOH16(ar, val)
19241927
#define ZB_ZCL_ARRAY_SET_SIZE(ar, val) ZB_HTOLE16_VAL(ar, val)
19251928

1929+
/** @internal @brief Calculates 16-byte array size (add 2 bytes for full length). */
1930+
#define ZB_BYTE_16ARRAY_GET_SIZE(ar, val) { ZB_ZCL_ARRAY_GET_SIZE(ar, val); *(zb_uint16_t*)(ar) *= 2U; }
1931+
#define ZB_BYTE_16ARRAY_SET_SIZE(ar, val) { ZB_ZCL_ARRAY_SET_SIZE(ar, val); *(zb_uint16_t*)(ar) /= 2U; }
1932+
19261933
/** @internal @brief Calculates 32-byte array size (add 2 bytes for full length). */
19271934
#define ZB_BYTE_32ARRAY_GET_SIZE(ar, val) { ZB_ZCL_ARRAY_GET_SIZE(ar, val); *(zb_uint16_t*)(ar) *= 4U; }
19281935
#define ZB_BYTE_32ARRAY_SET_SIZE(ar, val) { ZB_ZCL_ARRAY_SET_SIZE(ar, val); *(zb_uint16_t*)(ar) /= 4U; }

esp32/include/espressif__esp-zigbee-lib/include/bdb/esp_zigbee_bdb_touchlink.h

+33
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,39 @@ typedef struct esp_zb_bdb_signal_touchlink_nwk_params_s {
7070
*/
7171
void esp_zb_touchlink_clear_factory_new(void);
7272

73+
/**
74+
* @brief Set the timeout for Touchlink target
75+
*
76+
* @param[in] timeout The waiting time for the device to exit the Touchlink target mode
77+
*
78+
*/
79+
void esp_zb_zdo_touchlink_target_set_timeout(uint32_t timeout);
80+
81+
/**
82+
* @brief Set the master key for Touchlink
83+
*
84+
* @param[in] key The master key that will be utilized for the Touchlink network
85+
*
86+
*/
87+
void esp_zb_zdo_touchlink_set_master_key(uint8_t *key);
88+
89+
/**
90+
* @brief Set the RSSI threshold for the Touchlink target
91+
*
92+
* @note The default value for the RSSI threshold is set to -64
93+
* @param[in] rssi_threshold The RSSI threshold determines whether the Touchlink target responds to the initiator
94+
*
95+
*/
96+
void esp_zb_zdo_touchlink_set_rssi_threshold(int8_t rssi_threshold);
97+
98+
/**
99+
* @brief Get the RSSI threshold of Touchlink target
100+
*
101+
* @return The value of RSSI threshold
102+
*
103+
*/
104+
int8_t esp_zb_zdo_touchlink_get_rssi_threshold(void);
105+
73106
#ifdef __cplusplus
74107
}
75108
#endif

esp32/include/espressif__esp-zigbee-lib/include/esp_zigbee_core.h

+2
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ typedef enum {
6565
/**
6666
* @brief Enum of the Zigbee core action callback id
6767
*
68+
* @note If one endpoint possesses the same custom cluster identifier in both client and server roles,
69+
* any request or response command for the custom cluster will only trigger the ESP_ZB_CORE_CMD_CUSTOM_CLUSTER_REQ_CB_ID callback.
6870
*/
6971
typedef enum esp_zb_core_action_callback_id_s {
7072
ESP_ZB_CORE_SET_ATTR_VALUE_CB_ID = 0x0000, /*!< Set attribute value, refer to esp_zb_zcl_set_attr_value_message_t */

esp32/include/espressif__esp-zigbee-lib/include/zcl/esp_zigbee_zcl_command.h

+22-17
Original file line numberDiff line numberDiff line change
@@ -772,33 +772,34 @@ typedef struct esp_zb_metering_get_sampled_data_cmd_s {
772772
/**
773773
* @brief The Zigbee ZCL custom cluster command struct
774774
*
775-
* @note Support only u8, s8, u16, s16, u32, s32, string data types.
776-
*
777775
* @note For string data type, the first byte should be the length of string.
776+
* For array, array16, array32, and long string data types, the first 2 bytes should represent the number of elements in the array.
778777
*
779778
*/
780-
typedef struct esp_zb_zcl_custom_cluster_cmd_req_s {
779+
typedef struct esp_zb_zcl_custom_cluster_cmd_s {
781780
esp_zb_zcl_basic_cmd_t zcl_basic_cmd; /*!< Basic command info */
782781
esp_zb_zcl_address_mode_t address_mode; /*!< APS addressing mode constants refer to esp_zb_zcl_address_mode_t */
783-
void *value; /*!< Pointer to value */
784-
esp_zb_zcl_attr_type_t data_type; /*!< Data type to be used */
785782
uint16_t profile_id; /*!< Profile id */
786783
uint16_t cluster_id; /*!< Cluster id */
787784
uint16_t custom_cmd_id; /*!< Custom command id */
788-
} esp_zb_zcl_custom_cluster_cmd_req_t;
785+
esp_zb_zcl_cmd_direction_t direction; /*!< Direction of command */
786+
struct {
787+
esp_zb_zcl_attr_type_t type; /*!< The type of custom data, refer to esp_zb_zcl_attr_type_t */
788+
void *value; /*!< The value of custom data */
789+
} data; /*!< The custom data */
790+
} esp_zb_zcl_custom_cluster_cmd_t;
789791

790792
/**
791-
* @brief The Zigbee ZCL custom cluster command response struct
793+
* @brief The Zigbee ZCL custom cluster request command struct
792794
*
793795
*/
794-
typedef struct esp_zb_zcl_custom_cluster_cmd_resp_s {
795-
esp_zb_zcl_basic_cmd_t zcl_basic_cmd; /*!< Basic command info */
796-
esp_zb_zcl_address_mode_t address_mode; /*!< APS addressing mode constants refer to esp_zb_zcl_address_mode_t */
797-
uint8_t status; /*!< Status value */
798-
uint16_t profile_id; /*!< Profile id */
799-
uint16_t cluster_id; /*!< Cluster id */
800-
uint16_t custom_cmd_resp_id; /*!< Custom command response id */
801-
} esp_zb_zcl_custom_cluster_cmd_resp_t;
796+
typedef esp_zb_zcl_custom_cluster_cmd_t esp_zb_zcl_custom_cluster_cmd_req_t;
797+
798+
/**
799+
* @brief The Zigbee ZCL custom cluster response command struct
800+
*
801+
*/
802+
typedef esp_zb_zcl_custom_cluster_cmd_t esp_zb_zcl_custom_cluster_cmd_resp_t;
802803

803804
/*********************** User Message *****************************/
804805
/**
@@ -1479,6 +1480,8 @@ typedef struct esp_zb_zcl_privilege_command_message_s {
14791480
/**
14801481
* @brief The Zigbee zcl customized cluster message struct
14811482
*
1483+
* @note For string data type, the first byte should be the length of string.
1484+
* For array, array16, array32, and long string data types, the first 2 bytes should represent the number of elements in the array.
14821485
*/
14831486
typedef struct esp_zb_zcl_custom_cluster_command_message_s {
14841487
esp_zb_zcl_cmd_info_t info; /*!< The basic information of customized cluster command message that refers to esp_zb_zcl_report_attr_message_t */
@@ -2025,15 +2028,17 @@ void esp_zb_zcl_metering_get_sampled_data_cmd_req(esp_zb_metering_get_sampled_da
20252028
/**
20262029
* @brief Send custom cluster command request
20272030
*
2028-
* @param[in] cmd_req pointer to the send custom cluster command request @ref esp_zb_zcl_custom_cluster_cmd_req_s
2031+
* @param[in] cmd_req pointer to the send custom cluster command request, refer to esp_zb_zcl_custom_cluster_cmd_req_t
20292032
*
20302033
*/
20312034
void esp_zb_zcl_custom_cluster_cmd_req(esp_zb_zcl_custom_cluster_cmd_req_t *cmd_req);
20322035

20332036
/**
20342037
* @brief Send custom cluster command response
20352038
*
2036-
* @param[in] cmd_req pointer to the send custom cluster command response @ref esp_zb_zcl_custom_cluster_cmd_resp_s
2039+
* @note The custom response should align in the same direction as the custom request when providing a reply.
2040+
*
2041+
* @param[in] cmd_req pointer to the send custom cluster command request, refer to esp_zb_zcl_custom_cluster_cmd_resp_t
20372042
*
20382043
*/
20392044
void esp_zb_zcl_custom_cluster_cmd_resp(esp_zb_zcl_custom_cluster_cmd_resp_t *cmd_req);

esp32/include/espressif__esp-zigbee-lib/include/zcl/esp_zigbee_zcl_common.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,9 @@ typedef enum {
249249
ESP_ZB_ZCL_ATTR_TYPE_CHAR_STRING = 0x42U, /*!< Character string (array) data type */
250250
ESP_ZB_ZCL_ATTR_TYPE_LONG_OCTET_STRING = 0x43U, /*!< Long octet string */
251251
ESP_ZB_ZCL_ATTR_TYPE_LONG_CHAR_STRING = 0x44U, /*!< Long character string */
252-
ESP_ZB_ZCL_ATTR_TYPE_ARRAY = 0x48U, /*!< Array data type 2 + sum of content len */
252+
ESP_ZB_ZCL_ATTR_TYPE_ARRAY = 0x48U, /*!< Array data with 8bit type, size = 2 + sum of content len */
253+
ESP_ZB_ZCL_ATTR_TYPE_16BIT_ARRAY = 0x49U, /*!< Array data with 16bit type, size = 2 + sum of content len */
254+
ESP_ZB_ZCL_ATTR_TYPE_32BIT_ARRAY = 0x4aU, /*!< Array data with 32bit type, size = 2 + sum of content len */
253255
ESP_ZB_ZCL_ATTR_TYPE_STRUCTURE = 0x4cU, /*!< Structure data type 2 + sum of content len */
254256
ESP_ZB_ZCL_ATTR_TYPE_SET = 0x50U, /*!< Collection:set, size = sum of len of content */
255257
ESP_ZB_ZCL_ATTR_TYPE_BAG = 0x51U, /*!< Collection:bag, size = sum of len of content */

esp32/include/espressif__esp-zigbee-lib/include/zdo/esp_zigbee_zdo_command.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ typedef void (*esp_zb_zdo_binding_table_callback_t)(const esp_zb_zdo_binding_tab
299299
* @param[in] scan_duration Time to spend scanning each channel
300300
* @param[in] user_cb A user callback to get the active scan result please refer to esp_zb_zdo_scan_complete_callback_t
301301
*/
302-
void esp_zb_active_scan_request(uint32_t channel_mask, uint8_t scan_duration, esp_zb_zdo_scan_complete_callback_t user_cb);
302+
void esp_zb_zdo_active_scan_request(uint32_t channel_mask, uint8_t scan_duration, esp_zb_zdo_scan_complete_callback_t user_cb);
303303

304304
/**
305305
* @brief Send bind device request command

esp32/include/espressif__esp_diagnostics/include/esp_diagnostics.h

+5-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
1-
// Copyright 2021 Espressif Systems (Shanghai) PTE LTD
2-
//
3-
// Licensed under the Apache License, Version 2.0 (the "License");
4-
// you may not use this file except in compliance with the License.
5-
// You may obtain a copy of the License at
6-
//
7-
// http://www.apache.org/licenses/LICENSE-2.0
8-
//
9-
// Unless required by applicable law or agreed to in writing, software
10-
// distributed under the License is distributed on an "AS IS" BASIS,
11-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
// See the License for the specific language governing permissions and
13-
// limitations under the License.
1+
/*
2+
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
146

157
#pragma once
168

esp32/include/espressif__esp_diagnostics/include/esp_diagnostics_metrics.h

+6-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
1-
// Copyright 2021 Espressif Systems (Shanghai) PTE LTD
2-
//
3-
// Licensed under the Apache License, Version 2.0 (the "License");
4-
// you may not use this file except in compliance with the License.
5-
// You may obtain a copy of the License at
6-
//
7-
// http://www.apache.org/licenses/LICENSE-2.0
8-
//
9-
// Unless required by applicable law or agreed to in writing, software
10-
// distributed under the License is distributed on an "AS IS" BASIS,
11-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
// See the License for the specific language governing permissions and
13-
// limitations under the License.
1+
/*
2+
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
147
#pragma once
158
#include <stdbool.h>
169
#include <esp_err.h>

esp32/include/espressif__esp_diagnostics/include/esp_diagnostics_network_variables.h

+6-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
1-
// Copyright 2021 Espressif Systems (Shanghai) PTE LTD
2-
//
3-
// Licensed under the Apache License, Version 2.0 (the "License");
4-
// you may not use this file except in compliance with the License.
5-
// You may obtain a copy of the License at
6-
//
7-
// http://www.apache.org/licenses/LICENSE-2.0
8-
//
9-
// Unless required by applicable law or agreed to in writing, software
10-
// distributed under the License is distributed on an "AS IS" BASIS,
11-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
// See the License for the specific language governing permissions and
13-
// limitations under the License.
1+
/*
2+
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
147
#pragma once
158

169
#ifdef __cplusplus

esp32/include/espressif__esp_diagnostics/include/esp_diagnostics_system_metrics.h

+6-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
1-
// Copyright 2021 Espressif Systems (Shanghai) PTE LTD
2-
//
3-
// Licensed under the Apache License, Version 2.0 (the "License");
4-
// you may not use this file except in compliance with the License.
5-
// You may obtain a copy of the License at
6-
//
7-
// http://www.apache.org/licenses/LICENSE-2.0
8-
//
9-
// Unless required by applicable law or agreed to in writing, software
10-
// distributed under the License is distributed on an "AS IS" BASIS,
11-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
// See the License for the specific language governing permissions and
13-
// limitations under the License.
1+
/*
2+
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
147
#pragma once
158

169
#ifdef __cplusplus

0 commit comments

Comments
 (0)