I see that a lot of things are changed in SDK 15 about BLE. I wonder if it is because of Bluetooth5.
But, the problem I am having is that I cannot find an example that shows me the structure of adv_report and how to read it. I was referring to ble_app_uart_c in SDK 14. I understand that now Nordic tries to cover the lower level with nrf_ble_scan.c. But my application actually needs to parse the beacon data. So I am still using the APIs in SDK 14 and trying to find them in SDK 15.
Right now, I have managed to initialize the ble stack and send beacons with the right payload(this is verified by the previous device). But I don't know how to scan and get the content. I have tried to HEX_DUMP every byte got from BLE_GAP_EVT_ADV_REPORT event. But I think it only contains part of the real beacons around me.
P.S.: I notice a strange thing in the nrf_ble_scan.c. It resumes scanning after parsing the adv_report like this: Should I do this if I am not using my own implementation instead of nrf_ble_scan.c
// Resume the scanning. UNUSED_RETURN_VALUE(sd_ble_gap_scan_start(NULL, &p_scan_ctx->scan_buffer));