Add helper API to display ZDO error string
authorsaerome kim <saerome.kim@samsung.com>
Fri, 17 Feb 2017 02:02:15 +0000 (11:02 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 11 May 2017 09:07:20 +0000 (18:07 +0900)
Change-Id: I24376c3921d26168b934c2d8fcce389e030b8448
Signed-off-by: saerome kim <saerome.kim@samsung.com>
include/zb-zdo.h
lib/zbl-zdo.c
test/zdo-binding.c
test/zdo-device.c
test/zdo-network.c

index d1fbd2e..f4b054a 100644 (file)
 #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
index bffaa2b..924d55e 100644 (file)
 
 #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) {
index 6651cb9..0544bea 100644 (file)
@@ -47,7 +47,7 @@ static char data_cluster_id[MENU_DATA_SIZE + 1] = "6";
 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)
index 97b7c32..b1c9f28 100644 (file)
@@ -52,7 +52,7 @@ static void zigbee_addr_rsp(unsigned char status, ieee_addr addr64, nwk_addr add
        *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],
@@ -67,8 +67,12 @@ static void zigbee_addr_rsp(unsigned char status, ieee_addr addr64, nwk_addr add
 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,
@@ -141,7 +145,7 @@ static void zigbee_match_desc_rsp(unsigned char status, nwk_addr addr16,
 {
        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);
@@ -159,7 +163,7 @@ static void zigbee_zdo_power_desc_rsp(unsigned char status, nwk_addr addr16,
        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, &current_power_mode);
        msg("  current_power_mode = %02X", current_power_mode);
@@ -175,22 +179,22 @@ static void zigbee_zdo_complex_desc_rsp(unsigned char status, nwk_addr addr16,
                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,
@@ -211,7 +215,7 @@ 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);
index ef1680d..20f8d94 100644 (file)
@@ -56,7 +56,7 @@ static void zigbee_zdo_mgmt_nwk_disc_rsp(unsigned char status,
        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);
@@ -105,7 +105,8 @@ static void zigbee_zdo_mgmt_lqi_rsp(unsigned char status,
 
        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",
@@ -146,8 +147,9 @@ static void zigbee_zdo_mgmt_rtg_rsp(unsigned char status,
 
        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);
@@ -177,8 +179,8 @@ static void zigbee_zdo_mgmt_bind_rsp(unsigned char status, unsigned char entries
 
        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);
@@ -205,13 +207,13 @@ static void zigbee_zdo_mgmt_bind_rsp(unsigned char status, unsigned char entries
 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)