2 Replies Latest reply on Mar 4, 2017 1:19 AM by Madhu Lakshmipathy

    Repeated use of CyBle_GapRemoveOldestDeviceFromBondedList breaks bonding

    user_516375254

      On boot up we are calling CyBle_GapRemoveOldestDeviceFromBondedList if the number of current bonded devices = 4, to allow rolling use of the last three bonded devices.

         

      We do this curing CYBLE_EVT_STACK_ON.  We get the number of bonded devices by calling CyBle_GapGetBondedDevicesList, and then remove the oldest if equal to four.

         

      This works most of the time.  We have experienced a number of times in testing when some number of different devices (more than 4) have been bonded.  When in this state, we get CYBLE_EVT_GAP_DEVICE_DISCONNECTED with an event reason of 0x16.  Once this occurs, we can only connect to the last three bonded devices.  Our CYBL11573 based device stays in this state -- only connecting with last 3 bonded, 0x16 error if attempting to connect/bond to a 4th until we reflash the firmware.

         

      CYBL11573 running BLE stack V3.10.