BLE Assigned UUID 128-bit Base

Hi All, 

I just had a quick question about the SDK as it pertains to assigned services. Is the BLE Base UUID defined anywher ein the SDK files? i have looked all over; ble_types.h, ble_gap.h, ble_gatt.h, the files contain definitions for many 16-bit assigned UUID's but I don't see anything about the BLE assigned base UUID. I was writing a client application that needed to make use of the device information service, I ended up just defining this value myself but is it would be helpful to have it somewhere in a non-project specific document.

Thanks,

Patrick

Parents
  • Hi,

    The base UUID for 16 bit UUIDs is not explicitly mentioned in the SDK, since it is handled by the stack itself and the SoftDevice Controller is not provided as source code. On the SDK level, the UUID is registered with a UUID type of 16 bit UUID, and only the 16 bit part is explicitly needed.

    The SDK uses different macros for handling different types of UUID. See e.g. the API reference for Universal Unique Identifiers (UIIDs). The API contains defines for SIG defined UUIDs such as BT_UUID_DIS, which should be what you are looking for.

    For anyone implementing this on a different platform, where for some reason 16 bit UUIDs must be implemented through manually applying the full 128 bit UUID, the "base UUID" has the value 0000xxxx-0000-1000-8000-
    00805F9B34FB, where the xxxx is where the 16 bit value is positioned. Ref. the Bluetooth core specification v5.3, Vol 3, Part B, section 2.5.1 UUID.

    Regards,
    Terje

Reply
  • Hi,

    The base UUID for 16 bit UUIDs is not explicitly mentioned in the SDK, since it is handled by the stack itself and the SoftDevice Controller is not provided as source code. On the SDK level, the UUID is registered with a UUID type of 16 bit UUID, and only the 16 bit part is explicitly needed.

    The SDK uses different macros for handling different types of UUID. See e.g. the API reference for Universal Unique Identifiers (UIIDs). The API contains defines for SIG defined UUIDs such as BT_UUID_DIS, which should be what you are looking for.

    For anyone implementing this on a different platform, where for some reason 16 bit UUIDs must be implemented through manually applying the full 128 bit UUID, the "base UUID" has the value 0000xxxx-0000-1000-8000-
    00805F9B34FB, where the xxxx is where the 16 bit value is positioned. Ref. the Bluetooth core specification v5.3, Vol 3, Part B, section 2.5.1 UUID.

    Regards,
    Terje

Children
No Data
Related