We are using the CoreBluetooth framework to communicate with a BLE device. We have the requirement to take many RSSI measures over a short span of time.
To obtain these measurements, we call readRSSI on the peripheral object. The behavior we observe is that Core Bluetooth invokes didReadRSSI only once every second. This behavior does not seem to be documented anywhere.
We have found several reports of the same issue, which have not been answered.
For Example:
https://developer.apple.com/forums/thread/698235
https://developer.apple.com/forums/thread/77277
https://stackoverflow.com/questions/61216589/fast-update-rssi-bluetooth-in-ios
The first question would be: Is this the intended behavior? Secondly, is it documented somewhere? And lastly, are there any workarounds that would allow for a higher rate of taking RSSI measurements than 1 per second?