BGAPI Types#

Common types in BGAPI protocol.

Data Structures

struct  

uint8array

Variable-length uint8_t array. Maximum length: 255.

struct  

byte_array

Variable-length int8_t array. Maximum length: 65535.

struct  

bd_addr

Bluetooth address.

struct  

uuid_128

128-bit UUID

struct  

aes_key_128

128-bit AES key

struct  

sl_bt_uuid_16_t

16-bit UUID

struct  

sl_bt_uuid_64_t

64-bit UUID

Macros

# define 

SL_BGAPI_MSG_HEADER_LEN   (4)

The length of a BGAPI message header which is 4 bytes.

#define 

SL_BGAPI_MSG_DEVICE_TYPE(HDR)   ((HDR) & 0x38)

Get the device type of a BGAPI message.

#define 

SL_BGAPI_MSG_ID(HDR)   ((HDR) & 0xffff00f8)

Get the identifier of a BGAPI message including device type, class ID, message type and message ID.

#define 

SL_BGAPI_MSG_LEN(HDR)   ((((HDR) & 0x7) << 8)

(((HDR) & 0xff00) >> 8))

Get the data payload length in a BGAPI message.

# define 

SL_BGAPI_BIT_ENCRYPTED   (1 << 6)

The bit indicating whether data of a BGAPI message is encrypted.

#define 

SL_BGAPI_MSG_ENCRYPTED(HDR)   ((HDR)&SL_BGAPI_BIT_ENCRYPTED)

Check whether data of a BGAPI message is encrypted.

Detailed Description#

Common types in BGAPI protocol.


Data Structure Documentation#

uint8array#

struct uint8array

Variable-length uint8_t array. Maximum length: 255.

Data Fields

uint8_t

len

Number of bytes stored in data

uint8_t

data[]

Data bytes

byte_array#

struct byte_array

Variable-length int8_t array. Maximum length: 65535.

Data Fields

uint16_t

len

Number of bytes stored in data

int8_t

data[]

Data bytes

bd_addr#

struct bd_addr

Bluetooth address.

Data Fields

uint8_t

addr[6]

Bluetooth address in reverse byte order.

uuid_128#

struct uuid_128

128-bit UUID

Data Fields

uint8_t

data[16]

128-bit UUID

aes_key_128#

struct aes_key_128

128-bit AES key

Data Fields

uint8_t

data[16]

128-bit AES key

sl_bt_uuid_16_t#

struct sl_bt_uuid_16_t

16-bit UUID

Data Fields

uint8_t

data[2]

16-bit UUID

sl_bt_uuid_64_t#

struct sl_bt_uuid_64_t

64-bit UUID

Data Fields

uint8_t

data[8]

64-bit UUID

Macro Definition Documentation#

SL_BGAPI_MSG_DEVICE_TYPE#

#define SL_BGAPI_MSG_DEVICE_TYPE

(

HDR

)

   ((HDR) & 0x38)

Get the device type of a BGAPI message.

Parameters

HDR

The header of the message as a uint32_t integer

SL_BGAPI_MSG_ID#

#define SL_BGAPI_MSG_ID

(

HDR

)

   ((HDR) & 0xffff00f8)

Get the identifier of a BGAPI message including device type, class ID, message type and message ID.

Parameters

HDR

The header of the message as a uint32_t integer

SL_BGAPI_MSG_LEN#

#define SL_BGAPI_MSG_LEN

(

HDR

)

   ((((HDR) & 0x7) << 8)

(((HDR) & 0xff00) >> 8))

Get the data payload length in a BGAPI message.

Parameters

HDR

The header of the message as a uint32_t integer

SL_BGAPI_MSG_ENCRYPTED#

#define SL_BGAPI_MSG_ENCRYPTED

(

HDR

)

   ((HDR)&SL_BGAPI_BIT_ENCRYPTED)

Check whether data of a BGAPI message is encrypted.

Parameters

HDR

The BGAPI header of the message as a uint32_t integer