1

Fork of nRF51822 by Nordic Semiconductor

Revision:
265:04673a322cf9
Parent:
181:ce044982b915
Child:
266:372234aa31e9
--- a/nRF51Gap.cpp	Fri Jun 19 15:55:24 2015 +0100
+++ b/nRF51Gap.cpp	Fri Jun 19 15:55:24 2015 +0100
@@ -206,6 +206,33 @@
     return BLE_ERROR_NONE;
 }
 
+ble_error_t nRF51Gap::connect(const Address_t peerAddr, Gap::AddressType_t peerAddrType, const GapScanningParams &scanParamsIn)
+{
+    ble_gap_addr_t addr;
+    addr.addr_type = peerAddrType;
+    memcpy(addr.addr, peerAddr, Gap::ADDR_LEN);
+
+    ble_gap_scan_params_t scanParams = {
+        .active      = 0,    /**< If 1, perform active scanning (scan requests). */
+        .selective   = 0,    /**< If 1, ignore unknown devices (non whitelisted). */
+        .p_whitelist = NULL, /**< Pointer to whitelist, NULL if none is given. */
+        .interval    = scanParamsIn.getInterval(), /**< Scan interval between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
+        .window      = scanParamsIn.getWindow(),   /**< Scan window between 0x0004 and 0x4000 in 0.625ms units (2.5ms to 10.24s). */
+        .timeout     = scanParamsIn.getTimeout(),  /**< Scan timeout between 0x0001 and 0xFFFF in seconds, 0x0000 disables timeout. */
+    };
+    ble_gap_conn_params_t connParams = {
+        .min_conn_interval = 30,
+        .max_conn_interval = 100,
+        .slave_latency     = 0,
+        .conn_sup_timeout  = 400,
+    };
+
+    printf("connect returns with %u\r\n", sd_ble_gap_connect(&addr, &scanParams, &connParams));
+
+    return BLE_ERROR_NONE;
+}
+
+
 /**************************************************************************/
 /*!
     @brief  Disconnects if we are connected to a central device