This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2530:ZStack 2.51 A 版本

Guru**** 2539500 points
Other Parts Discussed in Thread: Z-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1040054/cc2530-zstack-2-51-a-version

器件型号:CC2530
Thread 中讨论的其他器件:Z-stack

问题:

协调器主动删除已进入网络的终端或路由节点的信息、该函数返回 true、并在1秒后再次返回 false。 一两秒后、协调器自动复位、所有节点都处于网络外、但不要删除单个终端或路由。

客户想知道 是否有其他方法来执行此功能。

以下是客户以前尝试过的两个选项:

备选案文1. 备选案文2.
处理 协调器根据16位短地址寻址 Mac 地址,然后调用 ZDP_MgmtLeaveReq()删除节点信息。 协调器根据16位短地址对 Mac 地址进行寻址,然后调用 AssocRemove()删除节点信息。
结果

成功计算节点的网状网络后,协调器将收到“删除节点”操作消息并执行以下功能。 第一个 ret 返回 true (1)、第二个 ret 返回 false (0)、在一到两秒后、协调器自动重新启动。 以前连接到网络的节点也不在网络上。

zAddrType_t addr_delet;
uint8 IEEEbuf[8]={0};
uint8 ret[1];
Addr_delet.addrMode = Addr16Bit;
addr_delet.addr.shortAddr =shortaddr;
AddrMgrExtAddrLookup (addr_delet.addr.shortAddr、IEEEbuf);
if (ZDP_MgmtLeaveReq ((zAddrType_t *)&addr_delet、IEEEbuf、false、false、false)= ZSuccessess){
HalUARTWrite (0、ret、1);//打印 Remove Terminal Success 标志
}否则{
HalUARTWrite (0、ret、1);//打印 Remove Terminal Success 标志

与选项1相同。 功能如下:

NLME_LEAVeREQ_t REQ;
REQ.extAddr = IEEEbuf;
REQ.removeChildren = false;
REQ.REALI = false;
REQ.SILENT = false;
RET[0]= NLME_LEAVeREQ (&REQ);//使用 leave 命令;清除与过时器件相关的条目
RET[0]=AssocRemove (IEEEbuf);//this 函数调用生效、前一行不会生效


返回 RET[0];

 

此致、

樱桃周

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    ZDP_MgmtLeaveReq 不会导致协调器复位。 您应该检查您的应用程序代码以查看它在哪里引起复位。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Cherry、

    到目前 为止、您提供的描述还不能让我对手头的问题有一个好的了解。  是否未正确从网络中删除设备、重新启动协调器或其他内容?  与往常一样、如果可能、请让客户提供监听器日志。  另请注意、休假请求不会删除本地设备信息、这在收到实际的休假数据包时发生。  我不确定它是否在 Z-Stack 2.51中可用、但 ZDRApp_LeaveUpdate 显示 了必须执行哪些 API 才能从网络中完全删除器件。

    此致、
    Ryan