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

Connection parameter isn't effect with iPhone 5

I set the connection as follows:

#define MIN_CONNECTION_INTERVAL  (uint16_t) MSEC_TO_UNITS(500, UNIT_1_25_MS)
#define MAX_CONNECTION_INTERVAL (uint16_t) MSEC_TO_UNITS(1000, UNIT_1_25_MS)
#define SLAVE_LATENCY               0
#define SUPERVISION_TIMEOUT          (uint16_t) MSEC_TO_UNITS(4000, UNIT_10_MS)

It complys with iPhone's connection parameters. The connection interval of iPhone 5 is still 30mS. But the connection interval of Android phone (Infocus M370) can change to 1 second. Does anyone know that? How to solve it.

iPhone's connection parameters:

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
Related