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.

[参考译文] CC2652P:是否有 ZED 发送保持活动超时消息的回调?

Guru**** 2589265 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/1015596/cc2652p-is-there-a-callback-for-zed-sending-the-keep-alive-timeout-message

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

我正在使用超时消息保持活动、在查看超时消息的实现时、似乎超时消息的发送是在 Z-Stack 内实现的、我找不到 ZED 发送周期性超时消息的位置。

我对超时消息有2个问题:

1.我对实现超时消息的理解是否正确? 我能看到 ZED 在何处发送周期性超时消息吗?

2.如果否,是否有超时消息的回调,以便我知道何时发送了周期性超时?

谢谢。

此致、

水阳

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

    通常不需要发送保持活动超时消息、它是在 ZED 加入或重新加入新父级时发送的。

    您可以在 ZED 的应用程序中获取父级丢失消息

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

    基本上、任何包含轮询和 ZDO/ZCL 消息的消息都会在 Z-Stack 中切换超时计数

    没有这样的回调

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

    您好、Shuyang、

    无法从 发行版 Z-Stack 软件监控或手动发送 MAC 数据轮询、正如 YK 提到 的、您可以发送 ZDO/ZCL 消息或使用类似此 SimpleLink Academy 实验中建模的轮询控制群集。

    此致、
    Ryan

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

    您好、Ryan、

      

    我使用的是终端设备超时请求、而不是 MAC 轮询通过设置 zgNwkParentInformation = NWK_parent_INFO_END_DEVICE_TIMEOUT_MSG、终端设备根据监听器日志按预期发送超时请求、我只是想知道周期性超时请求的发送位置、 我可以在其中添加自己的代码以应对意外的故障。

      

    如果超时请求也无法手动操作、则应使用什么回调来监控终端设备的离开?

      

    BR、

    水阳

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

    终端设备超时请求用于请求父节点根据请求修改超时周期。

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

    您好、Shuyang、

    请查看 "Z-Stack 用户指南 -> Z-Stack 概述子管理" 部分。

    子器件向其父器 END_DEV_TIMEOUT_VALUE          件指示的超时由定义(请参阅射频堆栈→Z-Stack→网络→终端器件超时(请参阅 Zigbee 配置)。 其建议值应至少比 MAC 轮询时间大3倍( POLL_RATE 在中由设置 ti_zstack_config.h),以避免在终端设备轮询时出现干扰时过期。 允许的最小应用轮询率由 MINIMUM_APP_POLL_RATE 确定 ti_zstack_config.h ,但可以 Zstackapi_sysConfigWriteReq 通过调用 has_disablePollRate 来禁用轮询, disablePollRate 且两者都设置为 TRUE

    此致、
    Ryan

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

    您好、Ryan、

    也许我没有清楚自己在做什么。 在"Z-Stack 概述子管理"部分中、它显示:

    有两种保持活动的方法:MAC 轮询 NWK_PARENT_INFO_MAC_DATA_POLL 和超时消息 NWK_PARENT_INFO_END_DEVICE_TIMEOUT_MSG。 对于功耗很重要的 Zigbee 3.0器件而言、终端设备超时消息是首选、因为它不要求终端设备持续发送数据请求帧、而不是从父设备轮询数据所需的帧。  

    我将通过NWK_PARENT_INFO_END_DEVICE_TIMEOUT_MSG 在 zc_light 和 zed_sw 示例中进行如下修改来使用保持活动消息:

    1、在 两个项目中设置 zglobals.c 中的 zgNWKParentInformation = NWK_parent_INFO_END_DEVICE_TIMEOUT_MSG。

    2.在 zed_sw.syscfg 中将轮询周期设置为3600000ms。

    3.在 zed_sw.syscfg 中将"终端设备超时"设置为1 (2分钟)。

    通过这些设置、我可以看到 ZED 每40秒发送一次终端设备超时请求、这正是我所期望的。

    e2e.ti.com/.../1.cubx

    如果我出错了、请告诉我。

    我的问题是:周期发送这些终端设备超时请求的代码在哪里? 如果它位于 Z-Stack 库中、是否有针对终端设备超时请求或接收我可以使用的终端设备超时响应的回调?

    BR、

    水阳

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

    感谢您澄清 Shuyang、 NLME_SendDevTimeoutReq 和 NLME_ProcessEndDevTimeoutRsp 都在 Z-Stack 源库中进行处理、但您可以监控  OsalPortTimers_startReloadTimer 内的 EventID NWK_Zed_keep_alive_EVT。

    此致、
    Ryan

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

    感谢 Ryan、我们为您提供了帮助。

    BR、

    水阳