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

BLE indication question

Hi,

I am trying to use the indication to transfer data from NRF52832 device to host. when the indication transfer was comfirmed by host, then we can receive the event @BLE_GATTS_EVT_HVC, but, if the host did not receive the indication data, what behavior will be? how we can know about the host lost the data?

Regards Simon

  • FormerMember
    0 FormerMember

    There are two cases:

    1) The indication packet from the server to the client is not ACK'ed:

    In BLE, all packets at ACK'ed at the link layer. It means that if the server transmits an indication, and that indication packet is not ACK'ed by the client, the server will continue to transmit the indication until an ACK or until connection supervision timeout. Upon a connection supervision timeout there will be a disconnect (BLE_GAP_EVT_TIMEOUT). This will be the same as for "notifications".

    2) The indication packet was received by the client (ACK'ed), but the client never responds:

    If the client doesn't respond within 30 seconds, the indication transaction will be considered as failed, and the application will receive the event BLE_GATTS_EVT_TIMEOUT.

Related