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

Testing of multiple bonded devices

Hi,

I have following questions

1. How to define the limit for number of bonding information stored in internal ROM of nrf52832?

2. We want to verify the bonding functionality with 20 devices. Its not feasible for us to have 20 different phones to test this. Is there a way to test this with only one phone??

I am using S132 and nrf52823

Regards,

Parents
  • Hi

    1. Each bond requires 80 bytes, and there is 12 bytes of overhead for each FDS record, so in total you will need 92 bytes of flash for each stored bond. 

    This gives you a maximum of 44 stored bonds for each 4k flash page that you assign to the FDS (not including the swap pages). 

    2. If you could change the BLE address of the phone you could make it look like 20 different devices to the peripheral, but unfortunately this is not supported by the Bluetooth API on the phone side. 

    Would it be an alternative to use a Nordic DK as the central device instead?

    Then you should be able to dynamically change the BLE address on the central side, and bond to the peripheral as 20 different devices. 

    Best regards
    Torbjørn

  • Hi,

    Thank you for the information.

    1. Is it possible to limit the no of stored bonded devices in ROM? Also let us know what API are internally called when pairing is started until the completion of bond.

    2. Is there any sample example codes for changing the BLE address of nrf52832 DK in central role?

    Regards,

  • Hi 

    1. The number of bonds is only limited by the amount of flash assigned to the fstorage module, so if you reduce the number of flash pages assigned to fstorage you will also limit the number of bonds that can be stored. 

    2. When using the peer_manager you should use the pm_id_addr_set(ble_gap_addr_t const * p_addr) function to set your local address. 

    Before that you might want to delete all existing peer data by calling the pm_peers_delete(void) function. 

    Best regards
    Torbjørn

Reply
  • Hi 

    1. The number of bonds is only limited by the amount of flash assigned to the fstorage module, so if you reduce the number of flash pages assigned to fstorage you will also limit the number of bonds that can be stored. 

    2. When using the peer_manager you should use the pm_id_addr_set(ble_gap_addr_t const * p_addr) function to set your local address. 

    Before that you might want to delete all existing peer data by calling the pm_peers_delete(void) function. 

    Best regards
    Torbjørn

Children
Related