Project fall with repeatedly call nrf_ble_scan_start(&m_scan);

Hi!
SDK17.1 S132 nRF52832

I use hrs_c example and it works. But I added adertising code and wanna use both central and periperial at same time. Works, but until the moment when I make connect to my central and disconnect. After disconnect I start 

nrf_ble_scan_start(&m_scan);

again and got 

NRF_BREAKPOINT_COND;

project fall inside 

ret_code_t nrf_ble_scan_start(nrf_ble_scan_t const * const p_scan_ctx)

function.

I can't understand the reason.

There is no any warnings regarding memory in RTT debagger.

So, how to use both central and peripherial at same time? I used it before on SDK15.

Parents Reply
  • Hi,

    You say the error happen within nrf_ble_scan_start() and wth the error code and stack trace in mind, the error code 0x3204 matches BLE_ERROR_GAP_DEVICE_IDENTITIES_IN_USE which shoud only be returned from sd_ble_gap_device_identities_set(). This is indirectly called via the peer manager's pm_device_identities_list_set() function, so perhaps this is it? (if using a whitelist, you will get a NRF_BLE_SCAN_EVT_WHITELIST_REQUEST event as a callback after calling nrf_ble_scan_start(), and upon that you typically call pm_device_identities_list_set().

    It looks like you are experiencing the same as in this post? In short, you cannot change the identity while it is being used. 

Children
Related