This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello TI Team,
Using following configuration we discovered an issue with 128-bit Service UUIDs:
SimpleLink CC13xx CC26xx SDK: 7.10.2.23
simple_peripheral_gatt_builder_preview_CC26X2R1_LAUNCHXL_tirtos7_ticlang
SysConfig: 1.19.0
Create a 128-bit UUID Service is not possible:
Best Regards,
Tobias
Hi Tobias,
The behavior you are experiencing seems correct to me - even if it could be more user friendly.
Looking at the ti_ble_gatt_service.c/.h files generated by SysConfig when creating a service, it seems the Service UUID is configured based on the "TI_BASE_UUID_128" macro. Said differently, the tool expect you to only provide 16-bit and will fill up the remaining 112 bits with a fix pattern.
// in ti_ble_gatt_service.h #define SIMPLEPROFILE_SERV_UUID 0xFFF0 /// in ti_ble_gatt_service.c CONST uint8 simpleProfileUUID[ATT_UUID_SIZE] = { TI_BASE_UUID_128(SIMPLEPROFILE_SERV_UUID) };
Said differently, even if you select a 128-bit service UUID, the tool expect you provide a 16-bit number within the "Service UUID" field.
Assuming you want to use a UUID base different from the one used by TI, you can consider overwriting the define in the bcomdef.h file
/// @brief TI Base 128-bit UUID: F000XXXX-0451-4000-B000-000000000000 #define TI_BASE_UUID_128( uuid ) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, \ 0x00, 0x40, 0x51, 0x04, LO_UINT16( uuid ), HI_UINT16( uuid ), 0x00, 0xF0
You can also consider generating the ti_ble_gatt_service.c/.h files once, and then disable their generation so you can modify them as you want. This procedure is described in more details here: https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/7.10.02.23/exports/docs/ble5stack/ble_user_guide/html/sysconfig/sysconfig-disable.html
In all the cases, thank you for reporting your findings. I'll open an internal ticket to get the usability of this element improved.
I hope this will help,
Best regards,
Hi Clément,
Thank you for clarification.
So to me it seems to be rather a TIATT builder than a GATT builder ;).
It would be great if the builder is more "generic" to support the full range of UUIDs allowed by Bluetooth Core Spec.
Overwriting the TI_BASE_UUID_128 in bcomdef.h is not a good option for us because the file is located in the SDK. So it need to be manually modified on each build environment.
If macro overwriting should be the solution it would be helpful to have a mechanism to redefine it in local project scope.
Beside that there is still a bug on generating a 128-bit service UUID:
Best regards,
Tobias
Hi Tobias,
Thank you for reporting your new findings. I have opened an internal ticket accordingly.
I am sorry for the difficulties you are encountering here.
In general, this preview of the GATT Builder is meant to generate an initial versions of the files. But, we recommend re-working the files obtained after this. To do this you can
Please let me know if you have more feedback or need additional guidance,
Best regards,