Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Connection event extension detail

I use the connection event extension, but there are several concepts that I am not very clear.

Software:S132 v5.0 . SDK14.1.0  nRF52810

Goal: I need to use high throughput and there are strict requirements for ram. The macro definitions mentioned below have a large impact on RAM.

Based on the use of the Connection event extension, what is the effect of setting the BLE_GATTS_HVN_TX_QUEUE_SIZE_DEFAULT size on the rate? I found that the throughput of BLE_GATTS_HVN_TX_QUEUE_SIZE_DEFAULT = 2 is faster than that of BLE_GATTS_HVN_TX_QUEUE_SIZE_DEFAULT = 5..

Parents
  • Hi,

    If you are using the nRF52810, you should be using the S112, not the S132.

    By setting the hvn_tx_queue_size, you are setting the minimum guaranteed number of Handle Value Notifications that can be queued for transmission. But, even if the application configures a large number of packets to be queued, not all of them will be sent during a single connection event if the configured event length(NRF_SDH_BLE_GAP_EVENT_LENGTH) is not large enough to send the packets. 

    Note that the application can configure one single packet to be queued in the SoftDevice, but still achieve full throughput if the application can queue packets fast enough during connection events (queue the next packet as soon as you get the BLE_GATTS_EVT_HVN_TX_COMPLETE event).

Reply
  • Hi,

    If you are using the nRF52810, you should be using the S112, not the S132.

    By setting the hvn_tx_queue_size, you are setting the minimum guaranteed number of Handle Value Notifications that can be queued for transmission. But, even if the application configures a large number of packets to be queued, not all of them will be sent during a single connection event if the configured event length(NRF_SDH_BLE_GAP_EVENT_LENGTH) is not large enough to send the packets. 

    Note that the application can configure one single packet to be queued in the SoftDevice, but still achieve full throughput if the application can queue packets fast enough during connection events (queue the next packet as soon as you get the BLE_GATTS_EVT_HVN_TX_COMPLETE event).

Children
Related