Updates for LQI and RSSI information in the coordinator

Hello.

How often are the LQI and RSSI values in the coordinator updated for a child?

Preferably I would have liked to get some kind of notification every time LQI and RSSI are updated but if that's not possible I guess I will have to poll it with zb_zdo_get_diag_data(). In that case the question is how often it's relevant to call it for an update? Will the ordinary polling from the child update LQI and RSSI internally in zBoss or are those values only updated when there's an actual data transfer?

Speaking of child poll, is it possible to get any information about how long time ago a child polled the coordinator?

Our zBoss version is 3.11.1.5. I know it's old, but it would be kind of inconvenient to update right now.

Regards

/Martin

  • No worries. I'll go on vacation today so I might be slow to respond, but I'll try to check in once in a while to see if you've found anything.

    Regards

    /Martin

  • Hi Martin, 

    Hope you are enjoying your vacation!

    I asked the following question internally and got the answer below. 

    Q: Is it possible with ZBOSS to update the LQI and RSSI measurements for background polling packets?

    A:

    Hi, I have some clarification on the topic raised.

    In Zigbee devices, the LQI and RSSI values are buffered in Neighbor Table (see spec Table 3.53 Neighbor Table Entry Format, line "LQI"). These values are updated with each successfully received and forwarded to the ZBOSS stack packet. (note that the 802.15.4 driver filters out, i.e., does not forward to the protocol stack packets with incompatible destination addresses). This means that the frequency of obtaining LQI and RSSI measurements depends on the network activity. If there is no network activity, only "LINK STATUS" packets are periodically sent, and they also refresh LQI, RSSI. By default, "LINK STATUS" packets are sent at 15-second intervals (ZB_NWK_LINK_STATUS_PERIOD)

    I haven't encountered any method in the application level API for configuring a ZC device's notification/immediate reaction to an incoming "LINK STATUS" packet from a child. The zb_zdo_get_diag_data() function used by the customer retrieves data from Neighbor Table and doesn't actively generate any additional transfers to trigger measurement. It provides measured values for the last packet heard. It's not possible to determine the timestamp of this packet.

    Therefore, for monitoring LQI, RSSI, the only available solution seems to be polling zb_zdo_get_diag_data() every 15 seconds. This applies to networks where there is no activity or the type of activity cannot be determined.

    Best regards,

    Maria

Related