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
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
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