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

Is it possible to support notify and indicate via same characteristic simultaneously?

I can easily generate a custom service that has characteristic with both notify and indication enabled. If I test with mobile app (using nRF Connect or other mobile apps for Android) it seems that I can only enable notifications or indications, but not both at the same time.

If I enable notifications first and then try to enable indications, then notify is automatically disabled. And same thing the other way around.

In other words, I can only write value 0x1 or 0x2 to the CCCD, but not 0x3. (I did not try to write directly to the CCCD yet).

Is this a limitation in the Bluetooth specification or just a limitation in the mobile app (or perhaps Android BLE stack?)

Parents
  • Additional info: I tested with Bluegiga BLED112 dongle as client and nRF52 devkit as server. I can use alternating notify and indicate just fine. After connecting, I write value 0x0003 to the CCCD, enabling both indications and notifications. Everything seems to work fine.

    Now the problem is that this does not work with any of the Android apps that I have. I guess it is a limitation in the Android BLE API. Would be probably best to avoid such combination then so that there are no compatibility issues later.

Reply
  • Additional info: I tested with Bluegiga BLED112 dongle as client and nRF52 devkit as server. I can use alternating notify and indicate just fine. After connecting, I write value 0x0003 to the CCCD, enabling both indications and notifications. Everything seems to work fine.

    Now the problem is that this does not work with any of the Android apps that I have. I guess it is a limitation in the Android BLE API. Would be probably best to avoid such combination then so that there are no compatibility issues later.

Children
No Data
Related