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

Are notifications always sent before disconnecting?

Hi,

In our code we would like to respond to a write with a notification and then disconnect. So we first we call sd_ble_gatts_rw_authorize_reply to reply to the write, then sd_ble_gatts_hvx for the notification and then sd_ble_gap_disconnect. Now I was wondering if the write response and the notification are always sent before the disconnection occurs, or do I have to wait for BLE_EVT_TX_COMPLETE (for 2 packets) to know for sure that they are sent?

Regards,

Thiemo van Engelen

Parents
  • FormerMember
    +1 FormerMember

    No, there is no guarantee that the sd_ble_gatts_rw_authorize_reply() and the notifications will be sent before the disconnect command.

    So yes, to be sure that sd_ble_gatts_rw_authorize_reply() and the notifications are transmitted before the disconnect command, you should wait for BLE_EVT_TX_COMPLETE/BLE_GATTS_EVT_HVN_TX_COMPLETE (S132 v. 4.x.x)

  • I've just noticed under debug that nrf-connect app for android at the beginning of connection somehow skips first several packets (but it confirms all the indications) and continues with printing to log packets that come after those. This is in case i initialized disconnection from app without unsibscribing from indication(in this case next connection begin with subscription automatically, but unfortunately with lost packets).

Reply
  • I've just noticed under debug that nrf-connect app for android at the beginning of connection somehow skips first several packets (but it confirms all the indications) and continues with printing to log packets that come after those. This is in case i initialized disconnection from app without unsibscribing from indication(in this case next connection begin with subscription automatically, but unfortunately with lost packets).

Children
No Data
Related