I was taking a cc2541 working as central, which automatically connects to two peripheral devices one by one till two connections are made.
I set up a 3 seconds periodic scan event, the actual scan time is 2 seconds and left with 1 second idle time. when the central devices returns a scan response, it will connect to the first device on the list, where service uuid filtering is applied. After the first device is connected, it will check the number of connected devices, if it is less than two then it will start scanning again and try to connect the second peripheral device. After the connection is successfully established the peripheral device tries to update connection parameter, unfortunately, it rarely succeeded. I tried to alter the scanning time, the period and also the peripheral pause time to see what effect might help updating the connection parameter while both peripheral devices can both connect to central. The following two cases yield different results.
Both peripheral devices are initialized with the same connection parameters and peripheral pause time(time for peripheral the update connection parameter after a successful connection is established.)
peripheral Connection setting
Connection interval min: 100 ms
Connection interval max: 120 ms
Slave latency: 2
Supervision timeout: 3 seconds
central scanning setting
actual scanning time: 2 seconds
scanning event period : 3 seconds
idle time: 1 second (scanning event period - actual scanning time)
Case 1:
peripheral pause time: 3 seconds
Central can connect to both peripheral devices however connection parameter cannot updated
Case 2:
peripheral pause time: 2 seconds
Central can connect the first peripheral it found and update its connection parameter. However, it fails to connect to the second device.
Can anyone give me some ideas how i can update both peripheral devices' connection parameters when both connect to the central?