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

Max back to back Notifications within a single Connection interval

Hello,

 

I am using nRF52832, SDK_15.3.0, S132 SoftDevice and Segger for flashing the image. I am using ‘ble_app_blinky’ and “nRF Connect” app.

 

I am trying to understand back to back notifications within Connection interval.

1) What does “NRF_SDH_BLE_GAP_EVENT_LENGTH” for. As per explanation 7.5ms (6 * 1.25ms) is allocated for this connection. Since my device is just a peripheral with single connection, can I increase to 75ms as my Minimum connection interval is 100ms. I mean whether can I keep NRF_SDH_BLE_GAP_EVENT_LENGTH to 60 (60 * 1.25ms = 75ms).

 

#define MIN_CONN_INTERVAL               MSEC_TO_UNITS(100, UNIT_1_25_MS)

#define MAX_CONN_INTERVAL               MSEC_TO_UNITS(200, UNIT_1_25_MS)

 

2) Even though I configure Min & Max connection interval as 100ms & 200ms, still in sniffer I am seeing Connection interval as 50ms. To my understanding Connection Min & Max interval is decided by Central. So, even though if I change NRF_SDH_BLE_GAP_EVENT_LENGTH to 60 (75ms) and if Connection interval is 50ms will it cause any issues. What will happen in this scenario.

 

3) In few support links, its mentioned to change BLE_GATTS_HVN_TX_QUEUE_SIZE_DEFAULT. If I change this macro, is that good enough or need to call hvn_tx_queue_size.

              sd_ble_cfg_set(BLE_CONN_CFG_GATTS, &cfg, ...);

 

4) Assume I queued more packets, but only few packets are transmitted within Connection interval, then whether remaining packets will be transmitted in next Connection interval.

 

Thanks & Regards

Vishnu Beema

Parents
  • Hi,

    1) Yes, you can increase the event length to 75 ms. This will increase the achievable throughput for the link.

    2) This will not cause any issues.

    3) You don't need to change BLE_GATTS_HVN_TX_QUEUE_SIZE_DEFAULT or use sd_ble_cfg_set. The hvn_tx_queue_size will be indirectly configured based on NRF_SDH_BLE_GAP_DATA_LENGTH and NRF_SDH_BLE_GAP_EVENT_LENGTH values.

    4) Yes, as long as sd_ble_gatts_hvx() returns NRF_SUCCESS, and you don't disconnect the link, the packet will be sent in the upcoming connection events.

Reply
  • Hi,

    1) Yes, you can increase the event length to 75 ms. This will increase the achievable throughput for the link.

    2) This will not cause any issues.

    3) You don't need to change BLE_GATTS_HVN_TX_QUEUE_SIZE_DEFAULT or use sd_ble_cfg_set. The hvn_tx_queue_size will be indirectly configured based on NRF_SDH_BLE_GAP_DATA_LENGTH and NRF_SDH_BLE_GAP_EVENT_LENGTH values.

    4) Yes, as long as sd_ble_gatts_hvx() returns NRF_SUCCESS, and you don't disconnect the link, the packet will be sent in the upcoming connection events.

Children
Related