cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

jamec_2673086
New Contributor II

Hello,

I am getting different behavior for 128 bit & 16 bit UUID for Custome service, characteristic, descriptor.

if I use 16-bit uuid to Custome service, characteristic, descriptor, I can read/write data from CySmart Android app.

But if I use 128-bit uuid to Custome service, characteristic, descriptor, I can not read/write data from CySmart Android app & firmware gets hanged.

As per my knowledge change in UUID formate should not affect at all.

Is there any kind of specific reason behind this behavior?

0 Likes
Reply
3 Replies
jamec_2673086
New Contributor II

sorry,

By mistake asked the wrong behavior,

Firmware could not work with 16-bit UUID and gets hanged.

Works fine with 128-bit UUID .

0 Likes
Reply
himam_31
Employee

Please attach the project.

Thanks,

Hima

0 Likes
Reply
Anonymous
Not applicable

16 bit UUIDs are Bluetooth standard ID declarations, and as such are meant for certified/standardized services/profiles. Cypress tries to help with this by assigning custom profiles/services to 128-bit UUIDs automatically. If you are trying to use a 16-bit UUID, chances are that the phone is recognizing the 16-bit UUID for the service/profile that it is designated as (say medical location or something like that), rather than allowing you to use it as a "custom" service.

Unless you follow the specifications of the 16-bit UUIDs that you use according to this:Service Discovery | Bluetooth Technology Website

then most likely you will run into compatibility issues when trying to use your profile with standard Bluetooth devices/phones.

I would suggest sticking with the UUID 128-bit for your custom service unless you are specifically trying to use one of the standard/declared services on the Bluetooth website.

tl;dr; Use the 128-bit UUID

0 Likes
Reply