ZHA1.2协议中路由节点的路径期满问题
时间:10-02
整理:3721RD
点击:
TI大神
你好!
ZHA1.2协议中路由节点的路径期满,这个可以关闭自动期满功能。吗?关闭有什么影响?
谢谢!
你说的是uint8 expiryTime; // expiration time - not used for response,吗?
即便在expirytime=0的时候,这个路由信息也不会从路由表里面删除,也是可以使用的,并且在重新使用以后这个expirytime又恢复到_NIB.RouteExpiryTime;
只有在一种情况下会删除,现在路由表保存的路由条目已经满了,但是又有一个新的设备路由信息要加进来,这个时候就会先找expirytime=0,把它删除,把需要加进来的加入进去,这个也是合理的。
另外一个情况就是如果通过已有的路由信息发送数据,在连续几次没有成功的情况下,就会把这个路由信息删除掉。
@VV
AF_DataRequest 的返回值是ZMacTransactionExpired
也是同一个问题吗?
不是的,ZMacTransactionExpired 是因为子设备没有及时来polling
@VV 感谢!
@VV
用zha1.2的stack做实验时发现,一个普通ED以1秒的PollRate来设置,但是在长时间运行一段时间后,
协调器给ED发数据就会出现 ZMacTransactionExpired(F0)的应答。抓包也看到一直poll,这个期间,协调器也没给其他设备发数据。
设备重启一下就好了。