Class BLEConnect

Description

A class used for managing BLE connection settings.

Syntax

class BLEConnect

Members

Public Constructors

No public constructor is available as this class is intended to be a singleton class. You can get a pointer to this class using BLEDevice::configConnection.

Public Methods

BLEConnect::connect

Connect to a target BLE device

BLEConnect::disconnect

Disconnect from a target BLE device

BLEConnect::setScanInterval

Set the BLE scanning interval when connecting

BLEConnect::setScanWindow

Set the BLE scanning window when connecting

BLEConnect::setConnInterval

Set the BLE connection interval duration

BLEConnect::setConnLatency

Set the BLE connection slave latency

BLEConnect::setConnTimeout

Set the BLE connection timeout value

BLEConnect::updateConnParams

Send new BLE connection parameters to a connected device

BLEConnect::getConnInfo

Get connection information

BLEConnect::getConnAddr

Get the Bluetooth address for a certain connection

BLEConnect::getConnId

Get the connection ID for a certain device


BLEConnect::connect

Description

Connect to a target BLE device.

Syntax

bool connect(char * btAddr, T_GAP_REMOTE_ADDR_TYPE destAddrType, uint16_t scanTimeout);
bool connect(uint8_t (&btAddr)[6], T_GAP_REMOTE_ADDR_TYPE destAddrType, uint16_t scanTimeout);
bool connect(BLEAdvertData targetDevice, uint16_t scanTimeout);
bool connect(BLEAddr destAddr, T_GAP_REMOTE_ADDR_TYPE destAddrType,uint16_t scanTimeout);

Parameters

btAddr : target device Bluetooth address expressed as a character string.

uint8_t (&btAddr) : target device Bluetooth address contained in a 6 byte array.

destAddr : target device Bluetooth address contained in BLEAddr class object.

targetDevice : advertising data packet scanned from target device.

destAddrType : Bluetooth address type of target device.

Valid values:

– GAP_REMOTE_ADDR_LE_PUBLIC

– GAP_REMOTE_ADDR_LE_RANDOM

scan timeout : duration in milliseconds for which to look for target device before giving up.

Returns

True if connection successful, false if connection failed.

Example Code

Example: BLEBatteryClient

Notes and Warnings

NA


BLEConnect::disconnect

Description

Disconnect from a target BLE device.

Syntax

bool disconnect(uint8_t connId);

Parameters

connId : connection ID for target device.

Returns

True if operation successful, false if otherwise.

Example Code

NA

Notes and Warnings

NA


BLEConnect::setScanInterval

Description

Set the BLE scan interval when searching for a target device to connect to.

Syntax

void setScanInterval(uint16_t scanInt_ms);

Parameters

scanInt_ms : scan interval in milliseconds. Value range of 3 to 10240.

Returns

The function returns nothing.

Example Code

NA

Notes and Warnings

NA


BLEConnect::setScanWindow

Description

Set the BLE scan window when searching for a target device to connect to.

Syntax

void setScanWindow(uint16_t scanWindow_ms);

Parameters

scanWindow_ms : scan window in milliseconds. Value range of 3 to 10240.

Returns

The function returns nothing.

Example Code

NA

Notes and Warnings

NA


BLEConnect::setConnInterval

Description

Set the BLE connection interval value.

Syntax

void setConnInterval(uint16_t min_ms, uint16_t max_ms);

Parameters

min_ms : minimum acceptable connection interval in milliseconds. Value range of 8 to 4000.

max_ms : maximum acceptable connection interval in milliseconds. Value range of 8 to 4000.

Returns

The function returns nothing.

Example Code

NA

Notes and Warnings

The BLE connection interval defines the period between successive connection events between a connected central and peripheral device. Even if there is no data to exchange, a connection event is required to maintain the connection. max_ms should be larger than or equal to min_ms.


BLEConnect::setConnLatency

Description

Set the BLE connection slave latency value.

Syntax

void setConnLatency(uint16_t latency);

Parameters

latency : Connection slave latency value. Value range of 0 to 499.

Returns

The function returns nothing.

Example Code

NA

Notes and Warnings

The BLE connection slave latency defines the number of successive connection events a connected peripheral device can ignore without being considered as disconnected by the central device.


BLEConnect::setConnTimeout

Description

Set the BLE connection timeout value.

Syntax

void setConnTimeout(uint16_t timeout_ms);

Parameters

timeout_ms : connection timeout in milliseconds. Value range of 100 to 32000.

Returns

The function returns nothing.

Example Code

NA

Notes and Warnings

The BLE connection timeout defines the duration after a failed connection events before a peripheral or central device considers the connection broken.


BLEConnect::updateConnParams

Description

Update a connected device with new connection parameters.

Syntax

void updateConnParams(uint8_t conn_id);

Parameters

conn_id: connection ID of target device to update connection parameters.

Returns

The function returns nothing.

Example Code

NA

Notes and Warnings

Update a connected device with previously set connection interval, slave latency and timeout values. The connected device may reject the new values if it is unable to conform to them.


BLEConnect::getConnInfo

Description

Get connection information.

Syntax

bool getConnInfo(uint8_t connId, T_GAP_CONN_INFO * pConnInfo);

Parameters

connId: connection ID to get connection information from.

pConnInfo : pointer to T_GAP_CONN_INFO structure to store obtained connection information.

Returns

True if operation success, false if operation failed.

Example Code

NA

Notes and Warnings

NA


BLEConnect::getConnAddr

Description

Get the Bluetooth address for a certain connection.

Syntax

bool getConnAddr(uint8_t connId, uint8_t * addr, uint8_t * addrType);

Parameters

connId: connection ID to get address information for

addr: pointer to 6 byte array to store retrieved Bluetooth address

addrType: pointer to uint8_t variable to store retrieved Bluetooth address type

Returns

True if operation success, false if operation failed.

Example Code

NA

Notes and Warnings

NA


BLEConnect::getConnId

Description

Get the connection ID for a certain device.

Syntax

int8_t getConnId(char * btAddr, uint8_t addrType);
int8_t getConnId(uint8_t * btAddr, uint8_t addrType);
int8_t getConnId(BLEAdvertData targetDevice);

Parameters

char\* btAddr: target device Bluetooth address expressed as a character string.

uint8_t\* btAddr : pointer to a 6 byte array containing target device Bluetooth address.

targetDevice : advertising data packet scanned from target device.

addrType : Bluetooth address type of target device. Valid values:

– GAP_REMOTE_ADDR_LE_PUBLIC

– GAP_REMOTE_ADDR_LE_RANDOM

Returns

The function returns the requested connection ID. Returns -1 if failed to obtain connection ID.

Example Code

Example: BLEBatteryClient

Notes and Warnings

NA