Duplicate values in onTelemetriesFound() method

I discovered that onTelemetriesFound() method is possibly reporting the same value over and over again even though no new telemetry packet is received.

Here is what I tried:

Estimote Location beacon is set to advertise Estimote Telemetry packet with 2570 ms. period.
BeaconManager is configured with 250 ms. foreground scanning period with no wait (setForegroundScanPeriod(250, 0)).

When onTelemetriesFound() method returns at every 250 ms, it repeats the last received telemetry packet since it is impossible for the beacon to transmit a new packet that frequently. If my suspicion is correct and these are indeed duplicates, is there a way for the API to filter these or do I have to implement some filtering scheme myself?

Here is the output of my logcat:

02-08 09:26:51.831 14844-14844/telemetry D/Line 47: MainActivity onTelemetriesFound(): beaconID: [XXXXX] rssi: -54 accelerometer: (-0.02,0.00,1.02) 02-08 09:26:52.084 14844-14844/telemetry D/Line 47: MainActivity onTelemetriesFound(): beaconID: [XXXXX] rssi: -54 accelerometer: (-0.02,0.00,1.02) 02-08 09:26:52.330 14844-14844/telemetry D/Line 47: MainActivity onTelemetriesFound(): beaconID: [XXXXX] rssi: -54 accelerometer: (-0.02,0.00,1.02) 02-08 09:26:52.580 14844-14844/telemetry D/Line 47: MainActivity onTelemetriesFound(): beaconID: [XXXXX] rssi: -54 accelerometer: (-0.02,0.00,1.02) 02-08 09:26:52.830 14844-14844/telemetry D/Line 47: MainActivity onTelemetriesFound(): beaconID: [XXXXX] rssi: -54 accelerometer: (-0.02,0.00,1.02) 02-08 09:26:53.085 14844-14844/telemetry D/Line 47: MainActivity onTelemetriesFound(): beaconID: [XXXXX] rssi: -54 accelerometer: (-0.02,0.00,1.02) 02-08 09:26:53.331 14844-14844/telemetry D/Line 47: MainActivity onTelemetriesFound(): beaconID: [XXXXX] rssi: -54 accelerometer: (-0.02,0.00,1.02)

We hear you, and sadly there’s no option to disable this behavior at the moment. What kind of an app are you building?

Thank you for the clarification @heypiotr. Let me ask you something different.

When I use the estimote-telemetry.js script to scan for telemetry packets, I observe alternating frame types (type A and type B) every 2.5 seconds (consistent with my beacon’s advertising period). In the Android SDK however, there is no distinction between type A and type B sub-frames since there is one EstimoteTelemetry class definition (aggregating all the info about the beacon). Is it safe to assume that your SDK waits to get the two types of frames from the beacon and only then reports this as a telemetry discovery? With this assumption, I should be expecting to get a new onTelemetriesFound() callback every 5 seconds (double the advertising period)? Can I use this to filter packets that arrive earlier than the expected time as duplicates?