I'm using the the pc_ble_driver and want to scan BLE devices with legacy and extended pdu.
My problem is that scan responses only reached sporadic my callback.
Init:
sd_ble_gap_scan_start(m_adapter, &m_scan_param, &m_adv_report_buffer);
in Callback
static void on_adv_report(const ble_gap_evt_t *const p_ble_gap_evt) { .... sd_ble_gap_scan_start(m_adapter, NULL, &m_adv_report_buffer); //continue scanning }
Sometimes i get a timeout:
static void on_timeout(const ble_gap_evt_t * const p_ble_gap_evt) { .... sd_ble_gap_scan_start(m_adapter, &m_scan_param, &m_adv_report_buffer); //restart scanning in case of timeout => but why? }
Is something wrong with my scanning process? As i understand, i need to restart scanning after EACH report. (only after BLE_GAP_ADV_DATA_STATUS_INCOMPLETE_MORE_DATA, but this is here not the case)
See Sequence for Scanning:
Different View:
Sniffing with Wireshark looks ok. Scanning Requests and Responses are there. So it seems some kind of receiving issues.