I'm trying to understand example "ble_app_hts" how after advertising make a connection. I didn't see in code any call of function "sd_ble_gap_connect" ? how is made connection ?
I'm trying to understand example "ble_app_hts" how after advertising make a connection. I didn't see in code any call of function "sd_ble_gap_connect" ? how is made connection ?
The SoftDevice API uses SuperVisor Calls( SVCs) to exposes the functionality of the SoftDevice , this is stated here in the S130 SoftDevice Specification.
The SoftDevice is delivered as a precompiled binary and the SVCs are used to expose the SoftDevice functions without having any link-time dependencies between the application and the BLE protocol stack.
Since the ble_app_hts is a peripheral example you will not find any refrences to sd_ble_gap_connect as connections are initiated by Central devices. Thus, the SoftDevice will handle the connection request from the central and pass the BLE_GAP_EVT_CONNECTED event once the connection has been established, as shown here in the S130 API documentation. You will remain in a connected state untill either the peripheral or the central disconnects or the link times out due to the devices beeing out of range of each other.
Since the ble_app_hts is a peripheral example you will not find any refrences to sd_ble_gap_connect as connections are initiated by Central devices. Thus, the SoftDevice will handle the connection request from the central and pass the BLE_GAP_EVT_CONNECTED event once the connection has been established, as shown here in the S130 API documentation. You will remain in a connected state untill either the peripheral or the central disconnects or the link times out due to the devices beeing out of range of each other.