This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Unable to add multiple 128bit UUID services

I was able to add the Device Information service as well as a proprietary service using a 128 bit UUID. I modeled after the ble_peripheral uart example. However when I try to add this service on top of the proprietary UART service in the ble_peripheral example, my board stops advertising. I tried several variants but still no luck. Is there an example that adds multiple proprietary services?

I am using 2.0.0-7.alpha (2015-12-18). I tried to update but was unsuccessful. I got the following message:

I also tried to add the UUID for the UART using the example code. Same problem!

I am attaching a file with the relevant code.

MultipleServices.docx

  • Hi. What S132 version are you using and how exactly are you trying to add more services? Could you post your code?

  • Again: what S132 version is it? In the alpha releases of the S132 e.g. there is a bug causing sd_ble_uuid_vs_add() to return NRF_ERROR_NO_MEM if you try to call it twice or more with the same UUID. Have you tried stepping through your code and looked for asserts? Here is a guide on how to look for asserts.

  • Usual advice - put a breakpoint in the app error handler because that's most likely where you went after a function returned an error. And most likely you went there because the advertising encoder returned an error code because there's no room in the advertising packet for a long custom UUID along with all the other stuff which is already in there. Put it in the scan response.

  • Hi

    I also have the same issue, basically I modified a example of heart rate monitor with adding custom 128bit uuid service (I removed all standard 16-bit UUID services). The board works and advertising that 128bit. However, when I enable the Over the air DFU defined which is by default using different 128bit UUID. The board does not work anymore - no led to indicate anything that probably means the code doesnt even execute to main while loop.

    Then, if I comment out my custom 128bit UUID and enable just the 128bit DFU services. The board works and advertise!. Does it mean only 1 base 128bit UUID can be used? or other workaround I can try?

    Andy

  • Well I'll give you the same advice. Put a breakpoint in the error handler. Boards don't just disappear into the sunset, or stop working and they don't get all upset and just stop advertising because they don't feel like it. The processor is somewhere doing something, hit break and find out where and what.

Related