z-stack协议栈中每个消息中的“radius”参量是表征消息传输的节点数值(跳数)吗?具体是怎么计算的,这块我看默认值设置为15,但是如果消息不经过其它节点直接传输给协调器该值为14,如果消息经过一个节点转发(mesh),则该值为13,官方文档包括代码中对这个值均无详细描述,希望大神解答啊
注:使用的是z-stack3.0协议栈,默认的mesh网络
user4958201:
回复 VV:
感谢VV大神的解答,这个我已经验证过了,确实像您说的这样,转发一次该值减一;
另外像我的应用是每个路由和终端设备都向协调器定时发送数据,那我的地址模式是不是应该为Addr16Bit,而不是AddrNotPresent,但是我改完地址模式发现sniffer抓包的报文这两个模式没区别,都是广播(看的broadcast字段均为1),想问下是我没改的有问题还是其它原因,下面的是初始化时候的设置
// Set destination address to indirect zclSfZC_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent; zclSfZC_DstAddr.endPoint = 0; zclSfZC_DstAddr.addr.shortAddr = 0;