5.1.2 Zigbee Device Object (ZDO) APIs
The Zigbee Device Objects (ZDO) component of the BitCloud® stack provides an interface between the application framework, which is a collection of application objects, the device profile and the APS layer. ZDO offers several asynchronous requests for performing basic networking operations, such as network formation and joining, as well as a set of functions that help to obtain network information from internal stack structures. Zigbee Device Profile (ZDP) requests maintain a considerable portion of the network-related functionality.
The following table provides details about the list of public API functions of the ZDO component.
Function Prototype | Description |
---|---|
void ZDO_StartNetworkReq(ZDO_StartNetworkReq_t *req) | Performs network formation for coordinator and network join for router or end device |
void ZDO_ResetNetworkReq(ZDO_ResetNetworkReq_t *req) | Resets the stack without sending any commands to the network |
void ZDO_MgmtNwkUpdateNotf(ZDO_MgmtNwkUpdateNotf_t *nwkParams) | Notify – update notification parameters |
void ZDO_ZdpReq(ZDO_ZdpReq_t *zdpReq) | Sends a ZDP request |
void ZDO_GetLqiRssi(ZDO_GetLqiRssi_t *lqiRssi) | Requests for LQI and RSSI |
void ZDO_GetParentAddr(NodeAddr_t *parentAddr) | Retrieves parent’s short and extended addresses |
void ZDO_GetChildrenAddr(ZDO_GetChildrenAddr_t *childrenAddr) | Retrieves children’s short and extended addresses |
void ZDO_SetTxPowerReq(ZDO_SetTxPowerReq_t *req) | Sets TX power |
ZDO_NwkStatus_t ZDO_GetNwkStatus(void) | Returns the network status |
void ZDO_GetNeibTable(ZDO_Neib_t *table) | Retrieves the neighbor table |
void ZDO_SleepReq(ZDO_SleepReq_t *req) | Puts the device into the sleep mode |
void ZDO_WakeUpInd(void) | Sleep timer wake-up indication |
void ZDO_WakeUpReq(ZDO_WakeUpReq_t *req) | Forces the stack to wake up from the Sleep mode |
void ZDO_SetChannel(uint8_t channel) | Sets channel to ZDO information base |
ZDO_Status_t ZDO_StartSyncReq(void) | Starts sending sync requests (polling the parent) |
ZDO_Status_t ZDO_StopSyncReq(void) | Stops sending sync requests (polling the parent) |
void ZDO_BindIndication(ZDO_BindInd_t *bindInd) | Indicates that a new binding was added to the local binding table |
void ZDO_UnbindIndication(ZDO_UnbindInd_t *unbindInd) | Indicates that a certain binding was removed from the local binding table |
void ZDO_ResolveAddrReq(ZDO_ResolveAddrReq_t *req) | Determines the missing short address corresponding to the given extended address or the missing extended address corresponding to the given short address |
const ExtAddr_t* ZDO_FindExtByShort(const ShortAddr_t shortAddr) | Determines extended 64-bit address by NWK address |
const ShortAddr_t* ZDO_FindShortByExt(const ExtAddr_t *const extAddr) | Determines NWK address by extended 64-bit address |
void ZDO_GetNeibAmount(ZDO_GetNeibAmount_t *amount) | Gets neighbor routers and children amount |
void const NodeDescriptor_t*ZDO_GetNodeDescriptor(void) | Gets the node descriptor of the device |
void ZDO_IncreaseJoinAttemptsAmount(uint8_t amount) | Increases join network attempts amount |
bool ZDO_IsDeviceReadyToSleep(void) | Returns the information whether the stack is ready to sleep |