Skip to content

Commit b0a9704

Browse files
committed
feat(zigbee): Upgrade the Zigbee lib to v1.6 for Zigbee examples
- Optimize the Zigbee light, switch and gateway examples - Remove the esp_zigbee_rcp example
1 parent 2b12fb6 commit b0a9704

26 files changed

+358
-322
lines changed

examples/zigbee/.build-test-rules.yml

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,15 @@
88

99
examples/zigbee/esp_zigbee_gateway:
1010
enable:
11-
- if: SOC_WIFI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c2", "esp32c5", "esp32c61"]
12-
reason: not supported esp32c2 and esp32c5 and esp32c61
13-
<<: *zigbee_dependencies
14-
15-
examples/zigbee/esp_zigbee_rcp:
16-
enable:
17-
- if: SOC_IEEE802154_SUPPORTED == 1
18-
disable:
19-
- if: IDF_TARGET == "esp32c5"
20-
temporary: true
21-
reason: Not supported yet
11+
- if: SOC_WIFI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c2", "esp32c61"]
12+
reason: not supported esp32c2 and esp32c61
2213
<<: *zigbee_dependencies
2314

2415
examples/zigbee/light_sample:
2516
enable:
2617
- if: SOC_IEEE802154_SUPPORTED == 1
27-
disable:
28-
- if: IDF_TARGET == "esp32c5"
29-
temporary: true
30-
reason: Not supported yet
3118
disable_test:
32-
- if: IDF_TARGET == "esp32c6"
19+
- if: IDF_TARGET != "esp32h2"
3320
temporary: true
3421
reason: only test on esp32h2
3522
<<: *zigbee_dependencies
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Included
5+
*
6+
* Zigbee Common
7+
*
8+
* This example code is in the Public Domain (or CC0 licensed, at your option.)
9+
*
10+
* Unless required by applicable law or agreed to in writing, this
11+
* software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
12+
* CONDITIONS OF ANY KIND, either express or implied.
13+
*/
14+
15+
#pragma once
16+
17+
#ifdef __cplusplus
18+
extern "C" {
19+
#endif
20+
21+
#include "esp_err.h"
22+
#include "esp_check.h"
23+
#include "esp_zigbee_core.h"
24+
25+
/*! Maximum length of ManufacturerName string field */
26+
#define ESP_ZB_ZCL_CLUSTER_ID_BASIC_MANUFACTURER_NAME_MAX_LEN 32
27+
28+
/*! Maximum length of ModelIdentifier string field */
29+
#define ESP_ZB_ZCL_CLUSTER_ID_BASIC_MODEL_IDENTIFIER_MAX_LEN 32
30+
31+
/** optional basic manufacturer information */
32+
typedef struct zcl_basic_manufacturer_info_s {
33+
char *manufacturer_name;
34+
char *model_identifier;
35+
} zcl_basic_manufacturer_info_t;
36+
37+
/**
38+
* @brief Adds manufacturer information to the ZCL basic cluster of endpoint
39+
*
40+
* @param[in] ep_list The pointer to the endpoint list with @p endpoint_id
41+
* @param[in] endpoint_id The endpoint identifier indicating where the ZCL basic cluster resides
42+
* @param[in] info The pointer to the basic manufacturer information
43+
* @return
44+
* - ESP_OK: On success
45+
* - ESP_ERR_INVALID_ARG: Invalid argument
46+
*/
47+
esp_err_t esp_zcl_utility_add_ep_basic_manufacturer_info(esp_zb_ep_list_t *ep_list, uint8_t endpoint_id, zcl_basic_manufacturer_info_t *info);
48+
49+
#ifdef __cplusplus
50+
} // extern "C"
51+
#endif
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Included
5+
*
6+
* Zigbee Common
7+
*
8+
* This example code is in the Public Domain (or CC0 licensed, at your option.)
9+
*
10+
* Unless required by applicable law or agreed to in writing, this
11+
* software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
12+
* CONDITIONS OF ANY KIND, either express or implied.
13+
*/
14+
#include "esp_check.h"
15+
#include "stdio.h"
16+
#include "string.h"
17+
#include "zcl_utility.h"
18+
#include <stdint.h>
19+
20+
static const char *TAG = "ZCL_UTILITY";
21+
22+
esp_err_t esp_zcl_utility_add_ep_basic_manufacturer_info(esp_zb_ep_list_t *ep_list, uint8_t endpoint_id, zcl_basic_manufacturer_info_t *info)
23+
{
24+
esp_err_t ret = ESP_OK;
25+
esp_zb_cluster_list_t *cluster_list = NULL;
26+
esp_zb_attribute_list_t *basic_cluster = NULL;
27+
28+
cluster_list = esp_zb_ep_list_get_ep(ep_list, endpoint_id);
29+
ESP_RETURN_ON_FALSE(cluster_list, ESP_ERR_INVALID_ARG, TAG, "Failed to find endpoint id: %d in list: %p", endpoint_id, ep_list);
30+
basic_cluster = esp_zb_cluster_list_get_cluster(cluster_list, ESP_ZB_ZCL_CLUSTER_ID_BASIC, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE);
31+
ESP_RETURN_ON_FALSE(basic_cluster, ESP_ERR_INVALID_ARG, TAG, "Failed to find basic cluster in endpoint: %d", endpoint_id);
32+
ESP_RETURN_ON_FALSE((info && info->manufacturer_name), ESP_ERR_INVALID_ARG, TAG, "Invalid manufacturer name");
33+
ESP_ERROR_CHECK(esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, info->manufacturer_name));
34+
ESP_RETURN_ON_FALSE((info && info->model_identifier), ESP_ERR_INVALID_ARG, TAG, "Invalid model identifier");
35+
ESP_ERROR_CHECK(esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID, info->model_identifier));
36+
return ret;
37+
}

examples/zigbee/esp_zigbee_gateway/README.md

Lines changed: 77 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
2-
| ----------------- | ----- | -------- | -------- | -------- | -------- |
1+
| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
2+
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |
33

44
# Gateway Example
55

@@ -13,7 +13,7 @@ The ESP Zigbee SDK provides more examples and tools for productization:
1313

1414
By default, two SoCs are required to run this example:
1515
* An ESP32 series Wi-Fi SoC (ESP32, ESP32-C, ESP32-S, etc) loaded with this esp_zigbee_gateway example.
16-
* An ESP32-H2 802.15.4 SoC loaded with [esp_zigbee_rcp](../esp_zigbee_rcp) example
16+
* An ESP32-H2 802.15.4 SoC loaded with [ot_rcp](../../openthread/ot_rcp/) example
1717

1818
Connect the two SoCs via UART, below is an example setup with ESP32-DevKitC and ESP32-H2-DevKitC:
1919
![Zigbee_gateway](../../openthread/ot_br/image/thread-border-router-esp32-esp32h2.jpg)
@@ -28,6 +28,10 @@ ESP32 pin | ESP32-H2 pin
2828

2929
The example could also run on a single SoC which supports both Wi-Fi and Zigbee (e.g., ESP32-C6), but since there is only one RF path in ESP32-C6, which means Wi-Fi and Zigbee can't receive simultaneously, it has a significant impact on performance. Hence the two SoCs solution is recommended.
3030

31+
## Configure the RCP
32+
33+
The `OPENTHREAD_NCP_VENDOR_HOOK` of `ot_rcp` should be selected via menuconfig when the [ot_rcp](../../openthread/ot_rcp/) example is built. Then use `idf.py -p PORT erase-flash` to flash the RCP firmware to ESP32-H2-DevKitC.
34+
3135
## Configure the project
3236

3337
Before project configuration and build, make sure to set the correct chip target using `idf.py set-target <chip_name>`.
@@ -50,19 +54,80 @@ As you run the example, you will see the following log:
5054

5155
esp_zigbee_gateway:
5256
```
53-
I (660) ESP_ZB_GATEWAY: status: -1
54-
I (670) ESP_ZB_GATEWAY: Zigbee stack initialized
55-
I (680) ESP_ZB_GATEWAY: Zigbee rcp device booted
56-
I (1280) ESP_ZB_GATEWAY: Start network formation
57-
I (3060) ESP_ZB_GATEWAY: Formed network successfully (Extended PAN ID: f9:54:2d:01:a0:03:f7:84, PAN ID: 0x8651, Channel:13, Short Address: 0x0000)
58-
I (4060) ESP_ZB_GATEWAY: status: 0
59-
I (4400) ESP_ZB_GATEWAY: Network steering started
57+
I (499) main_task: Calling app_main()
58+
I (519) ESP_RADIO_SPINEL: spinel UART interface initialization completed
59+
I (519) ESP_RADIO_SPINEL: Spinel UART interface has been successfully enabled
60+
I (519) ZB_ESP_SPINEL: Spinel UART interface enable successfully
61+
I (529) main_task: Returned from app_main()
62+
I(529) OPENTHREAD:[I] P-RadioSpinel-: RCP reset: RESET_POWER_ON
63+
I(539) OPENTHREAD:[I] P-RadioSpinel-: Software reset RCP successfully
64+
I (569) ZB_ESP_SPINEL: Radio spinel workflow register successfully
65+
I (769) ESP_ZB_GATEWAY: Production configuration is ready
66+
W (769) ESP_ZB_GATEWAY: Production configuration is not present
67+
I (769) example_connect: Start example_connect.
68+
I (779) pp: pp rom version: e7ae62f
69+
I (779) net80211: net80211 rom version: e7ae62f
70+
I (799) wifi:wifi driver task: 3fca80d8, prio:23, stack:6656, core=0
71+
I (799) wifi:wifi firmware version: 3ce09e5
72+
I (799) wifi:wifi certification version: v7.0
73+
I (799) wifi:config NVS flash: enabled
74+
I (799) wifi:config nano formatting: disabled
75+
I (809) wifi:Init data frame dynamic rx buffer num: 32
76+
I (809) wifi:Init static rx mgmt buffer num: 5
77+
I (819) wifi:Init management short buffer num: 32
78+
I (819) wifi:Init dynamic tx buffer num: 32
79+
I (819) wifi:Init static tx FG buffer num: 2
80+
I (829) wifi:Init static rx buffer size: 1600
81+
I (829) wifi:Init static rx buffer num: 10
82+
I (839) wifi:Init dynamic rx buffer num: 32
83+
I (839) wifi_init: rx ba win: 6
84+
I (839) wifi_init: tcpip mbox: 32
85+
I (849) wifi_init: udp mbox: 6
86+
I (849) wifi_init: tcp mbox: 6
87+
I (849) wifi_init: tcp tx win: 5760
88+
I (859) wifi_init: tcp rx win: 5760
89+
I (859) wifi_init: tcp mss: 1440
90+
I (869) wifi_init: WiFi IRAM OP enabled
91+
I (869) wifi_init: WiFi RX IRAM OP enabled
92+
I (879) phy_init: phy_version 670,b7bc9b9,Apr 30 2024,10:54:13
93+
W (879) phy_init: failed to load RF calibration data (0x1102), falling back to full calibration
94+
I (989) wifi:mode : sta (f4:12:fa:41:a7:f4)
95+
I (989) wifi:enable tsf
96+
I (999) example_connect: Connecting to esp-office-2.4G...
97+
I (999) example_connect: Waiting for IP(s)
98+
I (3409) wifi:new:<13,0>, old:<1,0>, ap:<255,255>, sta:<13,0>, prof:1
99+
I (3649) wifi:state: init -> auth (b0)
100+
I (3719) wifi:state: auth -> assoc (0)
101+
I (3759) wifi:state: assoc -> run (10)
102+
I (3769) wifi:connected with esp-office-2.4G, aid = 1, channel 13, BW20, bssid = 9c:3a:9a:04:18:92
103+
I (3769) wifi:security: WPA2-PSK, phy: bgn, rssi: -42
104+
I (3769) wifi:pm start, type: 1
105+
106+
I (3779) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
107+
I (3789) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time: 10000
108+
I (3819) wifi:AP's beacon interval = 102400 us, DTIM period = 1
109+
I (3849) wifi:<ba-add>idx:0 (ifx:0, 9c:3a:9a:04:18:92), tid:0, ssn:0, winSize:64
110+
I (4799) esp_netif_handlers: example_netif_sta ip: 192.168.200.133, mask: 255.255.252.0, gw: 192.168.200.1
111+
I (4799) example_connect: Got IPv4 event: Interface "example_netif_sta" address: 192.168.200.133
112+
I (5509) example_connect: Got IPv6 event: Interface "example_netif_sta" address: fe80:0000:0000:0000:f612:faff:fe41:a7f4, type: ESP_IP6_ADDR_IS_LINK_LOCAL
113+
I (5509) example_common: Connected to example_netif_sta
114+
I (5519) example_common: - IPv4 address: 192.168.200.133,
115+
I (5519) example_common: - IPv6 address: fe80:0000:0000:0000:f612:faff:fe41:a7f4, type: ESP_IP6_ADDR_IS_LINK_LOCAL
116+
I (5529) wifi:Set ps type: 0, coexist: 0
117+
118+
I (5539) ESP_ZB_GATEWAY: Initialize Zigbee stack
119+
I (5549) ESP_ZB_GATEWAY: Device started up in factory-reset mode
120+
I (5549) ESP_ZB_GATEWAY: Start network formation
121+
W (5729) ESP_ZB_GATEWAY: Network(0xb8e9) closed, devices joining not allowed.
122+
I (5729) ESP_ZB_GATEWAY: Formed network successfully (Extended PAN ID: 60:55:f9:ff:fe:f7:73:e8, PAN ID: 0xb8e9, Channel:13, Short Address: 0x0000)
123+
I (6339) ESP_ZB_GATEWAY: Network(0xb8e9) is open for 180 seconds
124+
I (6339) ESP_ZB_GATEWAY: Network steering started
60125
```
61126

62127
## Gateway Functions
63128

64-
* After Zigbee gateway starts up, it will read MAC ieee address and Zigbee stack version number from the Zigbee rcp and start working together with Zigbee rcp via UART communication to form a Zigbee network
65-
* More Gateway functionalities supporting Wi-Fi interaction will come later
129+
* When the device starts up, it will attempt to connect to a Wi-Fi network and then interface with the OT-RCP via UART to form a Zigbee network.
130+
* For more Gateway functionalities, please refer to [matter zigbee bridge](https://github.com/espressif/esp-matter/tree/main/examples/bridge_apps/zigbee_bridge/) and [Rainmaker Zigbee Gateway](https://github.com/espressif/esp-rainmaker/tree/master/examples/zigbee_gateway) examples.
66131

67132
## Troubleshooting
68133

examples/zigbee/esp_zigbee_gateway/main/esp_zigbee_gateway.c

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
33
*
4-
* SPDX-License-Identifier: CC0-1.0
4+
* SPDX-License-Identifier: LicenseRef-Included
55
*
66
* Zigbee Gateway Example
77
*
@@ -17,20 +17,17 @@
1717
#include "freertos/task.h"
1818
#include "driver/usb_serial_jtag.h"
1919
#include "esp_coexist.h"
20+
#include "esp_check.h"
2021
#include "esp_log.h"
2122
#include "esp_netif.h"
23+
#include "esp_vfs_dev.h"
24+
#include "esp_vfs_usb_serial_jtag.h"
2225
#include "esp_vfs_eventfd.h"
2326
#include "esp_wifi.h"
2427
#include "nvs_flash.h"
2528
#include "protocol_examples_common.h"
2629
#include "esp_zigbee_gateway.h"
27-
28-
#include "driver/uart_vfs.h"
29-
#include "driver/usb_serial_jtag_vfs.h"
30-
31-
#if (!defined ZB_MACSPLIT_HOST && defined ZB_MACSPLIT_DEVICE)
32-
#error Only Zigbee gateway host device should be defined
33-
#endif
30+
#include "zb_config_platform.h"
3431

3532
static const char *TAG = "ESP_ZB_GATEWAY";
3633

@@ -61,7 +58,7 @@ esp_err_t esp_zb_gateway_console_init(void)
6158

6259
static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask)
6360
{
64-
ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask));
61+
ESP_RETURN_ON_FALSE(esp_zb_bdb_start_top_level_commissioning(mode_mask) == ESP_OK, , TAG, "Failed to start Zigbee bdb commissioning");
6562
}
6663

6764
void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct)
@@ -70,18 +67,19 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct)
7067
esp_err_t err_status = signal_struct->esp_err_status;
7168
esp_zb_app_signal_type_t sig_type = *p_sg_p;
7269
esp_zb_zdo_signal_device_annce_params_t *dev_annce_params = NULL;
73-
esp_zb_zdo_signal_macsplit_dev_boot_params_t *rcp_version = NULL;
7470

7571
switch (sig_type) {
7672
case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP:
77-
ESP_LOGI(TAG, "Zigbee stack initialized");
73+
#if CONFIG_EXAMPLE_CONNECT_WIFI
74+
#if CONFIG_ESP_COEX_SW_COEXIST_ENABLE
75+
esp_coex_wifi_i154_enable();
76+
#endif /* CONFIG_ESP_COEX_SW_COEXIST_ENABLE */
77+
ESP_RETURN_ON_FALSE(example_connect() == ESP_OK, , TAG, "Failed to connect to Wi-Fi");
78+
ESP_RETURN_ON_FALSE(esp_wifi_set_ps(WIFI_PS_MIN_MODEM) == ESP_OK, , TAG, "Failed to set Wi-Fi minimum modem power save type");
79+
#endif /* CONFIG_EXAMPLE_CONNECT_WIFI */
80+
ESP_LOGI(TAG, "Initialize Zigbee stack");
7881
esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION);
7982
break;
80-
case ESP_ZB_MACSPLIT_DEVICE_BOOT:
81-
ESP_LOGI(TAG, "Zigbee rcp device booted");
82-
rcp_version = (esp_zb_zdo_signal_macsplit_dev_boot_params_t *)esp_zb_app_signal_get_params(p_sg_p);
83-
ESP_LOGI(TAG, "Running RCP Version: %s", rcp_version->version_str);
84-
break;
8583
case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START:
8684
case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT:
8785
if (err_status == ESP_OK) {
@@ -90,6 +88,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct)
9088
ESP_LOGI(TAG, "Start network formation");
9189
esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION);
9290
} else {
91+
esp_zb_bdb_open_network(180);
9392
ESP_LOGI(TAG, "Device rebooted");
9493
}
9594
} else {
@@ -128,6 +127,10 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct)
128127
}
129128
}
130129
break;
130+
case ESP_ZB_ZDO_SIGNAL_PRODUCTION_CONFIG_READY:
131+
ESP_LOGI(TAG, "Production configuration is %s", err_status == ESP_OK ? "ready" : "not present");
132+
esp_zb_set_node_descriptor_manufacturer_code(ESP_MANUFACTURER_CODE);
133+
break;
131134
default:
132135
ESP_LOGI(TAG, "ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type,
133136
esp_err_to_name(err_status));
@@ -141,8 +144,25 @@ static void esp_zb_task(void *pvParameters)
141144
esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZC_CONFIG();
142145
esp_zb_init(&zb_nwk_cfg);
143146
esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK);
147+
esp_zb_ep_list_t *ep_list = esp_zb_ep_list_create();
148+
esp_zb_cluster_list_t *cluster_list = esp_zb_zcl_cluster_list_create();
149+
esp_zb_endpoint_config_t endpoint_config = {
150+
.endpoint = ESP_ZB_GATEWAY_ENDPOINT,
151+
.app_profile_id = ESP_ZB_AF_HA_PROFILE_ID,
152+
.app_device_id = ESP_ZB_HA_REMOTE_CONTROL_DEVICE_ID,
153+
.app_device_version = 0,
154+
};
155+
156+
esp_zb_attribute_list_t *basic_cluser = esp_zb_basic_cluster_create(NULL);
157+
esp_zb_basic_cluster_add_attr(basic_cluser, ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, ESP_MANUFACTURER_NAME);
158+
esp_zb_basic_cluster_add_attr(basic_cluser, ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID, ESP_MODEL_IDENTIFIER);
159+
esp_zb_cluster_list_add_basic_cluster(cluster_list, basic_cluser, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE);
160+
esp_zb_cluster_list_add_identify_cluster(cluster_list, esp_zb_identify_cluster_create(NULL), ESP_ZB_ZCL_CLUSTER_SERVER_ROLE);
161+
esp_zb_ep_list_add_gateway_ep(ep_list, cluster_list, endpoint_config);
162+
esp_zb_device_register(ep_list);
144163
ESP_ERROR_CHECK(esp_zb_start(false));
145-
esp_zb_main_loop_iteration();
164+
esp_zb_stack_main_loop();
165+
vTaskDelete(NULL);
146166
}
147167

148168
void app_main(void)
@@ -159,14 +179,5 @@ void app_main(void)
159179
#if CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG
160180
ESP_ERROR_CHECK(esp_zb_gateway_console_init());
161181
#endif
162-
#if CONFIG_EXAMPLE_CONNECT_WIFI
163-
ESP_ERROR_CHECK(example_connect());
164-
#if CONFIG_ESP_COEX_SW_COEXIST_ENABLE
165-
ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_MIN_MODEM));
166-
esp_coex_wifi_i154_enable();
167-
#else
168-
ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_NONE));
169-
#endif
170-
#endif
171-
xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL);
182+
xTaskCreate(esp_zb_task, "Zigbee_main", 8192, NULL, 5, NULL);
172183
}

0 commit comments

Comments
 (0)