Hello,
For our application I have to set up two simultaneous connections between a S120 master device and two peripherals that use the S110 softdevice. A very short connect-time (<0.5s) is essential for our application. Therefore I try to make a bond between the master and the slaves. Encryption is not essential.
From the SDK s120 documents I understand that the connection time can be minimized if the next information is stored while bonding:
- Device Context
- Service Context
- Application Context
For the master I used the ' ble_app_hrs_c' central example software as basis. However if I make a first time connection between the 'ble_app_hrs_c' central and the 'ble_app_hrs' peripheral examples I only receive the next events from the device manager central event handler :
- DM_EVT_CONNECTION
- DM_LINK_SECURED_IND
- DM_EVT_SECURITY_SETUP_COMPLETE
- DM_EVT_DEVICE_CONTEXT_STORED
The second connection I receive the next events from the event handler:
- DM_EVT_LINK_SECURED
- DM_EVT_DEVICE_CONTEXT_LOADED
- DM_EVT_CONNECTION
- DM_LINK_SECURED_IND
I added a print of all DM_EVENTS in the device manager event handler so if I am right, the service and application context are not stored. Also the Heart Rate service and its characteristics are discovered each time I make a connection. This takes a lot of time. If I am right, this would not have to be performed if the service context of the bonded peripheral is stored while making a bond.
Can anyone tell me how I could perform a 'full bond' between the central and peripheral?
Thanks in advance!