Mistake on this page?
Report an issue in GitHub or email us
Data Structures | Macros | Typedefs | Enumerations | Functions
Bluetooth LE Protocol

Data Structures

struct  BbBleAdvPktStats_t
 Advertising packet statistics. More...
 
struct  BbBleAuxAdvPktStats_t
 Auxiliary advertising packet statistics. More...
 
struct  BbBleScanPktStats_t
 Scan packet statistics. More...
 
struct  BbBleAuxScanPktStats_t
 Scan packet statistics. More...
 
struct  BbBlePerScanPktStats_t
 Periodic scan packet statistics. More...
 
struct  BbBleDataPktStats_t
 Data packet statistics. More...
 
struct  BbBlePduFiltStats_t
 PDU filtering statistics. More...
 
struct  BbBleMstAdvEvent_t
 Master advertising event operation data (BB_BLE_OP_MST_ADV_EVENT). More...
 
struct  BbBleSlvAdvEvent_t
 Slave advertising event operation data (BB_BLE_OP_SLV_ADV_EVENT). More...
 
struct  BbBleMstAuxAdvEvent_t
 Master auxiliary advertising event operation data (BB_BLE_OP_MST_AUX_ADV_EVENT). More...
 
struct  BbBleMstPerScanEvent_t
 Master periodic scanning event operation data (BB_BLE_OP_MST_PER_SCAN_EVENT). More...
 
struct  BbBleSlvAuxAdvEvent_t
 Slave auxiliary advertising event operation data (BB_BLE_OP_SLV_AUX_ADV_EVENT). More...
 
struct  BbBleMstConnEvent_t
 Connection event operation data (BB_BLE_OP_MST_CONN_EVENT). More...
 
struct  BbBleSlvConnEvent_t
 Connection event operation data (BB_BLE_OP_SLV_CONN_EVENT). More...
 
struct  BbBleMstCisEvent_t
 CIS master event operation data (BB_BLE_OP_MST_CIS_EVENT). More...
 
struct  BbBleSlvCisEvent_t
 CIS slave event operation data (BB_BLE_OP_SLV_CIS_EVENT). More...
 
struct  BbBleMstBisEvent_t
 BIS master event operation data (BB_BLE_OP_MST_BIS_EVENT). More...
 
struct  BbBleSlvBisEvent_t
 BIS slave event operation data (BB_BLE_OP_SLV_BIS_EVENT). More...
 
struct  BbBleTestTx_t
 Continuous transmit operation data (BB_BLE_OP_TEST_TX). More...
 
struct  BbBleTestRx_t
 Continuous receive operation data (BB_BLE_OP_TEST_RX). More...
 
struct  BbBleData_tag
 Bluetooth Low Energy protocol specific operation parameters. More...
 

Macros

#define BB_BLE_TO_US(n)    ((n) * LL_BLE_US_PER_TICK)
 Convert BLE protocol ticks to BB ticks. More...
 
#define BB_INC_STAT(s)    s++
 Increment statistics counter. More...
 
#define BB_REQ_PDU_MAX_LEN   (LL_ADV_HDR_LEN + LL_CONN_IND_PDU_LEN)
 Maximum request PDU length (MAX(LL_SCAN_REQ_PDU_LEN, LL_CONN_IND_PDU_LEN)). More...
 
#define BB_MIN_SCAN_US
 Minimum scan time to cover one advertise data exchange. More...
 

Typedefs

typedef void(* BbBlePreExec_t) (BbOpDesc_t *pBod)
 Pre-execute callback signature. More...
 
typedef void(* BbBleExec_t) (BbOpDesc_t *pBod)
 Execute callback signature. More...
 
typedef void(* BbBleCancel_t) (BbOpDesc_t *pBod)
 Cancel callback signature. More...
 
typedef void(* BbBleTxAdvSetup_t) (BbOpDesc_t *pBod, uint32_t advTxTime)
 Advertising PDU transmit setup call signature. More...
 
typedef uint32_t(* BbBleTxAuxSetup_t) (BbOpDesc_t *pBod, bool_t isChainInd)
 Chain indication PDU transmit setup call signature. More...
 
typedef bool_t(* BbBleAdvComp_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)
 Returns TRUE if an scan request/response required. More...
 
typedef void(* BbBleAdvPost_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)
 Rx completion post processing call signature. More...
 
typedef uint32_t(* BbBleRxChain_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)
 Chain indication PDU received call signature. More...
 
typedef bool_t(* BbBleRxChainPost_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)
 Chain indication PDU received post call signature. More...
 
typedef void(* BbBleTxDataComp_t) (BbOpDesc_t *pBod, uint8_t status)
 Data transmit completion callback signature. More...
 
typedef void(* BbBleRxDataComp_t) (BbOpDesc_t *pBod, uint8_t *pBuf, uint8_t status)
 Data receive completion callback signature. More...
 
typedef uint32_t(* BbBleCisCheckContOp_t) (BbOpDesc_t *pBod, bool_t *pNewCisCtx)
 CIS check whether to continue current operation call signature. More...
 
typedef void(* BbBleCisPostExec_t) (BbOpDesc_t *pBod, uint8_t status)
 CIS post execute callback signature. More...
 
typedef void(* BbBleCisRxDataComp_t) (BbOpDesc_t *pBod, uint8_t *pBuf, uint8_t status)
 CIS data receive completion callback signature. More...
 
typedef bool_t(* BbBleTestComp_t) (BbOpDesc_t *pBod, uint8_t status)
 Test completion callback signature. More...
 
typedef uint32_t(* BbBlePerComp_t) (BbOpDesc_t *pBod, const uint8_t *pBuf, uint8_t status)
 Periodic PDU Rx complete call signature. More...
 
typedef bool_t(* BbBlePerPostComp_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)
 Periodic PDU Rx complete post call signature. More...
 
typedef struct BbBleData_tag BbBleData_t
 Bluetooth Low Energy protocol specific operation parameters. More...
 

Enumerations

Functions

void BbBleInit (void)
 Initialize the BLE BB. More...
 
void BbBleScanMasterInit (void)
 Initialize for scanning master operations. More...
 
void BbBleAuxScanMasterInit (void)
 Initialize for auxiliary scanning master operations. More...
 
void BbBlePerScanMasterInit (void)
 Initialize for periodic scanning master operations. More...
 
void BbBleConnMasterInit (void)
 Initialize for connectable master operations. More...
 
void BbBleAdvSlaveInit (void)
 Initialize for advertising slave operations. More...
 
void BbBleAuxAdvSlaveInit (void)
 Initialize for auxiliary advertising slave operations. More...
 
void BbBleConnSlaveInit (void)
 Initialize for connectable slave operations. More...
 
void BbBleTestInit (void)
 Initialize for test operations. More...
 
uint16_t BbBleInitWhiteList (uint8_t numEntries, uint8_t *pFreeMem, uint32_t freeMemSize)
 Initialize white list. More...
 
uint16_t BbBleInitResolvingList (uint8_t numEntries, uint8_t *pFreeMem, uint32_t freeMemSize)
 Initialize resolving list. More...
 
uint16_t BbBleInitPeriodicList (uint8_t numEntries, uint8_t *pFreeMem, uint32_t freeMemSize)
 Initialize periodic list. More...
 
void BbBleGetAdvStats (BbBleAdvPktStats_t *pStats)
 Get advertising packet statistics. More...
 
void BbBleGetScanStats (BbBleScanPktStats_t *pStats)
 Get scan packet statistics. More...
 
void BbBleGetAuxAdvStats (BbBleAuxAdvPktStats_t *pStats)
 Get auxiliary advertising packet statistics. More...
 
void BbBleGetAuxScanStats (BbBleAuxScanPktStats_t *pStats)
 Get auxiliary scan packet statistics. More...
 
void BbBleGetPerScanStats (BbBlePerScanPktStats_t *pStats)
 Get periodic scan packet statistics. More...
 
void BbBleGetConnStats (BbBleDataPktStats_t *pStats)
 Get connection packet statistics. More...
 
void BbBleGetTestStats (BbBleDataPktStats_t *pStats)
 Get test mode packet statistics. More...
 
void BbBleGetPduFiltStats (BbBlePduFiltStats_t *pStats)
 Get PDU filter statistics. More...
 
void BbBleCisMasterInit (void)
 Initialize for connected isochronous stream master operations. More...
 
void BbBleCisSlaveInit (void)
 Initialize for connected isochronous stream slave operations. More...
 
void BbBleBisMasterInit (void)
 Initialize for Broadcast isochronous stream master operations. More...
 
void BbBleBisSlaveInit (void)
 Initialize for Broadcast isochronous stream slave operations. More...
 
void BbBleGetCisStats (BbBleDataPktStats_t *pStats)
 Get CIS packet statistics. More...
 
void BbBleTxData (PalBbBleTxBufDesc_t descs[], uint8_t cnt)
 Transmit data PDU at next transmit slot. More...
 
void BbBleRxData (uint8_t *pBuf, uint16_t len)
 Set receive data buffer for next receive slot. More...
 
void BbBleCisTxData (PalBbBleTxBufDesc_t descs[], uint8_t cnt)
 Transmit CIS PDU at next transmit slot. More...
 
void BbBleCisRxData (uint8_t *pBuf, uint16_t len)
 Set receive data buffer for next receive slot. More...
 
void BbBleBisTxData (PalBbBleTxBufDesc_t descs[], uint8_t cnt, uint32_t nextPduTime, PalBbBleChan_t *pNextChan)
 Transmit BIS Data PDU at next transmit slot. More...
 
void BbBleBisRxData (uint8_t *pBuf, uint16_t len, uint32_t nextPduTime, PalBbBleChan_t *pNextChan, bool_t reAcq)
 Set receive BIS Data PDU buffer for next receive slot. More...
 
void BbBleBisRxDataReAcq (uint32_t syncTime, PalBbBleChan_t *pChan)
 Receive data re-acquisition. More...
 

Detailed Description

Macro Definition Documentation

#define BB_BLE_TO_US (   n)    ((n) * LL_BLE_US_PER_TICK)

Convert BLE protocol ticks to BB ticks.

Definition at line 45 of file bb_ble_api_op.h.

#define BB_INC_STAT (   s)    s++

Increment statistics counter.

Definition at line 48 of file bb_ble_api_op.h.

#define BB_MIN_SCAN_US
Value:
LL_SCAN_REQ_MAX_USEC + LL_BLE_TIFS_US + \
LL_SCAN_RSP_MAX_USEC + \
BbGetSchSetupDelayUs())
#define LL_ADV_PKT_MAX_USEC
Definition: ll_defs.h:114
#define LL_BLE_TIFS_US
Definition: ll_defs.h:479

Minimum scan time to cover one advertise data exchange.

Definition at line 78 of file bb_ble_api_op.h.

#define BB_REQ_PDU_MAX_LEN   (LL_ADV_HDR_LEN + LL_CONN_IND_PDU_LEN)

Maximum request PDU length (MAX(LL_SCAN_REQ_PDU_LEN, LL_CONN_IND_PDU_LEN)).

Definition at line 75 of file bb_ble_api_op.h.

Typedef Documentation

typedef bool_t(* BbBleAdvComp_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)

Returns TRUE if an scan request/response required.

Definition at line 103 of file bb_ble_api_op.h.

typedef void(* BbBleAdvPost_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)

Rx completion post processing call signature.

Definition at line 106 of file bb_ble_api_op.h.

typedef void(* BbBleCancel_t) (BbOpDesc_t *pBod)

Cancel callback signature.

Definition at line 94 of file bb_ble_api_op.h.

typedef uint32_t(* BbBleCisCheckContOp_t) (BbOpDesc_t *pBod, bool_t *pNewCisCtx)

CIS check whether to continue current operation call signature.

Definition at line 121 of file bb_ble_api_op.h.

typedef void(* BbBleCisPostExec_t) (BbOpDesc_t *pBod, uint8_t status)

CIS post execute callback signature.

Definition at line 124 of file bb_ble_api_op.h.

typedef void(* BbBleCisRxDataComp_t) (BbOpDesc_t *pBod, uint8_t *pBuf, uint8_t status)

CIS data receive completion callback signature.

Definition at line 127 of file bb_ble_api_op.h.

typedef struct BbBleData_tag BbBleData_t

Bluetooth Low Energy protocol specific operation parameters.

typedef void(* BbBleExec_t) (BbOpDesc_t *pBod)

Execute callback signature.

Definition at line 91 of file bb_ble_api_op.h.

typedef uint32_t(* BbBlePerComp_t) (BbOpDesc_t *pBod, const uint8_t *pBuf, uint8_t status)

Periodic PDU Rx complete call signature.

Definition at line 133 of file bb_ble_api_op.h.

typedef bool_t(* BbBlePerPostComp_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)

Periodic PDU Rx complete post call signature.

Definition at line 136 of file bb_ble_api_op.h.

typedef void(* BbBlePreExec_t) (BbOpDesc_t *pBod)

Pre-execute callback signature.

Definition at line 88 of file bb_ble_api_op.h.

typedef uint32_t(* BbBleRxChain_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)

Chain indication PDU received call signature.

Definition at line 109 of file bb_ble_api_op.h.

typedef bool_t(* BbBleRxChainPost_t) (BbOpDesc_t *pBod, const uint8_t *pBuf)

Chain indication PDU received post call signature.

Definition at line 112 of file bb_ble_api_op.h.

typedef void(* BbBleRxDataComp_t) (BbOpDesc_t *pBod, uint8_t *pBuf, uint8_t status)

Data receive completion callback signature.

Definition at line 118 of file bb_ble_api_op.h.

typedef bool_t(* BbBleTestComp_t) (BbOpDesc_t *pBod, uint8_t status)

Test completion callback signature.

Definition at line 130 of file bb_ble_api_op.h.

typedef void(* BbBleTxAdvSetup_t) (BbOpDesc_t *pBod, uint32_t advTxTime)

Advertising PDU transmit setup call signature.

Definition at line 97 of file bb_ble_api_op.h.

typedef uint32_t(* BbBleTxAuxSetup_t) (BbOpDesc_t *pBod, bool_t isChainInd)

Chain indication PDU transmit setup call signature.

Definition at line 100 of file bb_ble_api_op.h.

typedef void(* BbBleTxDataComp_t) (BbOpDesc_t *pBod, uint8_t status)

Data transmit completion callback signature.

Definition at line 115 of file bb_ble_api_op.h.

Enumeration Type Documentation

enum BbBleOp_t

Operation types.

Enumerator
BB_BLE_OP_TEST_TX 

Continuous Tx test mode.

BB_BLE_OP_TEST_RX 

Continuous Rx test mode.

BB_BLE_OP_MST_ADV_EVENT 

Master advertising event.

BB_BLE_OP_SLV_ADV_EVENT 

Slave advertising event.

BB_BLE_OP_MST_CONN_EVENT 

Master connection event.

BB_BLE_OP_SLV_CONN_EVENT 

Slave connection event.

BB_BLE_OP_MST_AUX_ADV_EVENT 

Master auxiliary advertising event.

BB_BLE_OP_SLV_AUX_ADV_EVENT 

Slave auxiliary advertising event.

BB_BLE_OP_SLV_PER_ADV_EVENT 

Slave periodic advertising event.

BB_BLE_OP_MST_PER_SCAN_EVENT 

Master periodic scanning event.

BB_BLE_OP_MST_CIS_EVENT 

Master CIS event.

BB_BLE_OP_SLV_CIS_EVENT 

Slave CIS event.

BB_BLE_OP_MST_BIS_EVENT 

Master BIS event.

BB_BLE_OP_SLV_BIS_EVENT 

Slave BIS event.

BB_BLE_OP_NUM 

Total number of operations.

Definition at line 55 of file bb_ble_api_op.h.

Function Documentation

void BbBleAdvSlaveInit ( void  )

Initialize for advertising slave operations.

Update the operation table with advertising slave operations routines.

void BbBleAuxAdvSlaveInit ( void  )

Initialize for auxiliary advertising slave operations.

Update the operation table with auxiliary advertising slave operations routines.

void BbBleAuxScanMasterInit ( void  )

Initialize for auxiliary scanning master operations.

Update the operation table with auxiliary scanning master operations routines.

void BbBleBisMasterInit ( void  )

Initialize for Broadcast isochronous stream master operations.

Update the operation table with CIS master operations routines.

void BbBleBisRxData ( uint8_t *  pBuf,
uint16_t  len,
uint32_t  nextPduTime,
PalBbBleChan_t pNextChan,
bool_t  reAcq 
)

Set receive BIS Data PDU buffer for next receive slot.

Parameters
pBufReceive data buffer.
lenMaximum length of data buffer.
nextPduTimeNext PDU time.
pNextChanNext PDU channel.
reAcqRx train re-acquisition required.
void BbBleBisRxDataReAcq ( uint32_t  syncTime,
PalBbBleChan_t pChan 
)

Receive data re-acquisition.

Parameters
syncTimeDue time for the next Rx operation.
pChanChannel parameters.

Update due time for next Rx operation. Called after a missed Rx operation for re-acquisition of the receive train.

void BbBleBisSlaveInit ( void  )

Initialize for Broadcast isochronous stream slave operations.

Update the operation table with CIS slave operations routines.

void BbBleBisTxData ( PalBbBleTxBufDesc_t  descs[],
uint8_t  cnt,
uint32_t  nextPduTime,
PalBbBleChan_t pNextChan 
)

Transmit BIS Data PDU at next transmit slot.

Parameters
descsArray of transmit buffer descriptor.
cntNumber of descriptors.
nextPduTimeNext PDU time.
pNextChanNext PDU channel.
void BbBleCisMasterInit ( void  )

Initialize for connected isochronous stream master operations.

Update the operation table with CIS master operations routines.

void BbBleCisRxData ( uint8_t *  pBuf,
uint16_t  len 
)

Set receive data buffer for next receive slot.

Parameters
pBufReceive data buffer.
lenMaximum length of data buffer.
Note
This function is expected to be called during the call context of BbBleSlvCisEvent_t::rxDataCback callback routine.
BB must always call the BbBleSlvCisEvent_t::rxDataCback callback routine of the currently executing BOD with the given buffer.
void BbBleCisSlaveInit ( void  )

Initialize for connected isochronous stream slave operations.

Update the operation table with CIS slave operations routines.

void BbBleCisTxData ( PalBbBleTxBufDesc_t  descs[],
uint8_t  cnt 
)

Transmit CIS PDU at next transmit slot.

Parameters
descsArray of transmit buffer descriptor.
cntNumber of descriptors.
Note
This function is expected to be called during the call context of BbBleMstCisEvent_t::rxDataCback or BbBleSlvCisEvent_t::rxDataCback callback routine.
void BbBleConnMasterInit ( void  )

Initialize for connectable master operations.

Update the operation table with connectable master operations routines.

void BbBleConnSlaveInit ( void  )

Initialize for connectable slave operations.

Update the operation table with connectable slave operations routines.

void BbBleGetAdvStats ( BbBleAdvPktStats_t pStats)

Get advertising packet statistics.

Parameters
pStatsAdvertising statistics.
void BbBleGetAuxAdvStats ( BbBleAuxAdvPktStats_t pStats)

Get auxiliary advertising packet statistics.

Parameters
pStatsAuxiliary advertising statistics.
void BbBleGetAuxScanStats ( BbBleAuxScanPktStats_t pStats)

Get auxiliary scan packet statistics.

Parameters
pStatsAuxiliary scan statistics.
void BbBleGetCisStats ( BbBleDataPktStats_t pStats)

Get CIS packet statistics.

Parameters
pStatsCIS data statistics.
void BbBleGetConnStats ( BbBleDataPktStats_t pStats)

Get connection packet statistics.

Parameters
pStatsConnection data statistics.
void BbBleGetPduFiltStats ( BbBlePduFiltStats_t pStats)

Get PDU filter statistics.

Parameters
pStatsPDU filter statistics.
void BbBleGetPerScanStats ( BbBlePerScanPktStats_t pStats)

Get periodic scan packet statistics.

Parameters
pStatsPeriodic scan statistics.
void BbBleGetScanStats ( BbBleScanPktStats_t pStats)

Get scan packet statistics.

Parameters
pStatsScan statistics.
void BbBleGetTestStats ( BbBleDataPktStats_t pStats)

Get test mode packet statistics.

Parameters
pStatsTest data statistics.
void BbBleInit ( void  )

Initialize the BLE BB.

Initialize baseband resources.

uint16_t BbBleInitPeriodicList ( uint8_t  numEntries,
uint8_t *  pFreeMem,
uint32_t  freeMemSize 
)

Initialize periodic list.

Parameters
numEntriesNumber of periodic list entries to provide.
pFreeMemPointer to free memory.
freeMemSizeSize of pFreeMem.
Returns
Amount of free memory consumed.

This function initializes the periodic list.

Note
This function must be called once before initializing the LL.
uint16_t BbBleInitResolvingList ( uint8_t  numEntries,
uint8_t *  pFreeMem,
uint32_t  freeMemSize 
)

Initialize resolving list.

Parameters
numEntriesNumber of resolving list entries to provide.
pFreeMemPointer to free memory.
freeMemSizeSize of pFreeMem.
Returns
Amount of free memory consumed.

This function initializes the resolving list.

Note
This function must be called once before initializing the LL.
uint16_t BbBleInitWhiteList ( uint8_t  numEntries,
uint8_t *  pFreeMem,
uint32_t  freeMemSize 
)

Initialize white list.

Parameters
numEntriesNumber of white list entries to provide.
pFreeMemPointer to free memory.
freeMemSizeSize of pFreeMem.
Returns
Amount of free memory consumed.

This function initializes the white list.

Note
This function must be called once before initializing the LL.
void BbBlePerScanMasterInit ( void  )

Initialize for periodic scanning master operations.

Update the operation table with periodic scanning master operations routines.

void BbBleRxData ( uint8_t *  pBuf,
uint16_t  len 
)

Set receive data buffer for next receive slot.

Parameters
pBufReceive data buffer.
lenMaximum length of data buffer.
Note
This function is expected to be called during the call context of BbBleSlvConnEvent_t::rxDataCback callback routine.
BB must always call the BbSlvConnEvent_t::rxDataCback callback routine of the currently executing BOD with the given buffer.
void BbBleScanMasterInit ( void  )

Initialize for scanning master operations.

Update the operation table with scanning master operations routines.

void BbBleTestInit ( void  )

Initialize for test operations.

Update the operation table with test operations routines.

void BbBleTxData ( PalBbBleTxBufDesc_t  descs[],
uint8_t  cnt 
)

Transmit data PDU at next transmit slot.

Parameters
descsArray of transmit buffer descriptor.
cntNumber of descriptors.
Note
This function is expected to be called during the call context of BbBleSlvConnEvent_t::rxDataCback callback routine.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.