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

Scan Response

I have some questions about the scan response packet.

  1. Can a scan response be sent with a peripheral that is configured to be connectable? IE not a beacon.
  2. I read that if the the scan response contains manufacture specific data this data should be static? I can choose to make some of this data dynamic, like device status, correct?
  3. Are there an examples in the SDK which demonstrate the use of a scan response?

Thanks in advance, Darren

Parents
    1. Yes - the scan response is more usually used in things which are connectable than aren't, but either works.

    2. I don't know where you read that, it's not true, you can change every piece of data in the adverting and scan response on a constant basis if you like, have a scan response, not have one later. Whether the device scanning you manages to handle and report all those changes is up to the device scanning you.

    3. possibly not - but it's trivial - just encode the scan response in the same way you encode the advertising data and then add the encoded data to the p_sr_data and srdlen of the sd_ble_gap_adv_data_set(). Or if you're using the Advertising and Scan Response encoder library, one layer higher, the unencoded data into the last argument of ble_adv_data_set(), p_srdata, if if you're using the entire advertising module, ble_advertising_init() with a non-NULL p_srdata second paramter.

Reply
    1. Yes - the scan response is more usually used in things which are connectable than aren't, but either works.

    2. I don't know where you read that, it's not true, you can change every piece of data in the adverting and scan response on a constant basis if you like, have a scan response, not have one later. Whether the device scanning you manages to handle and report all those changes is up to the device scanning you.

    3. possibly not - but it's trivial - just encode the scan response in the same way you encode the advertising data and then add the encoded data to the p_sr_data and srdlen of the sd_ble_gap_adv_data_set(). Or if you're using the Advertising and Scan Response encoder library, one layer higher, the unencoded data into the last argument of ble_adv_data_set(), p_srdata, if if you're using the entire advertising module, ble_advertising_init() with a non-NULL p_srdata second paramter.

Children
Related