This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Queries regarding APIs to be used

Hi,

  We are developing our stack with soft device using nRF52840 as the Controller and have the below queries

1. How to configure a static random BDADDR which will remain constant every time the Controller/Stack is reset?

2. What is the max scan capacity of the nRF52840 Controller? Assuming, there are inifinte advertising devices around, how many devices can be scanned at a time by the Scanner.

3. What is the difference between configuring both scan interval & duration as 100ms and 500 ms respectively. Will scan happen continuously (without a break) in both instances ?

  • Hi,

    Are you using the full SoftDevice BLE stack (typically in nRF5 SDK context), or just the SoftDevice controller (typically in NCS context)? And if using the SoftDevice controller, are you using the Zephyr host or making your own (and if so - why?)?

    1. How to configure a static random BDADDR which will remain constant every time the Controller/Stack is reset?

    The SoftDevice will always use the static random address from FICR by default. If you want to use another address (regardless of type), you need to set that every time the stack is initialized. Exactly how you do that depends on what you are using, which is not clear to me. If using a SoftDevice, you set it using sd_ble_gap_addr_set(). If using NCS you use bt_set_id_addr().

    2. What is the max scan capacity of the nRF52840 Controller? Assuming, there are inifinte advertising devices around, how many devices can be scanned at a time by the Scanner.

    There is no maximum. With infinite advertising devices more and more advertisers will be scanned as time progresses (ignoring that advertainment packets would collide, preventing reception)

    3. What is the difference between configuring both scan interval & duration as 100ms and 500 ms respectively. Will scan happen continuously (without a break) in both instances ?

    Scanning is continuous as long as the duration and interval has the same value. However, the channel the device listens to is changed every time a new window starts. So by using 100 ms the advertising channel being scanned is changed every 100 ms, and so on.

Related