TI中文支持网
TI专业的中文技术问题搜集分享网站

z-stack2.5.1a协议栈中,如何知道协调器删除其他已经加过网的节点是否成功

大家好,请教一个问题

z-stack2.5.1a协议栈中,在协调器中,删除已经加入网络的节点,协调器会发送一个删除命令给待删除的节点,节点收到后,会回应一个状态信息,这时候才能成功删除节点,如果相应的节点没有收到的话,就会删除不成功。

那么,问题来了,在协调器中通过什么判断是否收到节点的回应信息呢?

希望大神帮忙解答,万分感谢

YiKai Chen:

應該是要收到ZDP MGMT leave response

Viki Shi:

发送ZDP_MgmtLeaveReq()后,节点回复ZDP_MgmtLeaveRsp()

Alvin Chen:

回复 Viki Shi:

增加注册回调函数ZDO_RegisterForZDOMsg(task_id, Mgmt_Leave_rsp);在GenericApp_Init里面。

在 GenericApp_ProcessZDOMsgs进行处理:  case  Mgmt_Leave_rsp:      ZDO_ParseMgmtLeaveRsp( pMsg );

haiouo r:

回复 Alvin Chen:

感谢您的回答,但是还有个问题, 这个函数ZDO_ParseMgmtLeaveRsp( pMsg )是自己定义,然后自己定义如何解析这个回应消息的对吧,那这个pMsg是如何获取呢,麻烦您能告诉我一下么,谢谢

Alvin Chen:

回复 haiouo r:

GenericApp.cstatic void GenericApp_ProcessZDOMsgs( zdoIncomingMsg_t *inMsg )

haiouo r:

回复 Alvin Chen:

感谢您 的回答,我可能描述不够清楚,下面再详细描述一下:
我发现这个函数的定义
/** ZDO_ParseMgmtLeaveRsp – Parse the Mgmt_Leave_rsp message.*Parameter: a – pointer to the message to parse [zdoIncomingMsg_t *]**returns the status field of the message.*/
#define ZDO_ParseMgmtLeaveRsp(a) ((uint8)(*(a->asdu)));

然后我找到这个结构体zdoIncomingMsg_t的定义,
typedef struct
{osal_event_hdr_t hdr;zAddrType_tsrcAddr;uint8wasBroadcast;cId_tclusterID;uint8SecurityUse;uint8TransSeq;uint8asduLen;uint16macDestAddr;uint8*asdu;uint16macSrcAddr;
} zdoIncomingMsg_t;

不明白这里的*asdu这个指针的具体含义,其实我的最终意思就是想知道 ZDO_ParseMgmtLeaveRsp(pMsg)这函数里面的参数pMsg包含什么内容

YiKai Chen:

回复 haiouo r:

asdu这个指针的具体含义是APS service data unit

haiouo r:

回复 Alvin Chen:

非常感谢

赞(0)
未经允许不得转载:TI中文支持网 » z-stack2.5.1a协议栈中,如何知道协调器删除其他已经加过网的节点是否成功
分享到: 更多 (0)