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.

[参考译文] CC2652R:当终端设备收到启用了重新加入标志的 NWK-LEave 命令时、BDB_REPORTING 将变得疯狂

Guru**** 3003130 points

Other Parts Discussed in Thread: SIMPLELINK-CC13X2-26X2-SDK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1016537/cc2652r-when-end-device-receives-nwk-leave-command-with-rejoin-flag-enabled-bdb_reporting-will-become-crazy

器件型号:CC2652R
主题中讨论的其他器件:SIMPLELINK-CC13X2-26X2-SDK

我已尝试向终端设备发送带重加入标志的 NWK-Leave 命令。 它离开其当前父节点,并重新加入新的父节点。

但在重新加入成功后、其 BDB 报告速度会更快、在 ZCL-Report-Command 数据包中、报告属性在同一数据包中出现两次。

NWK 密钥: 3c AA CD 62 66 0F 2A CD 3C 50 66 60 FB DD 6B

e2e.ti.com/.../bdb-reporting-issue.zip

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

    嘿、Aries、

    我在恒温器和温度传感器示例应用中没有遇到类似的问题、在使用温度传感器和恒温器器件类型的示例应用时也没有遇到类似的问题。  但当被要求离开时、ZED 重新加入了同一个 ZC 父级。  您能否说明重新创建行为需要什么?

    此致、
    Ryan

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

    我在 SDK-5.10中发现了此问题。

    ZED 将在收到 Leave-重返社会命令后的每个位置重新加入任何有效的父级,但其报告数据包会变得疯狂。

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

    您可以尝试将带有重入标志"true"的 ZDO-Mgmt-leave-Req 命令发送到 ZED。

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

    我使用了 SIMPLELINK-CC13X2-26X2-SDK v5.10并发送了一个带有选项的 Zstackapi_ZdoMgmtLeaveReq。重新加入= true、但没有遇到您描述的情况。

    此致、
    Ryan

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

    1、ZED 应具有 BDB 报告发送的任何属性。  maxReportInt 和 minReportInt 必须有效。

    2、当 ZDE 正常工作时、将报告 report-attribute、同时更改了 attribute 和 period timeout。

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

    我使用的 ZED 与您所描述的完全相同。  请评估开箱即用的恒温器/温度传感器示例、并告诉我需要进行哪些更改才能 解决问题。

    此致、
    Ryan

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

    我已经完成了。 我已经提供了监听器文件。

    e2e.ti.com/.../_0A4EA562025F385E_2.zip

    TOW 相同属性包含在一个数据包中

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

    当我向 ZED 发送4次重新加入-离开时、一个数据包中会出现5个相同的属性。

    e2e.ti.com/.../_025F385E_.zip

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

    您好 Aries、

    我也能够观察到这种行为、这与 此 E2E 帖子中所述的原始问题不同。  我注意到、一旦执行复位、ZED 温度传感器将返回仅报告一个属性(即无重复项)。  如果 将 SysCtrlSystemReset 添加到 ZDO_ProcessMgmtLeaveReq 的末尾、则此问题似乎可以解决、尽管我尚未对该解决方案进行全面测试。  我将检查即将发布的 v5.20版本、并通知软件开发团队获取正式的解决方法建议。

    编辑:此问题在 v5.20中仍然存在

    此致、
    Ryan

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

    如果发生此问题 ,“报告更改”将变为无效。  "Zstackapi_BdbRepChangedAttrValueReq"将发送报告任何属性值是否发生更改。  因此报告速度更快。

    重复属性通过"bdb_RepConstructReportingData"加载到同一报告数据包中、如果尝试 在 重新加入时阻止"bdb_RepConstructReportingData"、则可以修复此问题

    //bdb_RepConstructReportingData can be execute only once, luoyiming 2021-07-08
    bool bdb_repConstructReporting = false;
    
    
    void bdb_RepConstructReportingData( void )
    {
      if( bdb_repConstructReporting == true )
      {
        return;
      }
      // bdb_RepConstructReportingData can be execute only once, luoyiming 2021-07-08
      bdb_repConstructReporting = true;
      //Don't accept anymore default attribute configurations entries
      bdb_reportingAcceptDefaultConfs = BDBREPORTING_FALSE;
      //Construct the attr cfg records
      bdb_RepInitAttrCfgRecords( );
      //Construct the endpoint-cluster array
      bdb_repAttrBuildClusterEndPointArrayBasedOnConfRecordsArray( );
      //Delete reporting configuration array, it's saved in NV
      bdb_repAttrCfgRecordsArrayFreeAll( );
    }

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

    我看到您的观点 、即 ZDRApp_LeaveReset -> bdb_resetStateMachine 会将 bdb_initialization 重置为零、因此 bdb_StartCommissing 将重复 bdb_RepConstructReportingData、即使 它在下电上电后已经完成此操作。

    此致、
    Ryan