This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

BLE data packet transmission verification

Hi,

Is it possible to check somehow  if a BLE packet has been transferred (or not) from a peripheral to the central device?

Through a succesful transmission flag or something?

I use ble_nus_data_send() to transfer data to the central

Thank you

  • Hello Kostoulas, 

    Thanks for your query.

    Yes it is possible to check the transmission of BLE packet from a peripheral to the central device. In the ble_app_uart example, inside ble_evt_handler() (main.c file) function, you can just add the BLE_GATTS_EVT_HVN_TX_COMPLETE (Handle value Notification Transmission Complete) as a case. 

    The packets are sent in the order they were queued, so if two packets are sent and received only one Transmission (TX) complete event, that means the first packet is acknowledged. When second one is also received that means both are acknowledged. 

    This notification is sent in order the way they are placed in transmission buffer. The BLE packets doesn't time out. Until getting notification/acknowledgement by the peer or getting a disconnect event (timeout), it will be (re) transmitted. 

     

    Hope it helps.

    Best regards

    Kazi Afroza Sultana

Related