I am making a call to Gap_ReadRssi shortly after the connection is established and I am getting RSSI readings of 0. I expected to see a value of 127 (gGapRssiNotAvailable_d) or something correct (likely -50 or less). Is this a known issue in version 1.0.2 of the connectivity software (running on a MKW31Z)?
Also, how soon after a connection can I expect RSSI readings to become valid? And are they updated every connection event? Any chance there can be an API to automatically produce gConnEvtRssiRead_c events when RSSI is updated?
Solved! Go to Solution.
Hi michaelbrudevold,
You are correct about the behavior you are seeing. The RSSI is valid only after the first packet was received in connection (on data channels). The Gap_ReadRssi API should not and does not wait for the first connection to happen as it may never happen due to supervision timeout being triggered before the connection was established. Regarding the returned value ('0' instead of '127'). We will fix this in the next release, so, API will return the expected 127.
About your questions:
Please, mark this question as answered if above information resolved your questions.
Thanks and best regards,
Miguel
Hi michaelbrudevold,
You are correct about the behavior you are seeing. The RSSI is valid only after the first packet was received in connection (on data channels). The Gap_ReadRssi API should not and does not wait for the first connection to happen as it may never happen due to supervision timeout being triggered before the connection was established. Regarding the returned value ('0' instead of '127'). We will fix this in the next release, so, API will return the expected 127.
About your questions:
Please, mark this question as answered if above information resolved your questions.
Thanks and best regards,
Miguel