#define APP_ADV_INTERVAL MSEC_TO_UNITS(250, UNIT_0_625_MS) #define APP_ADV_TIMEOUT_IN_SECONDS 60 #define CENTRAL_MIN_CONN_INTERVAL MSEC_TO_UNITS(50, UNIT_1_25_MS) #define CENTRAL_MAX_CONN_INTERVAL MSEC_TO_UNITS(100, UNIT_1_25_MS) #define CENTRAL_SLAVE_LATENCY 0 #define CENTRAL_CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) #define PERIPHERAL_MIN_CONN_INTERVAL MSEC_TO_UNITS(50, UNIT_1_25_MS) #define PERIPHERAL_MAX_CONN_INTERVAL MSEC_TO_UNITS(100, UNIT_1_25_MS) #define PERIPHERAL_SLAVE_LATENCY 0 #define PERIPHERAL_CONN_SUP_TIMEOUT MSEC_TO_UNITS(1000, UNIT_10_MS) #define SCAN_INTERVAL MSEC_TO_UNITS(100, UNIT_0_625_MS) #define SCAN_WINDOW MSEC_TO_UNITS(80, UNIT_0_625_MS) #define SCAN_TIMEOUT 0x000A void scan_start(void) { uint32_t err_code; // No devices in whitelist, hence non selective performed. m_scan_param.active = 0; // Active scanning set. m_scan_param.selective = 0; // Selective scanning not set. m_scan_param.interval = SCAN_INTERVAL;// Scan interval. m_scan_param.window = SCAN_WINDOW; // Scan window. m_scan_param.p_whitelist = NULL; // No whitelist provided. m_scan_param.timeout = SCAN_TIMEOUT; // Scan timeout. LOG_INFO("S0"); err_code = sd_ble_gap_scan_start(&m_scan_param); LOG_INFO("error_code: %x\r\n",err_code); APP_ERROR_CHECK(err_code); }