I'm using scannig with whitelist on nRF52840 Dongle SDK V15.2 (usbd_ble_uart_freertos example)
when BLE_GAP_EVT_ADV_REPORT is called scanning stops, So it can scan just one message .
so each time i restart scanning and resetting the whitelist like is shown :
...
...
static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context)
{
uint32_t err_code;
ret_code_t ret;
ble_gap_evt_t const * p_gap_evt = &p_ble_evt->evt.gap_evt;
ble_gap_evt_adv_report_t const * p_adv_report = &p_gap_evt->params.adv_report;
switch (p_ble_evt->header.evt_id)
{
case BLE_GAP_EVT_ADV_REPORT:
NRF_LOG_INFO("____________BLE_GAP_EVT_ADV_REPORT__________");
scan_start();
...
...
static void scan_evt_handler(scan_evt_t const * p_scan_evt)
{
ret_code_t err_code;
ble_gap_evt_adv_report_t const * p_adv_report = p_scan_evt->params.filter_match.p_adv_report;
switch(p_scan_evt->scan_evt_id)
{
case NRF_BLE_SCAN_EVT_WHITELIST_REQUEST:
{
NRF_LOG_INFO("NRF_BLE_SCAN_EVT_WHITELIST_REQUEST");
ret_code_t ret;
//ret = nrf_ble_scan_params_set(&m_scan, &new_scan_param);
ret = sd_ble_gap_whitelist_set(whitelistAdrss, 1);
APP_ERROR_CHECK(ret);
}break;
...
...
is that a correct solution ? Does it negatively affect the scanning ??