#include <zdo/zb-zdo-svc-disc.h>
#include <zdo/zb-zdo-bind-mgr.h>
+/**
+ * @brief Return readabble ZDO error code
+ * @details Return ZDO error code string
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] id ZDO id
+ *
+ * @return pointer of error message id string
+ *
+ */
+const char* zb_zdo_get_error_message(int id);
/**
* @brief Return readabble Zigbee profile id
#define CASE_TO_STR(x) case x: return #x;
+API const char* zb_zdo_get_error_message(int id)
+{
+ switch(id) {
+ CASE_TO_STR(ZB_ZDP_SUCCESS)
+ CASE_TO_STR(ZB_ZDP_INV_REQUESTTYPE)
+ CASE_TO_STR(ZB_ZDP_DEVICE_NOT_FOUND)
+ CASE_TO_STR(ZB_ZDP_INVALID_EP)
+ CASE_TO_STR(ZB_ZDP_NOT_ACTIVE)
+ CASE_TO_STR(ZB_ZDP_NOT_SUPPORTED)
+ CASE_TO_STR(ZB_ZDP_TIMEOUT)
+ CASE_TO_STR(ZB_ZDP_NO_MATCH)
+ CASE_TO_STR(ZB_ZDP_NO_ENTRY)
+ CASE_TO_STR(ZB_ZDP_NO_DESCRIPTOR)
+ CASE_TO_STR(ZB_ZDP_INSUFFICIENT_SPACE)
+ CASE_TO_STR(ZB_ZDP_NOT_PERMITED)
+ CASE_TO_STR(ZB_ZDP_TABLE_FULL)
+ CASE_TO_STR(ZB_ZDP_NOT_AUTHORIZED)
+ CASE_TO_STR(ZB_ZDP_DEVICE_BINDING_TABLE_FULL)
+ default:
+ return "ZB_ZDP_UNKNOWN";
+ }
+}
+
API const char* zb_get_profile_id_string(int profile_id)
{
switch(profile_id) {
static void zigbee_zdo_bind_unbind_rsp(unsigned char status, void *user_data)
{
msg("");
- msgp("zigbee_zdo_bind_unbind_rsp() status = 0x%02X", status);
+ msgp("zigbee_zdo_bind_unbind_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
}
static int run_bind_req(MManager *mm, struct menu_data *menu)
*assoc_dev_addr_list, void *user_data)
{
msg("");
- msgp("zb_zdo_addr_rsp() status = 0x%02X", status);
+ msgp("zb_zdo_addr_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
if (addr64) {
msg("IEEE Address : %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:",
addr64[0], addr64[1], addr64[2], addr64[3],
static void zigbee_active_ep_rsp(unsigned char status, nwk_addr addr16,
unsigned char count, unsigned char *ep_list, void *user_data)
{
+ int i;
msg("");
- msgp("zb_zdo_active_ep_rsp() status = 0x%02X", status);
+ msg("count = 0x%02X", count);
+ for (i = 0; i < count; i++)
+ msg("EP = 0x%02X", ep_list[i]);
+ msgp("zb_zdo_active_ep_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
}
static void zigbee_simple_desc_rsp(nwk_addr addr16, unsigned char len,
{
unsigned char i;
msg("");
- msgp("zb_zdo_match_desc_rsp()");
+ msgp("zb_zdo_match_desc_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
msg(" nwk_addr = 0x%04X status = 0x%02X match_length = %d",
addr16, status, match_length);
unsigned char current_power_source_lv;
msg("");
- msgp("zb_zdo_power_desc_rsp() status = 0x%02X", status);
+ msgp("zb_zdo_power_desc_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
zb_node_power_desc_get_current_power_mode(power_desc, ¤t_power_mode);
msg(" current_power_mode = %02X", current_power_mode);
unsigned char length, unsigned char *complex_desc, void *user_data)
{
msg("");
- msgp("zb_zdo_complex_desc_rsp() status = 0x%02X length = %d",
- status, length);
+ msgp("zb_zdo_complex_desc_rsp() status = 0x%02X (%s) length = %d",
+ status, zb_zdo_get_error_message(status), length);
}
static void zigbee_zdo_user_desc_rsp(unsigned char status, nwk_addr addr16,
unsigned char length, unsigned char *user_desc, void *user_data)
{
msg("");
- msgp("zb_zdo_user_desc_rsp() status = 0x%02X length = %d",
- status, length);
+ msgp("zb_zdo_user_desc_rsp() status = 0x%02X (%s) length = %d",
+ status, zb_zdo_get_error_message(status), length);
}
static void zigbee_zdo_user_desc_conf(unsigned char status, void *user_data)
{
msg("");
- msgp("zb_zdo_user_desc_conf() status = 0x%02X", status);
+ msgp("zb_zdo_user_desc_conf() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
}
static void zigbee_zdo_node_desc_rsp(unsigned char status, nwk_addr addr16,
msg("");
msgp("zb_zdo_node_desc_rsp()");
- msgp(" nwk_addr = 0x%04X status = 0x%02X", addr16, status);
+ msgp(" nwk_addr = 0x%04X status = 0x%02X (%s)", addr16, status, zb_zdo_get_error_message(status));
zb_node_desc_get_logical_type(desc, &logical_type);
msg(" logical_type = 0x%02X", logical_type);
unsigned char permit_joining;
msg("");
- msgp("zb_zdo_mgmt_nwk_disc_rsp() status = 0x%02X", status);
+ msgp("zb_zdo_mgmt_nwk_disc_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
if (!status) {
msg(" network_count 0x%02X", network_count);
msg("");
msgp("zb_zdo_mgmt_lqi_rsp()");
- msgp(" status = 0x%02X start_idx=%d count=%d", status, start_idx, neighbor_table_list_count);
+ msgp(" status = 0x%02X (%s) start_idx=%d count=%d", status,
+ zb_zdo_get_error_message(status), start_idx, neighbor_table_list_count);
for (i = start_idx; i < neighbor_table_list_count; i++) {
zb_neighbor_table_desc_get_extended_pan_id(neighbor_table_list[i], extended_pan_id);
msg(" ext PAN ID = %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X",
msg("");
msgp("zb_zdo_mgmt_rtg_rsp()");
- msgp(" status = 0x%02X routing_table_entries=%d start_idx=%d count=%d",
- status, routing_table_entries, start_idx, routing_table_list_count);
+ msgp(" status = 0x%02X (%s) routing_table_entries=%d start_idx=%d count=%d",
+ status, zb_zdo_get_error_message(status),
+ routing_table_entries, start_idx, routing_table_list_count);
for (i = start_idx; i < routing_table_list_count; i++) {
zb_routing_table_get_dst_addr(routing_table_list[i], &dst_addr);
msg(" [%d] Destination address = 0x%04X", i, dst_addr);
msg("");
msgp("zb_zdo_mgmt_bind_rsp()");
- msgp(" status = 0x%02X start_idx = %d number of records = %d",
- status, start_idx, binding_table_list_count);
+ msgp(" status = 0x%02X (%s) start_idx = %d number of records = %d",
+ status, zb_zdo_get_error_message(status), start_idx, binding_table_list_count);
for (i = 0; i < binding_table_list_count; i++) {
zb_binding_table_get_src_addr(list[i], addr64);
static void zigbee_zdo_mgmt_leave_rsp(unsigned char status, void *user_data)
{
msg("");
- msgp("zb_zdo_mgmt_leave_rsp() status = 0x%02X", status);
+ msgp("zb_zdo_mgmt_leave_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
}
static void zigbee_zdo_mgmt_permit_joining_rsp(unsigned char status, void *user_data)
{
msg("");
- msgp("zb_zdo_mgmt_permit_joining_rsp() status = 0x%02X", status);
+ msgp("zb_zdo_mgmt_permit_joining_rsp() status = 0x%02X (%s)", status, zb_zdo_get_error_message(status));
}
static int run_mgmt_nwk_disc_req(MManager *mm, struct menu_data *menu)