TI中文支持网
TI专业的中文技术问题搜集分享网站

Z-Stack3.0.2中父节点为终端保存非直接信息的时间的疑问。

协议栈:Z-Stack3.0.2

协调器处理器:CC2538

终端处理器:CC2530

问题描述:

请问在Z-Stack3.0.2中父节点为终端保存非直接信息的时间怎么调节?

在“nwk_globals.c”文件中有关于终端缓存功能的宏定义:

// 1-255 (0 -> 256) X RTG_TIMER_INTERVAL
// A known shortcoming is that when a message is enqueued as "hold" for a
// sleeping device, the timer tick may have counted down to 1, so that msg
// will not be held as long as expected. If NWK_INDIRECT_MSG_TIMEOUT is set to 1
// the hold time will vary randomly from 0 – CNT_RTG_TIMER ticks.
// So the hold time will vary within this interval:
// { (NWK_INDIRECT_MSG_TIMEOUT-1)*CNT_RTG_TIMER, NWK_INDIRECT_MSG_TIMEOUT*CNT_RTG_TIMER }

这里表明父节点为终端缓存消息的时间为: { (NWK_INDIRECT_MSG_TIMEOUT-1)*CNT_RTG_TIMER, NWK_INDIRECT_MSG_TIMEOUT*CNT_RTG_TIMER }

将“f8wConfig.cfg”中的“-DNWK_INDIRECT_MSG_TIMEOUT”设为1,然后将“CNT_RTG_TIMER ”设为3,那么协调器为直连睡眠终端保存信息的时间就为0-3秒吗?

我按照上面的设置将协调器为直连睡眠终端保存信息的时间改为0-3秒,然后使用按键将终端进入深睡眠,再让协调器发送读取属性命令给终端,5秒后通过按键将终端从深睡眠中唤醒“data request”父节点中的数据还是成功接收到了,这证明我的保存信息时间没有修改成功?

YiKai Chen:

保存信息的时间到了,如果沒有新的信息塞到缓存,那信息是不會拉掉的

Jesse Huang:

回复 YiKai Chen:

hi,YiKai Chen!

Thank you for your reply.

我按照你的说明测试到的结果跟你预测的有点不一样。

1、首先我将协调器为直连睡眠终端保存信息条数改为4条(#define NWK_MAX_DATABUFS_TOTAL 4)。

2、将保存信息的时间改为3-4秒(将-DNWK_INDIRECT_MSG_TIMEOUT=4; #define CNT_RTG_TIMER 1)。

3、然后使用按键将终端1进入深睡眠,再让协调器发送6条“读取属性命令”给终端1。

4、7秒后再让协调器发送6条“读取属性命令”给在线的终端2。结果是协调器没有发出任何消息。

5、通过按键将终端1从深睡眠中唤醒“data request”父节点中的数据还是成功接收到了5条。

从这个逻辑看来应该是在发送完5条“读取属性命令”给终端1后,再调用发送函数“zcl_SendCommand”发送数据时,返回的status是“ZBufferFull”而不是“SUCCESS”了。在过了保存时间后的7秒依旧无法发出任何消息,直到终端1从协调器中读取了缓存协调器才能正常发送数据。或者到了20多秒才会自动恢复,才能正常发送数据,我想修改的就是这个“自动恢复的时间”。

Jesse Huang:

回复 YiKai Chen:

hi,YiKai Chen!
请问为什么“f8wConfig.cfg”中也有默认的holding timeout:
/*Default indirect message holding timeout value:*1-65535 (0 -> 65536) X CNT_RTG_TIMER X RTG_TIMER_INTERVAL*/
-DNWK_INDIRECT_MSG_TIMEOUT=7
它与上述的“nwk_globals.c”文件中的holding timeout有什么关系吗?

YiKai Chen:

回复 Jesse Huang:

你要設置NWK_INDIRECT_MSG_TIMEOUT的話應該要從f8wConfig.cfg

Jesse Huang:

回复 YiKai Chen:

是的,可是还是没有达到预期的效果,请问您测过这个参数吗?

YiKai Chen:

回复 Jesse Huang:

我沒像你这樣测过、你可以發個貼子上英文版E2E 看看TI AE怎麼回應

Jesse Huang:

回复 YiKai Chen:

好的,感谢你的回复,有了结果我会贴出来的!

Jesse Huang:

问题发到英文版的e2e了:e2e.ti.com/…/759798
可是国外放假,有TI的中国员工可以解答下吗?谢谢!

YiKai Chen:

回复 Jesse Huang:

国外放假應該結束了、估計晚点会有人回應

赞(0)
未经允许不得转载:TI中文支持网 » Z-Stack3.0.2中父节点为终端保存非直接信息的时间的疑问。
分享到: 更多 (0)