Thread 中讨论的其他器件:Z-stack
我正在使用超时消息保持活动、在查看超时消息的实现时、似乎超时消息的发送是在 Z-Stack 内实现的、我找不到 ZED 发送周期性超时消息的位置。
我对超时消息有2个问题:
1.我对实现超时消息的理解是否正确? 我能看到 ZED 在何处发送周期性超时消息吗?
2.如果否,是否有超时消息的回调,以便我知道何时发送了周期性超时?
谢谢。
此致、
水阳
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.
我正在使用超时消息保持活动、在查看超时消息的实现时、似乎超时消息的发送是在 Z-Stack 内实现的、我找不到 ZED 发送周期性超时消息的位置。
我对超时消息有2个问题:
1.我对实现超时消息的理解是否正确? 我能看到 ZED 在何处发送周期性超时消息吗?
2.如果否,是否有超时消息的回调,以便我知道何时发送了周期性超时?
谢谢。
此致、
水阳
您好、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秒发送一次终端设备超时请求、这正是我所期望的。

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