Accessing Custom Service Characteristic UUID

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hello Cypress BLE World:

   

A Custom Profile Service UUID may be viewed in the Configure BLE, Profiles tab, Custom Service window as, for example, UUID: AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA

   

An associated Custom Service Characteristic UUID may be viewed in the associated Custom Characteristic window as, for example, UUID: 11111111-1111-1111-1111-111111111111

   

The Custom Profile Service UUID value resides in the BLE_gatt.c file in the const uint8 cyBle_attUuid128[][16u] variable as:

   

    { 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu, 0xAAu },

   

The Custom Characteristic UUID resides in that variable as:

   

    { 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u, 0x11u },

   

The Custom Profile Service UUID may be read using the Macro CYBLE_GATT_DB_ATTR_GET_GEN_VALUE.

   

However, using that Macro to read the Custom Characteristic UUID gives the Characteristic Value and not the UUID.

   

The defined constants in BLE_custom.h do not include the Characteristics UUID handles from which to read the Characteristics UUID from the database.

   

This is proven by working backwards from where the Custom Characteristic UUID resides in the database as described and shown in the attached graphic for the remainder of this post:

0 Likes
3 Replies
Anonymous
Not applicable

In regard to the previous post:

   

QUESTION:

   

Since the defined constants provided in BLE_custom.h do not include the handles for the Characteristic UUID’s, how can those UUIDs be read (or written)?

   

Thank you,

   

Tim

0 Likes
Anonymous
Not applicable

For those who access BLE UUIDs as discussed above, a Cypress Support Case was created and their response follows:

   

Hello Tim,

Thanks for your feedback, we will add such define in BLE v3.0 component.

Having said that the Characteristic declaration handle is always "-1" from characteristic value handle which we already have.
So you could use it to read characteristic UUID for example by adding following macro:

#define CYBLE_CUSTOM_SERVICE_CUSTOM_CHARACTERISTIC_CHAR_DECL_HANDLE (CYBLE_CUSTOM_SERVICE_CUSTOM_CHARACTERISTIC_CHAR_HANDLE - 1u)

Hope this helps.Thanks again for your feedback, greatly appreciated.Let me know if you have any other queries.
Thanks
Bharadhwaj

 

0 Likes
Anonymous
Not applicable

Hello,

   

I am using the BLE Pioneer kit (CY8CKIT-042-BLE) and the BLE component in my project is at v2.20. Is it possible for me to update to BLE v3.10? I'd like to make use of custom services and it sounds like BLE v.3+ will make this easier.

   

If I use the component update tool the latest version I can see is BLE v2.20.

   

Thanks,
George

0 Likes