How does scanning works?

Hi Guys!

I hope you will be able to shine some light on scanning.
Let say I will set my setForegroundScanPeriod for 1 second and 0 seconds of wait time. My beacon is set to 300 ms advertise time. What will be the result, given that all adv. packets reached the receiver? Will Estimote SDK perform running average on RSSIs? Will return the strongest signal? Or maybe return RSSI of last received packet?


This actually often depends on the … Android device you’re using.

Assuming all three packets actually reached the device, most Android handsets will report all three. Some Android devices (e.g., Nexus 7) will only report the first one.

In any case, our SDK will take all the packets it got from the Android BLE scanning API, and we indeed push them through some internal averaging algorithms, introduced in SDK 0.9.2:

Thanks for the information.

Would there be any possibility to have raw data returned? Maybe in the future? I know that in most cases the “more stable” signal returned by your SDK will be beneficial. However, there are also cases when developers needs some extra control over the data.


That’s a very reasonable request, we’ll see what we can do about it!