Nordic thingy:52 unable to get RSSI values
See original GitHub issueHi, everybody,
I managed, through the Nordic library for Android thingylib (github) , to connect to thingy52 and receive in the callback listener ThingyListener the information about the device (e.g. onGravityVectorChangedEvent, onAccelerometerValueChangedEvent, onGyroscopeValueChangedEvent, and so on…).
What I can’t do (and I can’t find how to do) is how I can get the information about the connection with the device, exactly the RSSI values.
Using the BluetoothLeScannerCompat, inside the onBatchScanResults scan callback, I detect the thingy52 bluetooth device, and their RSSI value, but if I set a high scan frequency, for example .setReportDelay(10), it almost always does not detect devices.
ScanSettings scanSettings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.setReportDelay(10) // frequency of scan
.setUseHardwareBatchingIfSupported(false)
.build();
My need is to get at a frequency of 10Hz, or 100Hz the RSSI value of the nordic thingy52, which I can’t get from the ThingyListener events.
How can I do it? Thank you in advance.
Issue Analytics
- State:
- Created 4 years ago
- Comments:5 (3 by maintainers)

Top Related StackOverflow Question
For accurate RSSI values you can’t use
setReportDelay. Set it to 0 or remove from the code. First of all, batching works quite ok for delays > 5 seconds. Secondly, the RSSI you get there is an average/last/first/no one knows what. Without report delays you’ll get aonScanResultcallback instead. One for each advertisement received.Please, open an issue in the thingy project for this. Let’s keep things tidy. I’m closing this issue.