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:Z-Stack nwkUpdateId

Guru**** 2556810 points
Other Parts Discussed in Thread: Z-STACK, SIMPLELINK-CC13X2-26X2-SDK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/965177/cc2530-z-stack-nwkupdateid

器件型号:CC2530
Thread 中讨论的其他器件:Z-stackSIMPLELINK-CC13X2-26X2-SDK

您好!

我正在读取"Z-Stack 3.0.2"的源代码。
我对 nwkUpdateId 如何进行舍入有疑问。

nwkUpdateId 递增。
nwkUpdateId 从0xFF 恢复为0。
以下比较方法、我认为 nwkUpdateId 不会更新。
这是可以的吗?
如果错误、应如何修复?

例如
  uint8 nwkUpdateId;
  (当前) _NIB.nwkUpdateId = 0xFF
  (下一页)    REQ.nwkUpdateId = 0xFF+1 = 0

ZDNwkMgr.c

 静态空 ZDNwkMgr_ProcessMgmtNWkUpdateReq (zdoIncomingMsg_t *inMsg)
 {
   否则(REQ.scanDuration == 0xFE)
   {
XX   IF (((REQ.nwkUpdateId >_NIB.nwkUpdateId)&&(Req.channelMask!= 0))
     {
       //在信标中设置更新 ID
     }
   }
   否则(REQ.scanDuration == 0xFF)
   {
XX   IF (((REQ.nwkUpdateId >_NIB.nwkUpdateId)&&(Req.channelMask!= 0))
     {
       //在信标中设置更新 ID
     }
   }

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

    您好!

    我同意 Zigbee PRO 2017规范规定 nwkUpdateId 应考虑回绕、但 ZDNwkMgr_ProcessMgmtNWkUpdateReq 不考虑这一点。  我建议修改 if 语句如下:

    if (Req.nwkUpdateId >_NIB.nwkUpdateId ||(Req.nwkUpdateId = 0 &&_NIB.nwkUpdateId = 0xFF)) 

    我已通知软件开发团队、以便可以解决 SIMPLELINK-CC13X2-26X2-SDK 中的问题。

    此致、
    Ryan

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

    @Ryan Brown1、如果我们不在 Z-Stack 中添加此修复、会出现什么问题?

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

    您好、Yikai、

    如果接收到的网络更新请求包含溢出为零的 nwkUpdateId、则 Z-Stack 器件不会继续更新网络 ID 并更改通道。  如果没有恶意意图、这将需要在 Zigbee 网络的整个生命周期内进行数百个通道更新。

    此致、
    Ryan