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

service data with 128-bit uuid

Hi,

I need to send some additional information in advertising.

According to Core Specification Supplement v4 A.1.11 it is possible to use also 128-bit UUID in service data. But I can't find this possibility in the SDK API (I use SDK 5.1.0). Is that not possible? Or am I missing something?

Cyril.

Parents
  • Hi Cyril,

    The SDK API ble_advdata_set does provide the possibility to do this. In fact, the DFU example (found in \Nordic\nrf51422\Board\nrf6310\device_firmware_updates\bootloader folder) uses this feature. Please have a look at the function advertising_init in dfu_transport_ble.c together with ble_dfu_init in ble_dfu.c to see how this is done.

    In short, you will need to first add the 128 bit UUID to the S110 SoftDevice using sd_ble_uuid_vs_add (done in ble_dfu_init function). When you do that, the stack will provide UUID Type as output parameter. This UUID type should be later used when you initialize the advertisement data (done in advertising_init in dfu_transport_ble.c).

    Hope this is clear.

    Cheers, Balaji

  • Hi,

    This answer is about service UUID's and not about service data uuid's I searched through the devzone but I cannot find a answer on Cyrils question. Some background. I have a working solution from another vendor and I want to switch to Nordic. In this solution I use service data to advertise our product including some data about the product. I am now looking in the SDK to see how I can implement this with Nordic.

    Ok, so the ble_advdata_service_data_t structure needs a uint16_t for de uuid. I use 128 bits uuid's. I can add them with sd_ble_uuid_vs_add. This returns a UUID type. Now the question is. How do I match the UUID type return from sd_ble_uuid_vs_add to the service_uuid field in ble_advdata_service_data_t structure.

    Cheers, Marcel

Reply
  • Hi,

    This answer is about service UUID's and not about service data uuid's I searched through the devzone but I cannot find a answer on Cyrils question. Some background. I have a working solution from another vendor and I want to switch to Nordic. In this solution I use service data to advertise our product including some data about the product. I am now looking in the SDK to see how I can implement this with Nordic.

    Ok, so the ble_advdata_service_data_t structure needs a uint16_t for de uuid. I use 128 bits uuid's. I can add them with sd_ble_uuid_vs_add. This returns a UUID type. Now the question is. How do I match the UUID type return from sd_ble_uuid_vs_add to the service_uuid field in ble_advdata_service_data_t structure.

    Cheers, Marcel

Children
No Data
Related