Z-stack 2.6.1中新增的ZIGBEE_CHILD_AGING模式怎么使用?
1,我编译的时候使能ZIGBEE_CHILD_AGING,将zgChildAgingEnable设置成TRUE,是不是就可以用了?
2,associated_devices_t中新增timeoutCounter,endDevKaTimeout是干什么用的?为什么新加入节点后,这两个值是60?这个值能否改?
3,debug的时候timeoutCounter一直在减少,大概一分钟左右减少1,递减周期哪里可以设置?减到0可不可以自动将节点清除?
1,是的
2,
关于Child Aging的timeout定义在协议栈nwk_gloables.c文件中,如下。
// Child table Management timeout values
CONST uint16 gKEEPALIVE_TIMEOUT_MAX = KEEPALIVE_TIMEOUT_MAX; //在协议栈运行过程中,被初始化以后就不会变化了,用来表示节点最大的Age时间可以是60分钟
CONST uint16 gTIMEOUT_COUNTER_MAX = TIMEOUT_COUNTER_MAX;//在协议栈运行过程中是动态变化的,协议栈中有一个1分钟的循环timer event,当timer event触发的时候,会去检测在这个在一分钟是否有收到Data request,或者其他数据,如果没有的话就会把timeoutCounter减1,如果连续60分钟没有收到的话就把这个节点放到另外一个not child 的list里面去了,在中途只要收到一条来自这个节点的数据,这个counter立刻被Reset成初始化60,这个值就是通过endDevKaTimeout获得的。
当有新的RFD设备入网的时候,初始化RFD设备的Aging Timeout时间为60分钟。
3, 目前协议栈的做法是,如果是0了,先不清楚,先把节点移到另外一个list里面,之后有需要再做清除。
你好,请问问题解决了吗