主题中讨论的其他器件:Z-STACK
您好!
我们的网络中包含的路由器数量超过了协调器邻居表中所能容纳的路由器数量。 我们发现在某些情况下,路由器将被重新启动,协调器最终会出现在路由器的邻居表中,但路由器不在路由器的邻居表中。 因此、路由器向协调器发送数据包、而协调器发送 MAC ACK、但协调器应用程序不接收数据包。 (我们的路由器不使用 APS ACK,我们假设目前无法更改。)
我们是否可以截取链路状态消息并对其进行解析以查看路由器是否包含在网络列表中? 或者、路由器的邻居表包含一个 linkInfo_t 结构、该结构具有"txCost"和"rxLqi"、但我不清楚是否可以使用这些或任何其他指标来确定路由器是否在协调器的链路状态数据包中。
我们假设路由器可以接收来自协调器的常规链路状态消息、但这些链路状态消息的列表中没有路由器。 我是否可以在路由器固件中执行任何可以让我们检测到协调器链路状态消息中未包含路由器的操作? 在 ZMacEventLoop ()函数中,这似乎是可能的,但我需要知道如何解析 pMsg 结构来获取链接状态数据。
如果不执行其他操作、我可以向协调器发送 ZDO LQI 命令以读取其邻居表、但可以避免这种情况、前提是我可以以某种方式解析从协调器接收到的链路状态消息、或以某种方式使用邻居表中的 linkInfo_t 结构。 我们使用的是 SimpleLink CC13x2 26x2 SDK 4.20.01.04。
提前感谢!