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

understanding BLE_EVT_TX_COMPLETE

Can we use the tx_complete.count given with BLE_EVT_TX_COMPLETE as an indication on how many packets were sent out from the last ended connection interval?

thank you jing

Parents
  • Hi,

    Can we use the tx_complete.count given with BLE_EVT_TX_COMPLETE as an indication on how many packets were sent out from the last ended connection interval?

    You will get an BLE_EVT_TX_COMPLETE every time a packet you have queued for transmission using one of the GATTC/GATTS/L2CAP APIs has been successfully transmitted to the peer. If you keep pulling events from the SoftDevice fast enough, you should get a BLE_EVT_TX_COMPLETE at the end of each connection interval informing you of the user packets that have been sent over the air.

    However, that "count" field only counts user packets, and not system packets, meaning that it won't always correspond to the actual packets that have been sent over the link, depending on the type of protocol activity.

    Carles

Reply
  • Hi,

    Can we use the tx_complete.count given with BLE_EVT_TX_COMPLETE as an indication on how many packets were sent out from the last ended connection interval?

    You will get an BLE_EVT_TX_COMPLETE every time a packet you have queued for transmission using one of the GATTC/GATTS/L2CAP APIs has been successfully transmitted to the peer. If you keep pulling events from the SoftDevice fast enough, you should get a BLE_EVT_TX_COMPLETE at the end of each connection interval informing you of the user packets that have been sent over the air.

    However, that "count" field only counts user packets, and not system packets, meaning that it won't always correspond to the actual packets that have been sent over the link, depending on the type of protocol activity.

    Carles

Children
No Data
Related