What is / How to find the reason why central device only fails to connect to a specific type of peripheral device?

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?

Parents Reply Children
No Data
Related