我将 MAX_neighber_entries 更改为3、但 处于链路状态的相邻器件数将超过3。
如果要控制 处于链路状态的相邻设备数量、该怎么办?
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我将 MAX_neighber_entries 更改为3、但 处于链路状态的相邻器件数将超过3。
如果要控制 处于链路状态的相邻设备数量、该怎么办?
谢谢。
您好 Ryan,
感谢您的回复。
在要测试的 ZNP 项目中、我只将 MAX_neighbor entries 设置为1并将 NWK_MAX_DEVICE_LIST 设置为2、测试结果如下:
数据包 num 999:当我添加第四台路由器时,协调器的链路状态中出现4个偏离信息。
Q1:处于链路状态的相邻器件的最大数量是 NWK_MAX_DEVICES 和 MAX_neighbor entries 之和?
数据包 num 1488:在我关闭4个路由设备中的一个(协调器的子设备)后、协调器的链路状态中会显示3个设备信息。
数据包 num 1568:第七台路由器成功加入网络;此时,协调器链路状态中的设备信息未更新为4。
问题2:为什么? 仅当 ZStack 的邻居表[]中的器件断电或消失时、它才会更新链路状态中的邻居路由器件信息?
e2e.ti.com/.../neighbor-Table.zip
谢谢、
Howjie
1.链路状态消息考虑 gNWK_MAX_DEVICE_LIST = NWK_MAX_DEVICES = NWK_MAX_DEVICE_LIST + 1 = 3在您的方案中、加上 MAX_ALTERN_BLOCINES 的一个共生成四 个条目、因此您可以尝试从 NWK_MAX_DEVICES 中删除"+"以查看这是否会更改预期的最大链路状态消息条目。
2.邻居表仅在 ZDO_ProcessDeviceAnnce 期间通过 nwkneighbor RemoveAllStraned 进行清理,该操作可以解释您观察到的行为,您可以根据需要进一步测试和手动调用此 API 以用于应用目的。
此致、
Ryan