Hi
I'm trying to create a central device to connect with a series of different peripheral devices. All the peripheral devices can be discovered during the scanning. However all except one type of peripheral device can be connected successfully.
During which:
sd_ble_gap_connect returns NRF_SUCCESS and the event handler gets BLE_GAP_EVT_TIMEOUT
The thing is, the scanning parameters used during sd_ble_gap_scan_start and sd_ble_gap_connect are also the same,
as shown below:
ble_gap_scan_params_t scan_params =
{
.extended = 0,
.report_incomplete_evts = 0,
.active = 1,
.filter_policy = BLE_GAP_SCAN_FP_ACCEPT_ALL,
.scan_phys = BLE_GAP_PHY_1MBPS,
.interval = MSEC_TO_UNITS(200,UNIT_0_625_MS) ,
.window = MSEC_TO_UNITS(100,UNIT_0_625_MS) ,
.timeout = (uint16_t)MSEC_TO_UNITS(4000, UNIT_10_MS),
.channel_mask =0,
};
The peripheral device also has no issues in making a connection through android and iOS apps including the nRF Connect App.
What are the possible reasons for the failure in connection?
And how can I find out what is the issue?