scan parameter settings

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello All,

In my application I need to scan and log data from 150 advertisers each  having advertising interval of 100ms.

My Central/Observer is not battery operated. The main aim is to scan data from as many unique devices and as fast as possible.

I understand that 'continuous scanning' is the best in this case and have enabled 'Duplicate Filtering'.

However, the question is whether I need to keep the scan interval and scan window at minimum or maximum. Can someone please suggest?

The main reason I am asking this question is due to the difference in performance when testing the Central(PsoC4 Kit) indoors and outdoors.

I tested with only one advertiser and got good results indoors. However, with the same scan settings( either 30ms scan interval:30ms scan window OR 200ms scan interval and 200ms scan window) I always had issues when testing outdoors. Outdoor testing, the rate at which the central detects the advertiser is initially good, after few seconds the rate goes down(say 1 in 2sec) and gradually the rate keep decreasing and finally it stops reporting the advertiser.  This happens even if the advertiser sits close to the Dev Kit. In this case, Dev Kit, Laptop and the advertiser( a BLE tag) are placed on a concrete bench.

I wanted to understand if my scan setting is causing the issue or some kind of interference that I need to take care of.

Please share your thoughts on this.

Regards,

Reshmi

0 Likes
1 Solution
Yugandhar
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 5 likes given

Hello,

1. If the scanwindow and the scaninterval parameters are same then the link layer should scan continuously. If we enable the maximum scan interval and scan window, you would be continuously to scan for maximum time to see if there are any advertising devices around. This will increase the chance of receiving the advertising packet on the first scan.

2. For PSoC4 BLE, the hardware tracks 8 devices for duplicate filtering and any new device address will over writes the existing ones. So when the scanner sees more than 8 advertiser, then 9th advertiser replaces the 1st one, 10th advertiser replaces the 2nd one and so on in the address cache in FIFO fashion.

Thanks,

P Yugandhar.

View solution in original post

2 Replies
Anonymous
Not applicable

I think the issue is happening due to 'duplicate filter' enabled.

What I observe is, if 'duplicate filter' is enabled and I have only one advertiser, that will be reported exactly once by the central.

If I have more than ten advertisers, they all get reported multiple times even if 'duplicate filter' is enabled.

So, is there a queue for duplicate filter? What is the maximum number of devices it can filter?

Also, is 'duplicate filter' applicable only during the scan interval? If not, should I wait for timeout and then restart scanning to get advertisements from the same device? I want exactly one advertisement from each of 100 devices  in every one minute.

What is the ideal way of implementing this?

0 Likes
Yugandhar
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 5 likes given

Hello,

1. If the scanwindow and the scaninterval parameters are same then the link layer should scan continuously. If we enable the maximum scan interval and scan window, you would be continuously to scan for maximum time to see if there are any advertising devices around. This will increase the chance of receiving the advertising packet on the first scan.

2. For PSoC4 BLE, the hardware tracks 8 devices for duplicate filtering and any new device address will over writes the existing ones. So when the scanner sees more than 8 advertiser, then 9th advertiser replaces the 1st one, 10th advertiser replaces the 2nd one and so on in the address cache in FIFO fashion.

Thanks,

P Yugandhar.