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

如何重置集中器的某个源路由项

Hello world,

    我在100个节点的源路由测试中,发现某个源路由项出现错误, rtgSrcTable[MAX_RTG_SRC_ENTRIES]中,我想要重置这个出现问题的表项,但不知道官方有什么API可以操作?

Winter Two:

UP

VV:

回复 Winter Two:

没有这样的API

最多手动初始化

rtgSrcTable[idx].dstAddress = INVALID_NODE_ADDR; rtgSrcTable[idx].relayCount = 0; rtgSrcTable[idx].relayList = NULL; rtgSrcTable[idx].expiryTime = 0;

Winter Two:

回复 VV:

谢谢VV,这个方式还是有效果的。

另外想请问下ZDO_ManytoOneFailureIndicationCB有发起MTO请求,2.5.1版本协议栈升级后每次MTO失败回调就发送MTO请求,这样是否会太频繁?

实际100个节点测试中经常收到这个失败的回调,因此我担心MTO请求过于频繁,会加重网络负担。

Winter Two:

回复 VV:

挂机了一下午,发现现在没有可用内存了,AF发数据,AF_DATA_CONFIRM_CMD返回0x1A(MAC_NO_RESOURCES),以及有的直接返回0x10(afStatus_MEM_FAIL)。

怀疑是不是relayList这边内存没释放,想问下这个链表指针是动态申请的吗?我用osal_mem_free(rtgSrcTable[i].relayList);一调用就出问题。

relayList直接赋值NULL,会不会有问题?

VV:

回复 Winter Two:

不会一直发送,在收到MTO failure以后,会调用MTO req , 在这个函数里面有做逻辑的。你可以测试下!

Winter Two:

回复 VV:

谢谢VV,关于relaylist的指针确实是我大意了,对于全局指针在释放后没有置为NULL,现在已经改正。

关于MTO REQ还想确认下,比如100ms以内收到两次MTO failure,是否会发两次MTO req?

Winter Two:

回复 VV:

多谢VV,这下全理顺啦^_^

赞(0)
未经允许不得转载:TI中文支持网 » 如何重置集中器的某个源路由项
分享到: 更多 (0)