A way to enable both notify and indicate

I have a BLE device and I'm developing an iOS app that communicates with that device. The device has a characteristic that has both notify and indicate properties, and sends some messages via notify and others via indicate, therefore I cannot use setNotifyValue.

If the specified characteristic’s configuration allows both notifications and indications, calling this method enables notifications only.

Is there any way to enable simultaneously both notify and indicate for the same characteristic?

Answered by Engineer in 845805022

It is not possible to enable both transport modes, and CoreBluetooth chooses notifications if the device supports both.

If you prefer indications over notifications, the peripheral device must configure the characteristic as indications only.

So, when you call setNotifyValue

  • peripheral supports indications ==> you receive indications
  • peripheral supports notifications ==> you receive notifications
  • peripheral supports both ==> you receive notifications

Hope this clarifies things


Argun Tekant /  DTS Engineer / Core Technologies

Accepted Answer

It is not possible to enable both transport modes, and CoreBluetooth chooses notifications if the device supports both.

If you prefer indications over notifications, the peripheral device must configure the characteristic as indications only.

So, when you call setNotifyValue

  • peripheral supports indications ==> you receive indications
  • peripheral supports notifications ==> you receive notifications
  • peripheral supports both ==> you receive notifications

Hope this clarifies things


Argun Tekant /  DTS Engineer / Core Technologies

A way to enable both notify and indicate
 
 
Q