This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

What is BLE_GAP_EVT_ADV_REPORT

I am trying to build a basic communication system without GATT or GAP services. I don't have any device that is advertising, but it seems that my device get a

BLE_GAP_EVT_ADV_REPORT

event all the time. I simply run the Scan_Start() function from BLE_Central samples. It seems to catch packets all the time even without device advertising?

So I want to ask what the scan program got in

p_gap_evt->params.adv_report

. I mean literally what's inside

Parents
  • Assuming you run S132 V5 stack (Soft Device) on nRF52832 chip then you can see all the details of GAP layer functions like Advertising and Scanning here. If you wonder what is inside event data structure upon reception of BLE_GAP_EVT_ADV_REPORT event then again read the API description. Depending on scanning mode (active or passive) you will get indication in scan_rsp flag saying if data field contains Advertising Data or Scan Response data. These strings will be literally the same as transmitted by your GAP Broadcaster/Peripheral (if that is another nRF5x device with Nordic stack then it matches one of the strings you provide in sd_ble_gap_sdv_data_set function call).

    Believe or not most of things are documented on Infocenter, if you use different stack version just find particular API reference (but these basic GAP functions and events are mostly unchanged for several years).

  • (2/2)

    • But beside "observing" any scannable broadcast can be "interrogated" for additional data by issuing SCAN_REQ packet. This answer is basically same kind of data as original ADV_xxx packet broadcasted but logically it will reach only one scanner and it won't be send as frequently as broadcasted packets (because not every broadcast is followed by SCAN_REQ by some observer).
    • For SCAN_REQ/SCAN_RESP applies the same as for CONNECT_REQ: if there is no advertisement there is no active scanning or connection.
Reply
  • (2/2)

    • But beside "observing" any scannable broadcast can be "interrogated" for additional data by issuing SCAN_REQ packet. This answer is basically same kind of data as original ADV_xxx packet broadcasted but logically it will reach only one scanner and it won't be send as frequently as broadcasted packets (because not every broadcast is followed by SCAN_REQ by some observer).
    • For SCAN_REQ/SCAN_RESP applies the same as for CONNECT_REQ: if there is no advertisement there is no active scanning or connection.
Children
No Data
Related