Class BLEAdvertData
BLEAdvertData Class
Description
A class used for managing BLE advertising data.
Syntax
class BLEAdvertData
Members
Public Constructors |
|
BLEAdvertData::BLEAdvertData |
Constructs a BLEAdvertData object |
Public Methods |
|
BLEAdvertData::clear |
Clear all advertising data |
BLEAdvertData::addData |
Add binary advertising data |
BLEAdvertData::addFlags |
Add flags to advertising data |
B
LEAdvertData::addPartialServices |
Add partial services to
advertising data |
BL
EAdvertData::addCompleteServices |
Add complete services to
advertising data |
BLEAdvertData::addAppearance |
Add device appearance to
advertising data |
BLEAdvertData::addShortName |
Add short device name to
advertising data |
BLEAdvertData::addCompleteName |
Add complete device name to
advertising data |
BLEAdvertData::parseScanInfo |
Parse advertising data received
from a scan |
BLEAdvertData::hasFlags |
Check if received data includes
advertising flags |
BLEAdvertData::hasUUID |
Check if received data includes
UUIDs |
BLEAdvertData::hasName |
Check if received data includes
device name |
BLEAdvertData::hasManufacturer |
Check if received data includes
manufacturer data |
BLEAdvertData::getAdvType |
Get advertising type of received
data |
BLEAdvertData::getAddrType |
Get Bluetooth address type of
received data |
BLEAdvertData::getAddr |
Get Bluetooth address of
received data |
BLEAdvertData::getRSSI |
Get RSSI of received data |
BLEAdvertData::getFlags |
Get advertising flags of
received data |
BLEAdvertData::getServiceCount |
Get number of advertised
services in received data |
BLEAdvertData::getServiceList |
Get array of advertised services
in received data |
BLEAdvertData::getName |
Get advertised device name in
received data |
BLEAdvertData::getTxPower |
Get advertised transmission
power in received data |
BLEAdvertData::getAppearance |
Get advertised device appearance
in received data |
BLEAdvertData::getManufacturer |
Get advertised manufacturer in
received data |
BLEAdver
tData::getManufacturerDataLength |
Get length of manufacturer data
in received data |
BL
EAdvertData::getManufacturerData |
Get advertised manufacturer data
in received data |
BLEAdvertData::BLEAdvertData
Description
Constructs a BLEAdvertData object.
Syntax
BLEAdvertData::BLEAdvertData(void);
Parameters
The function requires no input parameter.
Returns
The function returns nothing.
Notes and Warnings
This class is used for managing BLE advertising data for two primary
uses. First is to assemble advertising data for broadcasting as
advertising packets. Second is to process and split up the advertising
data received from a scan into separate types.
BLEAdvertData::clear
Description
Clear all advertising data currently saved in class object.
Parameters
The function requires no input parameter.
Returns
The function returns nothing.
BLEAdvertData::addData
Description
Add binary advertising data.
Syntax
void addData(const uint8_t* data, uint8_t size);
Parameters
data: pointer to array containing desired advertising data.
size: number of bytes in array.
Returns
The function returns nothing.
Notes and Warnings
This function is provided for flexibility in adding BLE advertising
data. Other functions should be used for adding advertising data if
possible, as this function does not perform any checks on the validity
of the data.
BLEAdvertData::addFlags
Description
Add flags to advertising data.
Syntax
uint8_t addFlags(uint8_t flags);
Parameters
flags: desired flags to add to advertising data. Valid values:
– GAP_ADTYPE_FLAGS_LIMITED
– GAP_ADTYPE_FLAGS_GENERAL
– GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED
– GAP_ADTYPE_FLAGS_SIMULTANEOUS_LE_BREDR_CONTROLLER
– GAP_ADTYPE_FLAGS_SIMULTANEOUS_LE_BREDR_HOST
Returns
Current total size of advertising data.
Example Code
Example: BLEBatteryService
BLEAdvertData::addPartialServices
Description
Add partial list of service UUIDs to advertising data.
Syntax
uint8_t addPartialServices(BLEUUID uuid);
Parameters
uuid: the desired UUID contained in BLEUUID class object.
Returns
Current total size of advertising data.
BLEAdvertData::addCompleteServices
Description
Add complete list of service UUIDs to advertising data.
Syntax
uint8_t addCompleteServices(BLEUUID uuid);
uint8_t addCompleteServices(uint8_t uuidBitLength);
Parameters
uuid: the desired UUID contained in BLEUUID class object.
uuidBitLength: UUID bit length for which a blank entry is to be added.
Valid values: 16, 32, 128.
Returns
Current total size of advertising data.
Example Code
Example: BLEBatteryService
Notes and Warnings
uuidBitLength is used when it is desired to add a blank entry to the
advertisement data, used to indicate that no services with UUIDs of a
certain length are available.
BLEAdvertData::addAppearance
Description
Add device appearance to advertising data.
Syntax
uint8_t addAppearance(uint16_t appearance);
Parameters
appearance: the desired device appearance.
Returns
Current total size of advertising data.
Notes and Warnings
Refer to Bluetooth specifications for a full list of device appearance
values.
BLEAdvertData::addShortName
Description
Add shortened device name to advertising data.
Syntax
uint8_t addShortName(const char* str);
Parameters
str: character string containing desired device name.
Returns
Current total size of advertising data.
BLEAdvertData::addCompleteName
Description
Add complete device name to advertising data.
Syntax
uint8_t addCompleteName(const char* str);
Parameters
str: character string containing desired device name.
Returns
Current total size of advertising data.
Example Code
Example: BLEBatteryService
BLEAdvertData::parseScanInfo
Description
Parse advertising data received from a scan.
Syntax
void parseScanInfo(T_LE_CB_DATA *p_data);
Parameters
p_data: pointer to advertising data received from a Bluetooth scan.
Returns
The function returns nothing.
Example Code
Example: BLEBatteryClient
Notes and Warnings
Advertising data fields of parsed receive data can be access using
member functions starting with “has” and “get”.
BLEAdvertData::hasFlags
Description
Check if received data includes advertising flags.
Syntax
bool hasFlags(void);
Parameters
The function requires no input parameter.
Returns
True if flags are present in received advertising data.
BLEAdvertData::hasUUID
Description
Check if received data includes service UUIDs.
Syntax
bool hasUUID(void);
Parameters
The function requires no input parameter.
Returns
True if service UUIDs are present in received advertising data.
BLEAdvertData::hasName
Description
Check if received data includes device name.
Syntax
bool hasName(void);
Parameters
The function requires no input parameter.
Returns
True if device name is present in received advertising data.
Example Code
Example: BLEBatteryClient
BLEAdvertData::hasManufacturer
Description
Check if received data includes manufacturer specific data.
Syntax
bool hasManufacturer(void);
Parameters
The function requires no input parameter.
Returns
True if manufacturer specific data is present in received advertising
data.
BLEAdvertData::getAdvType
Description
Get advertising type of received data.
Syntax
T_GAP_ADV_EVT_TYPE getAdvType(void);
Parameters
The function requires no input parameter.
Returns
Advertising type of received advertising data.
Notes and Warnings
Possible types:
– GAP_ADV_EVT_TYPE_UNDIRECTED
– GAP_ADV_EVT_TYPE_DIRECTED
– GAP_ADV_EVT_TYPE_SCANNABLE
– GAP_ADV_EVT_TYPE_NON_CONNECTABEL
– GAP_ADV_EVT_TYPE_SCAN_RSP
BLEAdvertData::getAddrType
Description
Get Bluetooth address type of received data.
Syntax
T_GAP_REMOTE_ADDR_TYPE getAddrType(void);
Parameters
The function requires no input parameter.
Returns
Bluetooth address type of received data.
Notes and Warnings
Possible types:
– GAP_REMOTE_ADDR_LE_PUBLIC
– GAP_REMOTE_ADDR_LE_RANDOM
BLEAdvertData::getRSSI
Description
Get received signal strength indicator (RSSI) of received data.
Syntax
Int8_t getRSSI(void);
Parameters
The function requires no input parameter.
Returns
Received signal strength.
BLEAdvertData::getFlags
Description
Get advertising flags of received data.
Syntax
uint8_t getFlags(void);
Parameters
The function requires no input parameter.
Returns
Advertising flags present in received advertising data, expressed as a
single byte.
BLEAdvertData::getServiceCount
Description
Get number of advertised services in received data.
Syntax
uint8_t getServiceCount(void);
Parameters
The function requires no input parameter.
Returns
Number of advertised service UUIDs in received data.
Example Code
Example: BLEBatteryClient
BLEAdvertData::getServiceList
Description
Get list of advertised service UUIDs in received data.
Syntax
BLEUUID* getServiceList(void);
Parameters
The function requires no input parameter.
Returns
Pointer to a BLEUUID array containing all advertised service UUIDs.
Example Code
Example: BLEBatteryClient
BLEAdvertData::getName
Description
Get advertised device name in received data.
Syntax
String getName(void);
Parameters
The function requires no input parameter.
Returns
Advertised device name contained in a String class object.
Example Code
Example: BLEBatteryClient
BLEAdvertData::getTxPower
Description
Get advertised transmission power in received data.
Syntax
int8_t getTxPower(void);
Parameters
The function requires no input parameter.
Returns
Advertised transmission power.
BLEAdvertData::getAppearance
Description
Get advertised device appearance in received data.
Syntax
uint16_t getAppearance(void);
Parameters
The function requires no input parameter.
Returns
Advertised device appearance.
Notes and Warnings
Refer to Bluetooth specifications for full list of device appearance
values.
BLEAdvertData::getManufacturer
Description
Get advertised manufacturer in received data.
Syntax
uint16_t getManufacturer(void);
Parameters
The function requires no input parameter.
Returns
Advertised manufacturer.
Notes and Warnings
Refer to Bluetooth specifications for full list of manufacturer codes.
BLEAdvertData::getManufacturerDataLength
Description
Get length of manufacturer data in received data.
Syntax
uint8_t getManufacturerDataLength(void);
Parameters
The function requires no input parameter.
Returns
Number of bytes of manufacturer data present in received advertising
data.
BLEAdvertData::getManufacturerData
Description
Get manufacturer data in received data.
Syntax
uint8_t* getManufacturerData(void);
Parameters
The function requires no input parameter.
Returns
Pointer to array containing manufacturer data.