After connection established between central and peripheral, they start communicate at specified intervals called connection interval. As far as i know, the interval determined by central not peripheral. But the interval specified with 2 parameters min. and max. values that are controllable between 7.5ms and 4s. If 7.5ms min. and 4s max. interval are set, how central specify the exact connection interval? 7.5ms or 4s or between min. and max. ? Secondly, is this parameter constant throughout the communication?
1 Answer
Connection interval Min/Max is to be seen as a recommandation from slave. It may or may not function correctly outside its range. Depending on profiles the Peripheral implements, timing requirements may change greatly. Choice has been left on the Central side as it allows one central to schedule multiple connections to multiple Peripherals in a useful manner.
For a complete walkthrough of timings in LE connections, refer to chapter 3.C.9.3.11 and following of Core specification.
Connection interval is enforced by master from its own needs. It is fixed arbitrarily on connection indication (6.B.2.3.3.1). It may then be changed through Connection Update procedure (6.B.5.1.1). Slave may ask master to change connection parameters dynamically through Connection parameters request (6.B.2.4.2.16).