evenly space multiple notifications inside very same connection interval

To the kind attention of Nordic support team,

I'd like to know what would be the best theoretically way, if possible, to control "when" multiple notifications are sent during the very same connection interval. Let's say I have to send multiple notification packets (that is about 200us each, using 1M PHY): #10 notifications. And available connection interval (also considering NRF_SDH_BLE_GAP_EVENT_LENGTH) is 100ms. Is it possible some sort of sync mechanism that allows to evenly space the 10 notifications 10ms apart so to have a steady stream of notification packets, arriving host side with some sort of fixed frequency (given all limitations related to the wireless channel)? The 10 notifications should be buffered before the connection interval beginning, so to be possible for the device to enable the "more data" flag and inform the master to not close the connection interval? In this case the notifications would be sent very quickly at the beginning of the connection interval, and not evenly spread in it. Is it possible to set a 100ms connection, sync very first sd_ble_gatts_hvx using radio notifications and then call sd_ble_gatts_hvx every 10ms without having buffered nothing? The master is going to close the connection interval?  

Best regards

Parents
  • Hi Afroza, thank you for your kindness.

    I had chance to capture nRF5 SDK ble_app_att_mtu_throughput sniffing session. #10 l2cap fragments are part of the same 247 bytes notification

    while using other custom modified test applications, I got this situation where a 15 bytes notification is sent each time

    In the first case #define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247. In the second case the same parameter is 23. So, as I understand, proper use of mtu size, prevents the master from closing the connection interval. 

Reply
  • Hi Afroza, thank you for your kindness.

    I had chance to capture nRF5 SDK ble_app_att_mtu_throughput sniffing session. #10 l2cap fragments are part of the same 247 bytes notification

    while using other custom modified test applications, I got this situation where a 15 bytes notification is sent each time

    In the first case #define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247. In the second case the same parameter is 23. So, as I understand, proper use of mtu size, prevents the master from closing the connection interval. 

Children
  • The default Maximum Transmission Unit (MTU) is 23 bytes. When increasing this value, longer payloads can be achieved by sending several packets for one transaction. Another parameter is connection interval which defines how often the devices must listen on the radio. So increasing this value you can send more packets for your larger MTU size. However, if a packet is lost, the waiting time until the next transmission is longer.  

Related