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

How to add a different UUID128 for each characteristic?

Howdy,

I'm porting a GATT profile from a different profile where the custom services characteristics and descriptors UUIDs are malformed. For example;

  • 1st Custom Service: 477EA600-A260-11E4-AE37-0002A5D5-0001
  • 1st Characteristic: 477EA600-A260-11E4-AE37-0002A5D5-4010
  • 2nd Characteristic: 477EA600-A260-11E4-AE37-0002A5D5-4020
  • ...

As you can see, the normal 32uuid/12uuid short-hands won't work; each service and characteristic and descriptor will require it's own 128uuid. Note that there is resistance to regenerating a base UUID and using 16uuids correctly, therefor I'm investigating what it will take to support the UUIDs above with S113 and nRF5_SDK v16.

I assume that to add the characteristics, I have to something like the following;

  1. sd_ble_uuid_vs_add("477EA600-A260-11E4-AE37-0002A5D5-4010", &uuid.type);
  2. uuid.uuid = 0xa600; sd_ble_gatts_service_add(..)
  3. sd_ble_uuid_vs_add("477EA600-A260-11E4-AE37-0002A5D5-4020", &uuid.type);
  4. uuid.uuid = 0xa600; sd_ble_gatts_service_add();

Questions:

  • Is there a fixed, upper limit, to the number of 128uuids that can be stored by S113?
  • Can S113 handle one 128uuid per custom service, characteristic and descriptor, all with the same 32uuid/16uuid?
  • Is the method, outlined above, the way to do this?

Thanks,

Related