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

IOS exception disconnect after 90s when change ble connection interval on NRF52810

Hi Nordic Forum!

        In the past, I set connection interval min to max is 20ms~75ms, it work ok for IOS。But on Android platform, Android use 75ms as actual connection interval. It is too long for us. We need change connection interval to reduce delay. So we try set connection interval to 15ms~30ms、15ms~15ms、20ms~30ms and so on,but  use all these param , connection will disconnect after about 90s for iOS.

I referennce the Apple develop guidlines section 23.6(https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf)。

Follow that,the connection interval range15ms~15ms、15ms~30ms is ok。I don't know why occur exception disconnect on IOS platform.

What value should I set to connection interval ensure work on IOS.

Parents
  •  in other answers given in the forum (like this and this), the following interpretation is taken:

    Interval Max * (Slave Latency + 1) ≤ 2 seconds
    Interval Min ≥ 20 ms
    Interval Min + 20 ms ≤ Interval Max
    Slave Latency ≤ 4
    connSupervisionTimeout ≤ 6 seconds
    Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout
    

    what is the correct interpretation? and, what rules should I follow?

    May be Apple develop guidlines has update,  the newest version is Interval Min≥ 15 ms

    so what version should I follow?

Reply
  •  in other answers given in the forum (like this and this), the following interpretation is taken:

    Interval Max * (Slave Latency + 1) ≤ 2 seconds
    Interval Min ≥ 20 ms
    Interval Min + 20 ms ≤ Interval Max
    Slave Latency ≤ 4
    connSupervisionTimeout ≤ 6 seconds
    Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout
    

    what is the correct interpretation? and, what rules should I follow?

    May be Apple develop guidlines has update,  the newest version is Interval Min≥ 15 ms

    so what version should I follow?

Children
  • Ian715 said:
    so what version should I follow?

     I suggest that you follow the guidelines in the latest version of the Accessory Design Guidelines. 

    From the Accessory Design Guildelines for Apple Devices (Release R9): 
    The connection parameter request may be rejected if it does not comply with all of these rules:

    ● Slave Latency ≤30
    ● 2 seconds ≤ connSupervisionTimeout ≤ 6 seconds
    ● Interval Min modulo 15 ms == 0
    ● Interval Min ≥15 ms
    ● One of the following:  
          ● Interval Min + 15 ms ≤ Interval Max
          ● Interval Min == Interval Max == 15 ms
    ● Interval Max * (Slave Latency + 1) ≤ 2 seconds
    ● Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout

    Best regards, 
    Joakim

Related