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

iOS packets per connection interval

Hi,

I am using S132 to communicate with an iPhone running iOS9. The peripheral needs to operate at high data rate at certain times so I have followed the method posted in this question:

https://devzone.nordicsemi.com/question/1741/dealing-large-data-packets-through-ble/

The method is essentially to set MTU size to 20 bytes and then keep transmitting after every BLE_EVT_TX_COMPLETE event. The connection seems fine but I am only able to receive two packets per interval (which is around 30ms) on the iPhone. In this forum I have read as answers to some questions that this can be 6 packets for iOS and others saying it can be 4. But I am getting only 2. Is this something that has been observed with iOS9 or I could be doing something wrong?

Parents
  • Yes, it is assumed that you will be calling sd_ble_tx_packet_count_get(...) to get the number of available buffers. From there it's purely mathematical: Packets_per_CI * bits of data per PDU / connection interval. Packets_per_CI is the minimum of the senders TX buffer count and the receivers RX buffer count. These numbers should also be present in the Softdevice Specification (SDS) under throughput/performance.

Reply
  • Yes, it is assumed that you will be calling sd_ble_tx_packet_count_get(...) to get the number of available buffers. From there it's purely mathematical: Packets_per_CI * bits of data per PDU / connection interval. Packets_per_CI is the minimum of the senders TX buffer count and the receivers RX buffer count. These numbers should also be present in the Softdevice Specification (SDS) under throughput/performance.

Children
No Data
Related