How to regain services and characteristics

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

cross mob
Anonymous
Not applicable

If any services and characteristics are not displayed in LightBlue app, is there the way to regain them?

Best regards

0 Likes
1 Solution

When you add LEGATTDB_PERM_WRITE_REQ you need to change CHARACTERISTIC_UUID16 to CHARACTERISTIC_UUID16_WRITABLE

View solution in original post

0 Likes
8 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Have you tried to "Forget this Device" on the handset side, then reconnecting?  I believe other users had a similar issue and this resolved their problem.

0 Likes
Anonymous
Not applicable

Hi,  mwf_mmfae

Yes. However, although the Local Name in LightBlue app is displayed the correct name, I can't regain them.

The name displayed in Peripherals Nearby in LightBlue is incorrect.

Though, I restarts BL Switch of iPhone and trys "Forget this Device", reconnect, a name of other projects is denoted.

Then, I returned the source code by using Git, but I couldn't take them back.

What can I do anything else?

Best regards

0 Likes

Not sure.  We will need to check with the developers this week.

0 Likes
Anonymous
Not applicable

Hi, mwf_mmfae

I got the cause to disappear all services and characteristics.

After I add LEGATTDB_PERM_WRITE_REQ to CHARACTERISTIC_UUID16 of Device Name,

they doesn't become to display.

Although I modify .wic file, there are all of them.

However, just as I add the permission to Device Name, they disappears.

How can I add a permission which is to write with response to change  Device Name in development?

Best Regards

0 Likes
Anonymous
Not applicable

Hi, mwf_mmfae

Is there a way to add permission to edit Device Name to CHARACTERISTIC_UUID16 without  not  losing services and characteristics?

Best Regards

0 Likes

When you add LEGATTDB_PERM_WRITE_REQ you need to change CHARACTERISTIC_UUID16 to CHARACTERISTIC_UUID16_WRITABLE

0 Likes
Anonymous
Not applicable

Hi, victorz

Thank you for your response.

Do you say that I have to change the following code:

------------------------------------------------------------------------------------------------------------------------------

    //<Name>Device Name</Name>

    //<Uuid>2A00</Uuid>

    CHARACTERISTIC_UUID16 (HDLC_GENERIC_ACCESS_DEVICE_NAME,

                           HDLC_GENERIC_ACCESS_DEVICE_NAME_VALUE,

                           UUID_CHARACTERISTIC_DEVICE_NAME,

                           LEGATTDB_CHAR_PROP_READ,

                           LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_REQ,

                           8),

-------------------------------------------------------------------------------------------------------------------------------

to  like following code:

------------------------------------------------------------------------------------------------------------------------------

    //<Name>Device Name</Name>

    //<Uuid>2A00</Uuid>

    CHARACTERISTIC_UUID16 _WRITABLE(HDLC_GENERIC_ACCESS_DEVICE_NAME,

                           HDLC_GENERIC_ACCESS_DEVICE_NAME_VALUE,

                           UUID_CHARACTERISTIC_DEVICE_NAME,

                           LEGATTDB_CHAR_PROP_READ,

                           LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_REQ,

                           8),

-------------------------------------------------------------------------------------------------------------------------------

?

The former code is generated automatically by Smart Designer the write permission of which is checked in our other projects.

Do I need to change CHARACTERISTIC_UUID16 to CHARACTERISTIC_UUID16_WRITABLE?

Anyway, when I edited like you said, my services and characteristics didn't disappeared.

Thank you very much for your advice.

However, I have not confirmed that my custom board works correctly.

So, if there is the other method to solve this problem, I want you to tell me about it.

Best Regards

0 Likes

Do not forget to change properties as well.  Properties is something that your client will discover.  He needs to know that you support Write (or Write no Response), for example

   //<Name>Device Name</Name>

    //<Uuid>2A00</Uuid>

    CHARACTERISTIC_UUID16 _WRITABLE(HDLC_GENERIC_ACCESS_DEVICE_NAME,

                           HDLC_GENERIC_ACCESS_DEVICE_NAME_VALUE,

                           UUID_CHARACTERISTIC_DEVICE_NAME,

                           LEGATTDB_CHAR_PROP_READ | LEGATTDB_CHAR_PROP_WRITE,

                           LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_REQ,

                           8),