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).

  • Yes, in a nutshell (but I believe this is explained in every BLE introduction):

    • Roles on basically all the layers are asymmetric but in slightly different ways when you go through the stack.
    • There are also two phases: unconnected (also called advertising/broadcasting/scanning - depending on what role you have in the center of your thinking;) and connected.
    • In that first phase you can already make your application but mostly as one-way transfer. This is the "beacons" world of various advertisers and data formats.
    • Now every such broadcaster have several properties, mainly: Is it connectable or not. Is it scannable or not. Is it directed to single listener or to everyone.
    • On the opposite side you have basic "observer" which just passively listens to broadcasts and those relevant are handed over to higher layers.

    (1/2)

Reply
  • Yes, in a nutshell (but I believe this is explained in every BLE introduction):

    • Roles on basically all the layers are asymmetric but in slightly different ways when you go through the stack.
    • There are also two phases: unconnected (also called advertising/broadcasting/scanning - depending on what role you have in the center of your thinking;) and connected.
    • In that first phase you can already make your application but mostly as one-way transfer. This is the "beacons" world of various advertisers and data formats.
    • Now every such broadcaster have several properties, mainly: Is it connectable or not. Is it scannable or not. Is it directed to single listener or to everyone.
    • On the opposite side you have basic "observer" which just passively listens to broadcasts and those relevant are handed over to higher layers.

    (1/2)

Children
No Data
Related