Hello everyone,
I've been trying to get scan_response data from a specific advertiser. Advertiser being nrf52810 running the s112 SoftDevices and Scanner being nrf52832 running the s132 SoftDevices. When I scan for devices Scanner detects the advertiser, but due to some problem, it's not able to get the scan response data. I scanned for devices using nRF Connect Android app. There I received scan response data perfectly from the same advertiser.
I'm setting ble_gap_scan_params_t as given below:
{
.active = 1,
.interval = (BLE_GAP_SCAN_INTERVAL_MAX),
.window = (BLE_GAP_SCAN_WINDOW_MAX),
.extended = 0,
.report_incomplete_evts = 0,
.channel_mask = {0,0,0,0,0},
.timeout = BLE_GAP_SCAN_TIMEOUT_UNLIMITED,
.scan_phys = BLE_GAP_PHY_AUTO,
.filter_policy = BLE_GAP_SCAN_FP_ACCEPT_ALL,
};
I'm also scanning in continues mode.
Also, I already know the MAC address of the advertiser device. So I'm filtering out all the other devices.
The summary for the event handler for BLE_GAP_EVT_ADV_REPORT is as follow://req_mac_addr = MAC address of target advertiser.//current_mac_addr = MAC address of most recently scanned advertiser.
{
if(mem_cmp(req_mac_addr, current_mac_addr, 6) == 0)
{
print_data_from_evt(Data_in_Receiver_buffer);
print_data_from_evt(Scan_Response_Value_from ble_gap_adv_report_type_t);
}
}
Here Scan_Response_Value is always zero and hence I can't get scan response data.
please suggest me something if you can.