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

connect interval update

     I am now using nrf52832 sdk14.2 development, as a slave device, I want to set the slave's Bluetooth interval is 1S, I set the following parameters:
#define MIN_CONN_INTERVAL MSEC_TO_UNITS(40, UNIT_1_25_MS)
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(250, UNIT_1_25_MS)
#define SLAVE_LATENCY 4
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(6000, UNIT_10_MS)
      But after the last link parameter is updated, the connection interval is 200. In addition, when I modify MAX_CONN_INTERVAL to 200, the actual link parameter is updated to be about 150. Why the final actual parameters will be about 50ms larger than the maximum value of the request? What are the problems with the parameters? (Android phone and IOS phone are the same)

  • Hey Jim, 

    The Central device will set the connection interval that best suites its needs given a requested range from a peripheral device. This means that you are not guaranteed to get a connection interval that you desire. Smartphones usually operates as BLE Central devices and therefore they set the connection parameters. The BLE host and controller on the smartphones also have to compete with BT classic and WIFI for radio time and therefore your desired connection parameters can be hard achieve. 

    Cheers,

    Håkon.

Related