Example:nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_ancs_c\pca10040e\s112\arm4
Example:nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_ancs_c\pca10040e\s112\arm4
Hi,
The SDK examples will reject bond refresh by default. Please have a look at my answers in this thread, they explain how you can override this: https://devzone.nordicsemi.com/f/nordic-q-a/38663/keep-getting-failed-to-secure-connection-error/158087#158087
Hi,
The SDK examples will reject bond refresh by default. Please have a look at my answers in this thread, they explain how you can override this: https://devzone.nordicsemi.com/f/nordic-q-a/38663/keep-getting-failed-to-secure-connection-error/158087#158087
I modified the following places. After the pairing is successful, I forgot the device in the Bluetooth settings of the iphone. After the new pairing is successful, I will turn off the Bluetooth of the iphone, and then open the Bluetooth of the iphone. The ancs of the iphone cannot be reconnected automatically. How to solve this problem?

I forgot my device and re-paired it. After I quit the bluetooth page of my phone, the connection was automatically disconnected
Hi,
m_whitelist_peer_cnt should not be incremented if you get BLE_ERROR_GAP_DEVICE_IDENTITIES_DUPLICATE so the code should have been something like this instead:
// Note: You should check on what kind of white list policy your application should use.
if ( p_evt->params.peer_data_update_succeeded.flash_changed
&& (p_evt->params.peer_data_update_succeeded.data_id == PM_PEER_DATA_ID_BONDING))
{
NRF_LOG_DEBUG("New Bond, add the peer to the whitelist if possible");
NRF_LOG_DEBUG("\tm_whitelist_peer_cnt %d, MAX_PEERS_WLIST %d",
m_whitelist_peer_cnt + 1,
BLE_GAP_WHITELIST_ADDR_MAX_COUNT);
if (m_whitelist_peer_cnt < BLE_GAP_WHITELIST_ADDR_MAX_COUNT)
{
// Bonded to a new peer, add it to the whitelist.
m_whitelist_peers[m_whitelist_peer_cnt++] = p_evt->peer_id;
// The whitelist has been modified, update it in the Peer Manager.
ret = pm_device_identities_list_set(m_whitelist_peers, m_whitelist_peer_cnt);
if (ret == BLE_ERROR_GAP_DEVICE_IDENTITIES_DUPLICATE)
{
m_whitelist_peers[--m_whitelist_peer_cnt] = PM_PEER_ID_INVALID;
}
else if (ret != NRF_ERROR_NOT_SUPPORTED)
{
APP_ERROR_CHECK(ret);
}
ret = pm_whitelist_set(m_whitelist_peers, m_whitelist_peer_cnt);
APP_ERROR_CHECK(ret);
NRF_LOG_HEXDUMP_INFO(m_whitelist_peers, sizeof(m_whitelist_peers));
}
Regarding the re-connect issue, I see the same here. After bond refresh I need to manually re-connect to the ANCS. However, autoconnect seems to work fine after that. This might be an iOS limitation.
I use 52810 development board, 15.2 SDK, S112 project, has been changed according to the requirements. After forgetting the device on the iphone, I paired it in Bluetooth. After successfully exiting the Bluetooth interface, ANCs automatically disconnected.
