question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Characteristic Notify with acknowledgment aka. Indicate

See original GitHub issue

Currently we only support classical notifications (without ack). As pointed out by one of our collegues some devices require indicate instead of notify. Indicate is notify with ack.

For Android use:

descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE)

instead of

descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE)

For iOS: The CoreBluetooth APIs in iOS don’t let you differentiate between notifications and indications; based on the peripheral’s GATT structure, it will simply use whichever type of data push method is available (notify or indicate). If the GATT structure has both notify and indicate enabled–which is very uncommon and probably shouldn’t be done–then iOS will use notify.

ToDo’s:

  • Add indicate flag to CanUpdate in CharacteristicBase
  • Android: set descriptor value to Indicate

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:6 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
dweyermanncommented, Jul 13, 2016

@xabre We have implemented to request a connection parameter update from the BLE device with appropriate parameters. We have not observed any problems with notifications since then.

Thanks for your help and time!

1reaction
Dragon160commented, Jun 30, 2016

Not yet - I’ll let you know

Read more comments on GitHub >

github_iconTop Results From Across the Web

Characteristic Notify with acknowledgment aka. Indicate #56
Indicate is notify with ack. ... For iOS: The CoreBluetooth APIs in iOS don't let you differentiate between notifications and indications; based ...
Read more >
Bluetooth low energy Characteristics, a beginner's tutorial
Indication - This sub-procedure is used when a server is configured to indicate a Characteristic Value to a client and expects an Attribute ......
Read more >
Consumer Acknowledgements and Publisher Confirms
Manual acknowledgement mode is typically used with a bounded channel prefetch which limits the number of outstanding ("in progress") deliveries on a channel....
Read more >
Lesson 2 – BLE profiles, services, characteristics, device ...
Indicate : Same as notify, except that the client has to send a response (acknowledgment) on data arrival. Authenticated Signed Write: If enabled,...
Read more >
GATT Server and Client Roles - v4.0 - Bluetooth API ...
Notifications are unacknowledged, while indications are acknowledged. Notifications are therefore faster but less reliable.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found