Hi, I get error NRF_ERROR_INVALID_PARAM or error 0x12 from sd_ble_gap_connect in central. I even changed peer_addr.type to 0 (BLE_GAP_ADDR_TYPE_PUBLIC). When scanning find Beacon, I call this function
static void gap_params_init(void)
{
uint32_t err_code;
ble_gap_conn_params_t gap_conn_params;
err_code = sd_ble_gap_scan_stop();
err_code = bsp_indication_set(BSP_INDICATE_IDLE);
APP_ERROR_CHECK(err_code);
memset(&gap_conn_params, 0, sizeof(gap_conn_params));
gap_conn_params.min_conn_interval = 0x6;
gap_conn_params.max_conn_interval = 0x0C80;
gap_conn_params.slave_latency = 0;
gap_conn_params.conn_sup_timeout = MSEC_TO_UNITS(4000, UNIT_10_MS);
err_code = sd_ble_gap_connect(&address,&m_scan_param,&gap_conn_params);
APP_ERROR_CHECK(err_code);
}
in main function:
m_scan_param.active = 0;
m_scan_param.selective = 0;
m_scan_param.p_whitelist = NULL;
m_scan_param.selective = 0;
m_scan_param.interval = SCAN_INTERVAL;//0x2000;
m_scan_param.window = SCAN_WINDOW;//0x200;
m_scan_param.timeout = 0;
err_code = sd_ble_gap_scan_start(&m_scan_param);
APP_ERROR_CHECK(err_code);
My beacon is indirect connectable with interval MSEC_TO_UNITS(100, UNIT_0_625_MS) and with timeout = 30. There is softdevice S130 in central and S110 in Beacon.