Data Structures | |
| struct | zb_zdo_callback_info_s |
| struct | zb_zdo_default_resp_s |
| struct | zb_zdo_get_diag_data_req_params_s |
| struct | zb_zdo_get_diag_data_resp_params_s |
Typedefs | |
| typedef struct zb_zdo_callback_info_s | zb_zdo_callback_info_t |
| typedef struct zb_zdo_default_resp_s | zb_zdo_default_resp_t |
| typedef struct zb_zdo_get_diag_data_req_params_s | zb_zdo_get_diag_data_req_params_t |
| typedef struct zb_zdo_get_diag_data_resp_params_s | zb_zdo_get_diag_data_resp_params_t |
Functions | |
| void | zb_zdo_get_diag_data (zb_uint16_t short_address, zb_uint8_t *lqi, zb_int8_t *rssi) |
| Obtains last known LQI and RSSI values from device with specified short address. More... | |
| zb_ret_t | zb_zdo_get_diag_data_async (zb_bufid_t buf, zb_callback_t cb) |
| Obtains last known LQI and RSSI values from the device with the specified short address. More... | |
Detailed Description
Function Documentation
◆ zb_zdo_get_diag_data()
| void zb_zdo_get_diag_data | ( | zb_uint16_t | short_address, |
| zb_uint8_t * | lqi, | ||
| zb_int8_t * | rssi | ||
| ) |
Obtains last known LQI and RSSI values from device with specified short address.
- Parameters
-
[in] short_address - address of device [in,out] lqi - pointer to zb_uint8_t variable to store lqi value [in,out] rssi - pointer to zb_uint8_t variable to store rssi value
Example:
zb_uint8_t zcl_specific_cluster_cmd_handler(zb_uint8_t param){ zb_zcl_parsed_hdr_t cmd_info; zb_uint8_t lqi = ZB_MAC_LQI_UNDEFINED; zb_int8_t rssi = ZB_MAC_RSSI_UNDEFINED; TRACE_MSG(TRACE_APP1, ">> zcl_specific_cluster_cmd_handler", (FMT__0)); ZB_ZCL_COPY_PARSED_HEADER(param, &cmd_info); g_dst_addr = ZB_ZCL_PARSED_HDR_SHORT_DATA(&cmd_info).source.u.short_addr; g_endpoint = ZB_ZCL_PARSED_HDR_SHORT_DATA(&cmd_info).src_endpoint; g_addr_mode = ZB_APS_ADDR_MODE_16_ENDP_PRESENT; ZB_ZCL_DEBUG_DUMP_HEADER(&cmd_info); zb_zdo_get_diag_data(g_dst_addr, &lqi, &rssi); TRACE_MSG(TRACE_APP3, "lqi %hd rssi %d", (FMT__H_H, lqi, rssi)); { TRACE_ERROR, "Unsupported \"from server\" command direction", (FMT__0)); } TRACE_MSG(TRACE_APP1, "<< zcl_specific_cluster_cmd_handler", (FMT__0)); return ZB_FALSE;}
◆ zb_zdo_get_diag_data_async()
| zb_ret_t zb_zdo_get_diag_data_async | ( | zb_bufid_t | buf, |
| zb_callback_t | cb | ||
| ) |
Obtains last known LQI and RSSI values from the device with the specified short address.
- Parameters
-
buf - a buffer with request params, see zb_zdo_get_diag_data_req_params_t cb - a user's function to call when the response is ready. See zb_zdo_get_diag_data_resp_params_t for response params description.
- Returns
- status, RET_OK - request successfully sent, RET_INVALID_PARAMETER_1 if buf is ZB_BUF_INVALID, RET_INVALID_PARAMETER_2 if cb is NULL, RET_BUSY if this request can't be served at the moment
Example:
{ zb_zdo_get_diag_data_resp_params_t *resp_params; resp_params = ZB_BUF_GET_PARAM(buf, zb_zdo_get_diag_data_resp_params_t); TRACE_MSG(TRACE_APP1, "handle_diag_data_resp, status: %d, addr: 0x%x, lqi: %d, rssi: %d", (FMT__D_D_D_D, resp_params->status, resp_params->short_address, resp_params->lqi, resp_params->rssi)); zb_buf_free(buf);}{ zb_bufid_t buf; buf = zb_buf_get_out(); if (buf != ZB_BUF_INVALID) { req = ZB_BUF_GET_PARAM(buf, zb_zdo_get_diag_data_req_params_t); ZB_BZERO(req, sizeof(*req)); req->short_address = short_address; zb_zdo_get_diag_data_async(buf, handle_diag_data_resp); } else { TRACE_MSG(TRACE_ERROR, "Failed to get a buffer", (FMT__0)); }}