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

nrf52 S132 serialization 128bit advertising issue

Hello, I followed the example for doing 128 bit UUID advertising using ble_app_uart example. The problem is, this seems to work if I run it when the radio and controller are the same device. However, when I run the example porting over to a serialized version, I cannot see my device in the nrfconnect app. However, if I change the UUID type to BLE_UUID_TYPE_BLE from BLE_UUID_TYPE_VENDOR_BEGIN, I see the device advertising as normal in nrfconnect app. Has anyone run into this problem, of advertising 128-bit UUID via serialized application? Thanks!

  • I just tried adding the the NUS 128-bit UUID to ble_app_hrs_ser, using serialization over UART. Seems to be working fine, had to use a scan response though. I tested with SDK 11 and S132 v2. Maybe you could uplaod your application so I can test it here? What serialization did you use? What SDK and SoftDevice version?

  • Found out the issue. I ported most of the code to HRS_SER from APP_UART. The HRS_SER initialized advertising_init before services_init but app_uart does the opposite with services_init called after advertising_init. Looks like for 128-bit UUIDs you need to initialize services before doing advertising_init but not for 2 byte UUIDs. My suggestion would be to make the examples consistent with the order of initialization :) Also, I was able to use both uuids_complete and scanrsp_uuids. I just shorterned the name for Nordic_UART since doesn't fit in 31 bytes with 16 bytes uuid. Thanks for you help!

  • The base UUID for the 128-bit UUID is added to the SoftDevice inside services_init(). This base is not available if you call advertising_init() first.

Related