Skip to content

Commit 42bd700

Browse files
refactor(fw): put zigbee and thread modules again
At this commit the code is not compiling
1 parent 82c5065 commit 42bd700

26 files changed

+2331
-237
lines changed

firmware/ESP_IDF_5.5_MIGRATION_ZIGBEE.md

Lines changed: 0 additions & 135 deletions
This file was deleted.

firmware/components/zigbee_switch/zigbee_switch.c

Lines changed: 95 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -132,101 +132,101 @@ static void user_find_cb(esp_zb_zdp_status_t zdo_status,
132132
}
133133
}
134134

135-
// void esp_zb_app_signal_handler(esp_zb_app_signal_t* signal_struct) {
136-
// uint32_t* p_sg_p = signal_struct->p_app_signal;
137-
// esp_err_t err_status = signal_struct->esp_err_status;
138-
// esp_zb_app_signal_type_t sig_type = *p_sg_p;
139-
// esp_zb_zdo_signal_device_annce_params_t* dev_annce_params = NULL;
140-
// switch (sig_type) {
141-
// case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP:
142-
// ESP_LOGI(TAG, "Zigbee stack initialized");
143-
// switch_state = SWITCH_CREATE_NETWORK;
144-
// esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION);
145-
// break;
146-
// case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START:
147-
// case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT:
148-
// if (err_status == ESP_OK) {
149-
// ESP_LOGI(TAG, "Device started up in %s factory-reset mode",
150-
// esp_zb_bdb_is_factory_new() ? "" : "non");
151-
// if (esp_zb_bdb_is_factory_new()) {
152-
// ESP_LOGI(TAG, "Start network formation");
153-
// esp_zb_bdb_start_top_level_commissioning(
154-
// ESP_ZB_BDB_MODE_NETWORK_FORMATION);
155-
// } else {
156-
// ESP_LOGI(TAG, "Device rebooted");
157-
// }
158-
// } else {
159-
// ESP_LOGE(TAG, "Failed to initialize Zigbee stack (status: %s)",
160-
// esp_err_to_name(err_status));
161-
// }
162-
// break;
163-
// case ESP_ZB_BDB_SIGNAL_FORMATION:
164-
// if (err_status == ESP_OK) {
165-
// esp_zb_ieee_addr_t extended_pan_id;
166-
// esp_zb_get_extended_pan_id(extended_pan_id);
167-
// ESP_LOGI(TAG,
168-
// "Formed network successfully (Extended PAN ID: "
169-
// "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, "
170-
// "Channel:%d, Short Address: 0x%04hx)",
171-
// extended_pan_id[7], extended_pan_id[6], extended_pan_id[5],
172-
// extended_pan_id[4], extended_pan_id[3], extended_pan_id[2],
173-
// extended_pan_id[1], extended_pan_id[0], esp_zb_get_pan_id(),
174-
// esp_zb_get_current_channel(), esp_zb_get_short_address());
175-
// esp_zb_bdb_start_top_level_commissioning(
176-
// ESP_ZB_BDB_MODE_NETWORK_STEERING);
177-
// } else {
178-
// ESP_LOGI(TAG, "Restart network formation (status: %s)",
179-
// esp_err_to_name(err_status));
180-
// esp_zb_scheduler_alarm(
181-
// (esp_zb_callback_t) bdb_start_top_level_commissioning_cb,
182-
// ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000);
183-
// }
184-
// break;
185-
// case ESP_ZB_BDB_SIGNAL_STEERING:
186-
// if (err_status == ESP_OK) {
187-
// ESP_LOGI(TAG, "Network steering started");
188-
// switch_state = SWITCH_WAIT_FOR_DEVICES;
189-
// }
190-
// break;
191-
// case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE:
192-
// dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t*)
193-
// esp_zb_app_signal_get_params(p_sg_p);
194-
// ESP_LOGI(TAG, "New device commissioned or rejoined (short: 0x%04hx)",
195-
// dev_annce_params->device_short_addr);
196-
// esp_zb_zdo_match_desc_req_param_t cmd_req;
197-
// cmd_req.dst_nwk_addr = dev_annce_params->device_short_addr;
198-
// cmd_req.addr_of_interest = dev_annce_params->device_short_addr;
199-
// esp_zb_zdo_find_on_off_light(&cmd_req, user_find_cb, NULL);
200-
// break;
201-
// case ESP_ZB_NWK_SIGNAL_PERMIT_JOIN_STATUS:
202-
// if (err_status == ESP_OK) {
203-
// if (*(uint8_t*) esp_zb_app_signal_get_params(p_sg_p)) {
204-
// ESP_LOGI(TAG, "Network(0x%04hx) is open for %d seconds",
205-
// esp_zb_get_pan_id(),
206-
// *(uint8_t*) esp_zb_app_signal_get_params(p_sg_p));
207-
// open_network_duration =
208-
// *(uint8_t*) esp_zb_app_signal_get_params(p_sg_p);
209-
// vTaskResume(network_open_task_handle);
210-
// } else {
211-
// if (switch_state != SWITCH_LIGHT_FOUND &&
212-
// switch_state != SWITCH_WAIT_FOR_DEVICES) {
213-
// switch_state = SWITCH_NETWORK_FAILED;
214-
// }
215-
// if (switch_state == SWITCH_WAIT_FOR_DEVICES) {
216-
// switch_state = SWITCH_NO_DEVICES;
217-
// }
218-
// ESP_LOGW(TAG, "Network(0x%04hx) closed, devices joining not allowed.",
219-
// esp_zb_get_pan_id());
220-
// }
221-
// }
222-
// break;
223-
// default:
224-
// ESP_LOGI(TAG, "ZDO signal: %s (0x%x), status: %s",
225-
// esp_zb_zdo_signal_to_string(sig_type), sig_type,
226-
// esp_err_to_name(err_status));
227-
// break;
228-
// }
229-
// }
135+
void esp_zb_app_signal_handler(esp_zb_app_signal_t* signal_struct) {
136+
uint32_t* p_sg_p = signal_struct->p_app_signal;
137+
esp_err_t err_status = signal_struct->esp_err_status;
138+
esp_zb_app_signal_type_t sig_type = *p_sg_p;
139+
esp_zb_zdo_signal_device_annce_params_t* dev_annce_params = NULL;
140+
switch (sig_type) {
141+
case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP:
142+
ESP_LOGI(TAG, "Zigbee stack initialized");
143+
switch_state = SWITCH_CREATE_NETWORK;
144+
esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION);
145+
break;
146+
case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START:
147+
case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT:
148+
if (err_status == ESP_OK) {
149+
ESP_LOGI(TAG, "Device started up in %s factory-reset mode",
150+
esp_zb_bdb_is_factory_new() ? "" : "non");
151+
if (esp_zb_bdb_is_factory_new()) {
152+
ESP_LOGI(TAG, "Start network formation");
153+
esp_zb_bdb_start_top_level_commissioning(
154+
ESP_ZB_BDB_MODE_NETWORK_FORMATION);
155+
} else {
156+
ESP_LOGI(TAG, "Device rebooted");
157+
}
158+
} else {
159+
ESP_LOGE(TAG, "Failed to initialize Zigbee stack (status: %s)",
160+
esp_err_to_name(err_status));
161+
}
162+
break;
163+
case ESP_ZB_BDB_SIGNAL_FORMATION:
164+
if (err_status == ESP_OK) {
165+
esp_zb_ieee_addr_t extended_pan_id;
166+
esp_zb_get_extended_pan_id(extended_pan_id);
167+
ESP_LOGI(TAG,
168+
"Formed network successfully (Extended PAN ID: "
169+
"%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, "
170+
"Channel:%d, Short Address: 0x%04hx)",
171+
extended_pan_id[7], extended_pan_id[6], extended_pan_id[5],
172+
extended_pan_id[4], extended_pan_id[3], extended_pan_id[2],
173+
extended_pan_id[1], extended_pan_id[0], esp_zb_get_pan_id(),
174+
esp_zb_get_current_channel(), esp_zb_get_short_address());
175+
esp_zb_bdb_start_top_level_commissioning(
176+
ESP_ZB_BDB_MODE_NETWORK_STEERING);
177+
} else {
178+
ESP_LOGI(TAG, "Restart network formation (status: %s)",
179+
esp_err_to_name(err_status));
180+
esp_zb_scheduler_alarm(
181+
(esp_zb_callback_t) bdb_start_top_level_commissioning_cb,
182+
ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000);
183+
}
184+
break;
185+
case ESP_ZB_BDB_SIGNAL_STEERING:
186+
if (err_status == ESP_OK) {
187+
ESP_LOGI(TAG, "Network steering started");
188+
switch_state = SWITCH_WAIT_FOR_DEVICES;
189+
}
190+
break;
191+
case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE:
192+
dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t*)
193+
esp_zb_app_signal_get_params(p_sg_p);
194+
ESP_LOGI(TAG, "New device commissioned or rejoined (short: 0x%04hx)",
195+
dev_annce_params->device_short_addr);
196+
esp_zb_zdo_match_desc_req_param_t cmd_req;
197+
cmd_req.dst_nwk_addr = dev_annce_params->device_short_addr;
198+
cmd_req.addr_of_interest = dev_annce_params->device_short_addr;
199+
esp_zb_zdo_find_on_off_light(&cmd_req, user_find_cb, NULL);
200+
break;
201+
case ESP_ZB_NWK_SIGNAL_PERMIT_JOIN_STATUS:
202+
if (err_status == ESP_OK) {
203+
if (*(uint8_t*) esp_zb_app_signal_get_params(p_sg_p)) {
204+
ESP_LOGI(TAG, "Network(0x%04hx) is open for %d seconds",
205+
esp_zb_get_pan_id(),
206+
*(uint8_t*) esp_zb_app_signal_get_params(p_sg_p));
207+
open_network_duration =
208+
*(uint8_t*) esp_zb_app_signal_get_params(p_sg_p);
209+
vTaskResume(network_open_task_handle);
210+
} else {
211+
if (switch_state != SWITCH_LIGHT_FOUND &&
212+
switch_state != SWITCH_WAIT_FOR_DEVICES) {
213+
switch_state = SWITCH_NETWORK_FAILED;
214+
}
215+
if (switch_state == SWITCH_WAIT_FOR_DEVICES) {
216+
switch_state = SWITCH_NO_DEVICES;
217+
}
218+
ESP_LOGW(TAG, "Network(0x%04hx) closed, devices joining not allowed.",
219+
esp_zb_get_pan_id());
220+
}
221+
}
222+
break;
223+
default:
224+
ESP_LOGI(TAG, "ZDO signal: %s (0x%x), status: %s",
225+
esp_zb_zdo_signal_to_string(sig_type), sig_type,
226+
esp_err_to_name(err_status));
227+
break;
228+
}
229+
}
230230

231231
/**
232232
* @brief Task to keep track of the network open duration

0 commit comments

Comments
 (0)