0
votes

I'm trying to notify a GATT characteristic where an external BLE GATT client has registered to (pure BLE / no mobile device lib). I can successfully register for notify with my external GATT client (running on a microcontroller). However, when updating the characteristic on Movesense, no notify event seems to arrive at GATT client. The characteristic value is written in notify callback, when new sensor data is available via asyncPut():

WB_RES::Characteristic newCharValue;
...
asyncPut(WB_RES::LOCAL::COMM_BLE_GATTSVC_SVCHANDLE_CHARHANDLE(),
         AsyncRequestOptions::Empty,
         mSvcHandle,
         mCharHandle,
         newCharValue);

The GATT service is created based on CustomGATTSvcClient example. The characteristic properties are READ, WRITE, NOTIFY. The characteristic value is written after the handles are successfully assigned from post and get callback.

1
What BLE stack? Firmware? Hardware? Is the code you added is a snippet from your firmware or client? Most firmware implementations I saw have separate API calls: one to update the characteristic's value and another to trigger a notification - see if that is the case.bavaza
If you use an app such as nRF connect, do you receive the notification there? And maybe you need to subscribe the characteristics first. In nRF connect there is a button for this also, so you can try out there.maze
Ok, I managed to fix it. It was an issue in the build toolchain of the other peripheral. Thus, the issue is not related to Movesense.Henrix

1 Answers

0
votes

The issue was related to the build toolchain of the other device.