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
Parents
  • SDK11, Do you have example code? I think that SDK11 will send a connection parameter update, because the Android phone (Infocus M370) can change connection interval to 1 second. My platform is peripheral role. I traced the code. It'll call the function of on_conn_params_update when I connected nordic with Android phone. But It won't call the function of on_conn_params_update when I connected nordic with iPhone 5. Why?

    Solve it. Thanks

Reply
  • SDK11, Do you have example code? I think that SDK11 will send a connection parameter update, because the Android phone (Infocus M370) can change connection interval to 1 second. My platform is peripheral role. I traced the code. It'll call the function of on_conn_params_update when I connected nordic with Android phone. But It won't call the function of on_conn_params_update when I connected nordic with iPhone 5. Why?

    Solve it. Thanks

Children
No Data
Related