This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

GAP_BONDINGS_MAX limit

Other Parts Discussed in Thread: CC2541

We're developing a BLE application on the cc2541 and I see that the maximum number of bonds that can be stored in non-volatile memory is 10 (GAP_BONDINGS_MAX).  Once this limit is reached, what is the expected stack behavior?  Will the connection from the 11th and subsequent clients be successful and just not store the bonding data, or something else? If the limit is reached, is it advisable to erase all the bonding data and start anew?

 

  • Hello Gary,
    Excess pairings over 10 are not stored (bond table is full). You will enter a successful connection.

    In the bond manager when a new bond is to be stored, if bondIdx in the below code snippet is equal to GAP_BONDINGS_MAX then the bond will not be stored and the next time you connect you will have to repeat the pairing process over again.

    // First see if we already have an existing bond for this device
    bondIdx = gapBondMgrFindAddr( pBondRec->publicAddr );
    if ( bondIdx >= GAP_BONDINGS_MAX )
    {
    bondIdx = gapBondMgrFindEmpty();
    }