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
  • S130/S132 v1 can send/receive 3 packets per connection event as a peripheral, but it only has buffers for 3 packets. A packet is not removed from the buffer before it is ACKed and the last packet is not ACKed before the next connection event. If three packets where sent, one packet from the last connection event will be in the buffer when a new connection event occurs hence there is only place for two more packets. Therefore you can only send two packets per connection event continuously.

    EDIT: With S130/S132 v2 you can send 6 packets per connection interval as a peripheral as specified in the release notes (BLE_CONN_BW_HIGH).

Reply
  • S130/S132 v1 can send/receive 3 packets per connection event as a peripheral, but it only has buffers for 3 packets. A packet is not removed from the buffer before it is ACKed and the last packet is not ACKed before the next connection event. If three packets where sent, one packet from the last connection event will be in the buffer when a new connection event occurs hence there is only place for two more packets. Therefore you can only send two packets per connection event continuously.

    EDIT: With S130/S132 v2 you can send 6 packets per connection interval as a peripheral as specified in the release notes (BLE_CONN_BW_HIGH).

Children
No Data
Related