Get link quality from a coap client

Hi,

I want to get a measure of link quality of a OpenThread network from the CoAP client side. I have used 'otThreadGetParentAverageRssi ()' from the client to get RSSI seen from the parent (?), which seems to decrease when distance between the server and client increases.  I would like to get a similar measure on link quality of the total link. I tried 'otThreadGetParentInfo'. It seems to give the Link Quality In but that value seems static!! Does not change when the distance between them is almost at max. So I would like to know

1. Why otThreadGetParentInfo () not reporting correct link quality with distance?

2. Is there a better way to retrieve link quality info?

Cheers,

Kaushalya 

P.S. I am at the end of my development cycle, so if you can give me a quick reply, it is much appreciated.

Parents Reply Children
  • Hmm the API docs for otThreadGetParentInfo does not define a list of valid return values, and that is a bit strange given that the function header clearly expects a return value. I suggest you monitor this return value. 

    Also, RSSI is not a direct representation of Link Quality so their values will not match. I don't know the LQI algorithm that is used for 802.15.4/OpenThread, but I suspect that that it aggregates more datapoints than RSSI, then filter and fuse the data into a single variable called Link Quality. The response-time of the LQI algo is likely way slower than the RSSI sample rate, who is probably updated for every packet received.

Related