Inquiry Regarding Support for Indication Method in Nordic nRF52840

I am reaching out to inquire about the support for the indication method in the Nordic nRF52840. Could you please confirm whether this method is supported in the Nordic SDK for the nRF52840 platform?

If supported, I would greatly appreciate it if you could provide an example of how to implement this functionality. Specifically, I am looking for guidance on using indications in a Bluetooth Low Energy (BLE) application.

Thank you.

Parents
  • Hi,

    Both notifications and indications are supported in the nRF Connect SDK, for all BLE devices, although most (if not all) of the implemented profiles and samples in the SDK uses notifications.

    Please note that most profiles from Bluetooth SIG, as well as custom (vendor specific) services and characteristics, tend to use notifications instead of indications. Notifications have less overhead, and for most practical purposes notifications are all that you need. BLE packets are resent until delivered or the connection breaks, so the only situation where indications could provide significant information is when the connection is lost shortly after the indication was sent. Please note however that even a successful indication doesn't necessarily mean successful delivery of the data, since for smartphones the indication is handled at OS level. After that, the information may or may not reach the application, depending on what happens on that smart phone. (Power loss, application freezes or abruptly closes, etc.)

    You will find a detailed walk-through for implementing indications in our Bluetooth Low Energy Fundamentals course on DevAcademy, as part of the exercises for lession 4 of that course (lesson 4, exercise 2). I highly recommend the full course for a comprehensive introduction to BLE in nRF Connect SDK.

    Regards,
    Terje

  • Thanks for the reply

    Currently we are using the notification method to send the 200 packets. We want to send the same data in indication method, what will be the TX speed reduction we might get?. And in indication method, ACK is sent as new packet ?

     

    Thanks.

    Madhukeshwar

  • Hi,

    With notification, the notification is sent from the GATT server to the GATT client. For indications, there is also an ACK sent from the GATT client to the GATT server. The ACK may happen either in the same connection event or in a later connection event.

    Depending on the communication pattern, the ACK to an indication doesn't necessarily add overhead. Packet exchanges during connection events are basically such that each peer (central and peripheral) send one packet each, in turn, until both has sent an empty packet or the connection event times out. If there are no other packets to send then the ACK will simply replace an empty packet. However there might be delays affecting throughput if the receiving device doesn't send the ACK right away, for instance if the indication needs to be ACKed from the application or if the receiving device has other packets to send. I recommend that you test with your use case, to see whether indications give overhead for your scenario (and if so how much.)

    Regards,
    Terje

Reply
  • Hi,

    With notification, the notification is sent from the GATT server to the GATT client. For indications, there is also an ACK sent from the GATT client to the GATT server. The ACK may happen either in the same connection event or in a later connection event.

    Depending on the communication pattern, the ACK to an indication doesn't necessarily add overhead. Packet exchanges during connection events are basically such that each peer (central and peripheral) send one packet each, in turn, until both has sent an empty packet or the connection event times out. If there are no other packets to send then the ACK will simply replace an empty packet. However there might be delays affecting throughput if the receiving device doesn't send the ACK right away, for instance if the indication needs to be ACKed from the application or if the receiving device has other packets to send. I recommend that you test with your use case, to see whether indications give overhead for your scenario (and if so how much.)

    Regards,
    Terje

Children
No Data
Related