Mistake on this page?
Report an issue in GitHub or email us
Macros | Enumerations | Functions
LL_API_DEVICE

Macros

#define LL_SUP_STATE_NON_CONN_ADV   (UINT64_C(1) << 0)
 
#define LL_SUP_STATE_SCAN_ADV   (UINT64_C(1) << 1)
 
#define LL_SUP_STATE_CONN_ADV   (UINT64_C(1) << 2)
 
#define LL_SUP_STATE_HI_DUTY_DIR_ADV   (UINT64_C(1) << 3)
 
#define LL_SUP_STATE_PASS_SCAN   (UINT64_C(1) << 4)
 
#define LL_SUP_STATE_ACT_SCAN   (UINT64_C(1) << 5)
 
#define LL_SUP_STATE_INIT   (UINT64_C(1) << 6)
 
#define LL_SUP_STATE_CONN_SLV   (UINT64_C(1) << 7)
 
#define LL_SUP_STATE_NON_CONN_ADV_AND_PASS_SCAN   (UINT64_C(1) << 8)
 
#define LL_SUP_STATE_SCAN_ADV_AND_PASS_SCAN   (UINT64_C(1) << 9)
 
#define LL_SUP_STATE_CONN_ADV_AND_PASS_SCAN   (UINT64_C(1) << 10)
 
#define LL_SUP_STATE_HI_DUTY_DIR_ADV_AND_PASS_SCAN   (UINT64_C(1) << 11)
 
#define LL_SUP_STATE_NON_CONN_ADV_AND_ACT_SCAN   (UINT64_C(1) << 12)
 
#define LL_SUP_STATE_SCAN_ADV_AND_ACT_SCAN   (UINT64_C(1) << 13)
 
#define LL_SUP_STATE_CONN_ADV_AND_ACT_SCAN   (UINT64_C(1) << 14)
 
#define LL_SUP_STATE_HI_DUTY_DIR_ADV_ACT_SCAN   (UINT64_C(1) << 15)
 
#define LL_SUP_STATE_NON_CONN_ADV_AND_INIT   (UINT64_C(1) << 16)
 
#define LL_SUP_STATE_SCAN_ADV_AND_INIT   (UINT64_C(1) << 17)
 
#define LL_SUP_STATE_NON_CONN_ADV_MST   (UINT64_C(1) << 18)
 
#define LL_SUP_STATE_SCAN_ADV_MST   (UINT64_C(1) << 19)
 
#define LL_SUP_STATE_NON_CONN_ADV_SLV   (UINT64_C(1) << 20)
 
#define LL_SUP_STATE_SCAN_ADV_SLV   (UINT64_C(1) << 21)
 
#define LL_SUP_STATE_PASS_SCAN_AND_INIT   (UINT64_C(1) << 22)
 
#define LL_SUP_STATE_ACT_SCAN_AND_INIT   (UINT64_C(1) << 23)
 
#define LL_SUP_STATE_PASS_SCAN_MST   (UINT64_C(1) << 24)
 
#define LL_SUP_STATE_ACT_SCAN_MST   (UINT64_C(1) << 25)
 
#define LL_SUP_STATE_PASS_SCAN_SLV   (UINT64_C(1) << 26)
 
#define LL_SUP_STATE_ACT_SCAN_SLV   (UINT64_C(1) << 27)
 
#define LL_SUP_STATE_INIT_MST   (UINT64_C(1) << 28)
 
#define LL_SUP_STATE_LO_DUTY_DIR_ADV   (UINT64_C(1) << 29)
 
#define LL_SUP_STATE_LO_DUTY_DIR_ADV_AND_PASS_SCAN   (UINT64_C(1) << 30)
 
#define LL_SUP_STATE_LO_DUTY_DIR_ADV_AND_ACT_SCAN   (UINT64_C(1) << 31)
 
#define LL_SUP_STATE_CONN_ADV_AND_INIT   (UINT64_C(1) << 32)
 
#define LL_SUP_STATE_HI_DUTY_DIR_ADV_AND_INIT   (UINT64_C(1) << 33)
 
#define LL_SUP_STATE_LO_DUTY_DIR_ADV_AND_INIT   (UINT64_C(1) << 34)
 
#define LL_SUP_STATE_CONN_ADV_MST   (UINT64_C(1) << 35)
 
#define LL_SUP_STATE_HI_DUTY_DIR_ADV_MST   (UINT64_C(1) << 36)
 
#define LL_SUP_STATE_LO_DUTY_DIR_ADV_MST   (UINT64_C(1) << 37)
 
#define LL_SUP_STATE_CONN_ADV_SLV   (UINT64_C(1) << 38)
 
#define LL_SUP_STATE_HI_DUTY_DIR_ADV_SLV   (UINT64_C(1) << 39)
 
#define LL_SUP_STATE_LO_DUTY_DIR_ADV_SLV   (UINT64_C(1) << 40)
 
#define LL_SUP_STATE_INIT_SLV   (UINT64_C(1) << 41)
 
#define LL_FEAT_ENCRYPTION   (UINT64_C(1) << 0)
 
#define LL_FEAT_CONN_PARAM_REQ_PROC   (UINT64_C(1) << 1)
 
#define LL_FEAT_EXT_REJECT_IND   (UINT64_C(1) << 2)
 
#define LL_FEAT_SLV_INIT_FEAT_EXCH   (UINT64_C(1) << 3)
 
#define LL_FEAT_LE_PING   (UINT64_C(1) << 4)
 
#define LL_FEAT_DATA_LEN_EXT   (UINT64_C(1) << 5)
 
#define LL_FEAT_PRIVACY   (UINT64_C(1) << 6)
 
#define LL_FEAT_EXT_SCAN_FILT_POLICY   (UINT64_C(1) << 7)
 
#define LL_FEAT_LE_2M_PHY   (UINT64_C(1) << 8)
 
#define LL_FEAT_STABLE_MOD_IDX_TRANSMITTER   (UINT64_C(1) << 9)
 
#define LL_FEAT_STABLE_MOD_IDX_RECEIVER   (UINT64_C(1) << 10)
 
#define LL_FEAT_LE_CODED_PHY   (UINT64_C(1) << 11)
 
#define LL_FEAT_LE_EXT_ADV   (UINT64_C(1) << 12)
 
#define LL_FEAT_LE_PER_ADV   (UINT64_C(1) << 13)
 
#define LL_FEAT_CH_SEL_2   (UINT64_C(1) << 14)
 
#define LL_FEAT_LE_POWER_CLASS_1   (UINT64_C(1) << 15)
 
#define LL_FEAT_MIN_NUM_USED_CHAN   (UINT64_C(1) << 16)
 
#define LL_FEAT_CONN_CTE_REQ   (UINT64_C(1) << 17)
 
#define LL_FEAT_CONN_CTE_RSP   (UINT64_C(1) << 18)
 
#define LL_FEAT_CONNLESS_CTE_TRANS   (UINT64_C(1) << 19)
 
#define LL_FEAT_CONNLESS_CTE_RECV   (UINT64_C(1) << 20)
 
#define LL_FEAT_ANTENNA_SWITCH_AOD   (UINT64_C(1) << 21)
 
#define LL_FEAT_ANTENNA_SWITCH_AOA   (UINT64_C(1) << 22)
 
#define LL_FEAT_RECV_CTE   (UINT64_C(1) << 23)
 
#define LL_FEAT_PAST_SENDER   (UINT64_C(1) << 24)
 
#define LL_FEAT_PAST_RECIPIENT   (UINT64_C(1) << 25)
 
#define LL_FEAT_SCA_UPDATE   (UINT64_C(1) << 26)
 
#define LL_FEAT_REMOTE_PUB_KEY_VALIDATION   (UINT64_C(1) << 27)
 
#define LL_FEAT_CIS_MASTER_ROLE   (UINT64_C(1) << 28)
 
#define LL_FEAT_CIS_SLAVE_ROLE   (UINT64_C(1) << 29)
 
#define LL_FEAT_ISO_BROADCASTER   (UINT64_C(1) << 30)
 
#define LL_FEAT_ISO_SYNC   (UINT64_C(1) << 31)
 
#define LL_FEAT_ISO_HOST_SUPPORT   (UINT64_C(1) << 32)
 
#define LL_FEAT_POWER_CONTROL_REQUEST   (UINT64_C(1) << 33)
 
#define LL_FEAT_POWER_CHANGE_IND   (UINT64_C(1) << 34)
 
#define LL_FEAT_PATH_LOSS_MONITOR   (UINT64_C(1) << 35)
 
#define LL_HOST_CONTROLLED_FEAT   LL_FEAT_ISO_HOST_SUPPORT
 
#define LL_FEAT_ALL_MASK   (UINT64_C(0x0000000FFF01FFFF))
 

Enumerations

Functions

void LlSetBdAddr (const uint8_t *pAddr)
 Set Bluetooth device address. More...
 
void LlGetBdAddr (uint8_t *pAddr)
 Get Bluetooth device address. More...
 
uint8_t LlSetRandAddr (const uint8_t *pAddr)
 Set random device address. More...
 
uint8_t LlGetRandAddr (uint8_t *pAddr)
 Get random device address. More...
 
void LlGetVersion (uint16_t *pCompId, uint8_t *pBtVer, uint16_t *pImplRev)
 Get versions. More...
 
void LlGetSupStates (uint8_t *pStates)
 Get supported states. More...
 
void LlGetFeatures (uint8_t *pFeatures)
 Get features. More...
 
uint8_t LlSetFeatures (const uint8_t *pFeatures)
 Set features. More...
 
uint8_t LlSetHostFeatures (uint8_t bitNum, bool_t bitVal)
 Set host feature. More...
 
uint8_t LlGetRandNum (uint8_t *pRandNum)
 Get random number. More...
 
uint8_t LlGetWhitelistSize (void)
 Get white list size. More...
 
uint8_t LlClearWhitelist (void)
 Clear all white list entries. More...
 
uint8_t LlAddDeviceToWhitelist (uint8_t addrType, bdAddr_t pAddr)
 Add device to the white list. More...
 
uint8_t LlRemoveDeviceFromWhitelist (uint8_t addrType, bdAddr_t pAddr)
 Remove device from the white list. More...
 
uint8_t LlAddDeviceToResolvingList (uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr, const uint8_t *pPeerIrk, const uint8_t *pLocalIrk)
 Add device to resolving list. More...
 
uint8_t LlRemoveDeviceFromResolvingList (uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr)
 Remove device from resolving list. More...
 
uint8_t LlClearResolvingList (void)
 Clear resolving list. More...
 
uint8_t LlReadResolvingListSize (uint8_t *pSize)
 Read resolving list size. More...
 
uint8_t LlReadPeerResolvableAddr (uint8_t addrType, const uint8_t *pIdentityAddr, uint8_t *pRpa)
 Read peer resolvable address. More...
 
uint8_t LlReadLocalResolvableAddr (uint8_t addrType, const uint8_t *pIdentityAddr, uint8_t *pRpa)
 Read local resolvable address. More...
 
uint8_t LlSetAddrResolutionEnable (uint8_t enable)
 Enable or disable address resolution. More...
 
uint8_t LlSetResolvablePrivateAddrTimeout (uint16_t rpaTimeout)
 Set resolvable private address timeout. More...
 
uint8_t LlSetPrivacyMode (uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr, uint8_t privMode)
 Set privacy mode. More...
 
uint8_t LlGenerateP256KeyPair (void)
 Generate a P-256 public/private key pair. More...
 
uint8_t LlGenerateDhKey (const uint8_t pubKey_x[LL_ECC_KEY_LEN], const uint8_t pubKey_y[LL_ECC_KEY_LEN])
 Generate a Diffie-Hellman key. More...
 
uint8_t LlGenerateDhKeyV2 (uint8_t pubKey_x[LL_ECC_KEY_LEN], uint8_t pubKey_y[LL_ECC_KEY_LEN], uint8_t keyType)
 Generate a Diffie-Hellman key. More...
 
uint8_t LlSetP256PrivateKey (const uint8_t privKey[LL_ECC_KEY_LEN])
 Set P-256 private key for debug purposes. More...
 
uint8_t LlSetValidatePublicKeyMode (uint8_t validateMode)
 Set validate public key mode. More...
 
uint8_t LlSetChannelClass (const uint8_t *pChanMap)
 Set channel class. More...
 
uint8_t LlSetOpFlags (uint32_t flags, bool_t enable)
 Set operational mode flags. More...
 
void LlSetDefaultExtAdvTxPhyOptions (const uint8_t phyOptions)
 Set the default Ext adv TX PHY options. More...
 

Detailed Description

Macro Definition Documentation

#define LL_FEAT_ALL_MASK   (UINT64_C(0x0000000FFF01FFFF))

All feature mask, need to be updated when new features are added.

Definition at line 264 of file ll_api.h.

#define LL_FEAT_ANTENNA_SWITCH_AOA   (UINT64_C(1) << 22)

Anetenna Switching during CTE Reception (AoA) supported

Definition at line 246 of file ll_api.h.

#define LL_FEAT_ANTENNA_SWITCH_AOD   (UINT64_C(1) << 21)

Anetenna Switching during CTE Transmission (AoD) supported

Definition at line 245 of file ll_api.h.

#define LL_FEAT_CH_SEL_2   (UINT64_C(1) << 14)

Channel Selection Algorithm #2 supported.

Definition at line 237 of file ll_api.h.

#define LL_FEAT_CIS_MASTER_ROLE   (UINT64_C(1) << 28)

Connected Isochronous Stream Master Role supported.

Definition at line 253 of file ll_api.h.

#define LL_FEAT_CIS_SLAVE_ROLE   (UINT64_C(1) << 29)

Connected Isochronous Stream Slave Role supported.

Definition at line 254 of file ll_api.h.

#define LL_FEAT_CONN_CTE_REQ   (UINT64_C(1) << 17)

Connection CTE Request supported

Definition at line 241 of file ll_api.h.

#define LL_FEAT_CONN_CTE_RSP   (UINT64_C(1) << 18)

Connection CTE Response supported

Definition at line 242 of file ll_api.h.

#define LL_FEAT_CONN_PARAM_REQ_PROC   (UINT64_C(1) << 1)

Connection Parameters Request Procedure supported.

Definition at line 223 of file ll_api.h.

#define LL_FEAT_CONNLESS_CTE_RECV   (UINT64_C(1) << 20)

Connectionless CTE Receiver supported

Definition at line 244 of file ll_api.h.

#define LL_FEAT_CONNLESS_CTE_TRANS   (UINT64_C(1) << 19)

Connectionless CTE Transmitter supported

Definition at line 243 of file ll_api.h.

#define LL_FEAT_DATA_LEN_EXT   (UINT64_C(1) << 5)

Data Length Extension supported.

Definition at line 227 of file ll_api.h.

#define LL_FEAT_ENCRYPTION   (UINT64_C(1) << 0)

The features bitmask indicates the LE features supported by the LL. Encryption supported.

Definition at line 221 of file ll_api.h.

#define LL_FEAT_EXT_REJECT_IND   (UINT64_C(1) << 2)

Extended Reject Indication supported.

Definition at line 224 of file ll_api.h.

#define LL_FEAT_EXT_SCAN_FILT_POLICY   (UINT64_C(1) << 7)

Extended Scan Filter Policy supported.

Definition at line 229 of file ll_api.h.

#define LL_FEAT_ISO_BROADCASTER   (UINT64_C(1) << 30)

Isochronous Broadcaster Role supported.

Definition at line 255 of file ll_api.h.

#define LL_FEAT_ISO_HOST_SUPPORT   (UINT64_C(1) << 32)

Host support for ISO Channels.

Definition at line 257 of file ll_api.h.

#define LL_FEAT_ISO_SYNC   (UINT64_C(1) << 31)

Isochronous Synchronizer Role supported.

Definition at line 256 of file ll_api.h.

#define LL_FEAT_LE_2M_PHY   (UINT64_C(1) << 8)

LE 2M PHY supported.

Definition at line 231 of file ll_api.h.

#define LL_FEAT_LE_CODED_PHY   (UINT64_C(1) << 11)

LE Coded PHY supported.

Definition at line 234 of file ll_api.h.

#define LL_FEAT_LE_EXT_ADV   (UINT64_C(1) << 12)

LE Extended Advertising supported.

Definition at line 235 of file ll_api.h.

#define LL_FEAT_LE_PER_ADV   (UINT64_C(1) << 13)

LE Periodic Advertising supported.

Definition at line 236 of file ll_api.h.

#define LL_FEAT_LE_PING   (UINT64_C(1) << 4)

LE Ping supported.

Definition at line 226 of file ll_api.h.

#define LL_FEAT_LE_POWER_CLASS_1   (UINT64_C(1) << 15)

LE Power Class 1 supported.

Definition at line 238 of file ll_api.h.

#define LL_FEAT_MIN_NUM_USED_CHAN   (UINT64_C(1) << 16)

Minimum Number of Used Channels supported.

Definition at line 239 of file ll_api.h.

#define LL_FEAT_PAST_RECIPIENT   (UINT64_C(1) << 25)

Periodic Advertising Sync Transfer – Recipient supported.

Definition at line 249 of file ll_api.h.

#define LL_FEAT_PAST_SENDER   (UINT64_C(1) << 24)

Periodic Advertising Sync Transfer – Sender supported.

Definition at line 248 of file ll_api.h.

#define LL_FEAT_PATH_LOSS_MONITOR   (UINT64_C(1) << 35)

Path loss monitoring supported.

Definition at line 260 of file ll_api.h.

#define LL_FEAT_POWER_CHANGE_IND   (UINT64_C(1) << 34)

Power control power change indication supported.

Definition at line 259 of file ll_api.h.

#define LL_FEAT_POWER_CONTROL_REQUEST   (UINT64_C(1) << 33)

Power control requests supported.

Definition at line 258 of file ll_api.h.

#define LL_FEAT_PRIVACY   (UINT64_C(1) << 6)

LL Privacy supported.

Definition at line 228 of file ll_api.h.

#define LL_FEAT_RECV_CTE   (UINT64_C(1) << 23)

Receive Constant Tone Extension supported

Definition at line 247 of file ll_api.h.

#define LL_FEAT_REMOTE_PUB_KEY_VALIDATION   (UINT64_C(1) << 27)

Remote Public Key Validation supported.

Definition at line 251 of file ll_api.h.

#define LL_FEAT_SCA_UPDATE   (UINT64_C(1) << 26)

Sleep Clock Accuracy Updates supported.

Definition at line 250 of file ll_api.h.

#define LL_FEAT_SLV_INIT_FEAT_EXCH   (UINT64_C(1) << 3)

Slave-Initiated Features Exchange supported.

Definition at line 225 of file ll_api.h.

#define LL_FEAT_STABLE_MOD_IDX_RECEIVER   (UINT64_C(1) << 10)

Stable Modulation Index - Receiver supported.

Definition at line 233 of file ll_api.h.

#define LL_FEAT_STABLE_MOD_IDX_TRANSMITTER   (UINT64_C(1) << 9)

Stable Modulation Index - Transmitter supported.

Definition at line 232 of file ll_api.h.

#define LL_HOST_CONTROLLED_FEAT   LL_FEAT_ISO_HOST_SUPPORT

Feature bits controlled by the host.

Definition at line 262 of file ll_api.h.

#define LL_SUP_STATE_ACT_SCAN   (UINT64_C(1) << 5)

Active Scanning State supported.

Definition at line 180 of file ll_api.h.

#define LL_SUP_STATE_ACT_SCAN_AND_INIT   (UINT64_C(1) << 23)

Active Scanning State and Initiating State combination supported.

Definition at line 198 of file ll_api.h.

#define LL_SUP_STATE_ACT_SCAN_MST   (UINT64_C(1) << 25)

Active Scanning State and Master Role combination supported.

Definition at line 200 of file ll_api.h.

#define LL_SUP_STATE_ACT_SCAN_SLV   (UINT64_C(1) << 27)

Active Scanning state and Slave Role combination supported.

Definition at line 202 of file ll_api.h.

#define LL_SUP_STATE_CONN_ADV   (UINT64_C(1) << 2)

Connectable Advertising State supported.

Definition at line 177 of file ll_api.h.

#define LL_SUP_STATE_CONN_ADV_AND_ACT_SCAN   (UINT64_C(1) << 14)

Connectable Advertising State and Active Scanning State combination supported.

Definition at line 189 of file ll_api.h.

#define LL_SUP_STATE_CONN_ADV_AND_INIT   (UINT64_C(1) << 32)

Connectable Advertising State and Initiating State combination supported.

Definition at line 207 of file ll_api.h.

#define LL_SUP_STATE_CONN_ADV_AND_PASS_SCAN   (UINT64_C(1) << 10)

Connectable Advertising State and Passive Scanning State combination supported.

Definition at line 185 of file ll_api.h.

#define LL_SUP_STATE_CONN_ADV_MST   (UINT64_C(1) << 35)

Connectable Advertising State and Master Role combination supported.

Definition at line 210 of file ll_api.h.

#define LL_SUP_STATE_CONN_ADV_SLV   (UINT64_C(1) << 38)

Connectable Advertising State and Slave Role combination supported.

Definition at line 213 of file ll_api.h.

#define LL_SUP_STATE_CONN_SLV   (UINT64_C(1) << 7)

Connection State in the Slave Role supported.

Definition at line 182 of file ll_api.h.

#define LL_SUP_STATE_HI_DUTY_DIR_ADV   (UINT64_C(1) << 3)

High Duty Cycle Directed Advertising State supported.

Definition at line 178 of file ll_api.h.

#define LL_SUP_STATE_HI_DUTY_DIR_ADV_ACT_SCAN   (UINT64_C(1) << 15)

Directed Advertising State and Active Scanning State combination supported.

Definition at line 190 of file ll_api.h.

#define LL_SUP_STATE_HI_DUTY_DIR_ADV_AND_INIT   (UINT64_C(1) << 33)

High Duty Cycle Directed Advertising and Initiating combination supported.

Definition at line 208 of file ll_api.h.

#define LL_SUP_STATE_HI_DUTY_DIR_ADV_AND_PASS_SCAN   (UINT64_C(1) << 11)

Directed Advertising State and Passive Scanning State combination supported.

Definition at line 186 of file ll_api.h.

#define LL_SUP_STATE_HI_DUTY_DIR_ADV_MST   (UINT64_C(1) << 36)

High Duty Cycle Directed Advertising and Master Role combination supported.

Definition at line 211 of file ll_api.h.

#define LL_SUP_STATE_HI_DUTY_DIR_ADV_SLV   (UINT64_C(1) << 39)

High Duty Cycle Directed Advertising and Slave Role combination supported.

Definition at line 214 of file ll_api.h.

#define LL_SUP_STATE_INIT   (UINT64_C(1) << 6)

Initiating State supported. Connection State in the Master Role supported is also supported.

Definition at line 181 of file ll_api.h.

#define LL_SUP_STATE_INIT_MST   (UINT64_C(1) << 28)

Initiating State and Master Role combination supported. Master Role and Master Role combination is also supported.

Definition at line 203 of file ll_api.h.

#define LL_SUP_STATE_INIT_SLV   (UINT64_C(1) << 41)

Initiating State and Slave Role combination.

Definition at line 216 of file ll_api.h.

#define LL_SUP_STATE_LO_DUTY_DIR_ADV   (UINT64_C(1) << 29)

Low Duty Cycle Directed Advertising State.

Definition at line 204 of file ll_api.h.

#define LL_SUP_STATE_LO_DUTY_DIR_ADV_AND_ACT_SCAN   (UINT64_C(1) << 31)

Low Duty Cycle Directed Advertising and Active Scanning State combination supported.

Definition at line 206 of file ll_api.h.

#define LL_SUP_STATE_LO_DUTY_DIR_ADV_AND_INIT   (UINT64_C(1) << 34)

Low Duty Cycle Directed Advertising and Initiating combination supported.

Definition at line 209 of file ll_api.h.

#define LL_SUP_STATE_LO_DUTY_DIR_ADV_AND_PASS_SCAN   (UINT64_C(1) << 30)

Low Duty Cycle Directed Advertising and Passive Scanning State combination supported.

Definition at line 205 of file ll_api.h.

#define LL_SUP_STATE_LO_DUTY_DIR_ADV_MST   (UINT64_C(1) << 37)

Low Duty Cycle Directed Advertising and Master Role combination supported.

Definition at line 212 of file ll_api.h.

#define LL_SUP_STATE_LO_DUTY_DIR_ADV_SLV   (UINT64_C(1) << 40)

Low Duty Cycle Directed Advertising and Slave Role combination supported.

Definition at line 215 of file ll_api.h.

#define LL_SUP_STATE_NON_CONN_ADV   (UINT64_C(1) << 0)

Non-connectable Advertising State supported.

Definition at line 175 of file ll_api.h.

#define LL_SUP_STATE_NON_CONN_ADV_AND_ACT_SCAN   (UINT64_C(1) << 12)

Non-connectable Advertising State and Active Scanning State combination supported.

Definition at line 187 of file ll_api.h.

#define LL_SUP_STATE_NON_CONN_ADV_AND_INIT   (UINT64_C(1) << 16)

Non-connectable Advertising State and Initiating State combination supported.

Definition at line 191 of file ll_api.h.

#define LL_SUP_STATE_NON_CONN_ADV_AND_PASS_SCAN   (UINT64_C(1) << 8)

Non-connectable Advertising State and Passive Scanning State combination supported.

Definition at line 183 of file ll_api.h.

#define LL_SUP_STATE_NON_CONN_ADV_MST   (UINT64_C(1) << 18)

Non-connectable Advertising State and Master Role combination supported.

Definition at line 193 of file ll_api.h.

#define LL_SUP_STATE_NON_CONN_ADV_SLV   (UINT64_C(1) << 20)

Non-connectable Advertising State and Slave Role combination supported.

Definition at line 195 of file ll_api.h.

#define LL_SUP_STATE_PASS_SCAN   (UINT64_C(1) << 4)

Passive Scanning State supported.

Definition at line 179 of file ll_api.h.

#define LL_SUP_STATE_PASS_SCAN_AND_INIT   (UINT64_C(1) << 22)

Passive Scanning State and Initiating State combination supported.

Definition at line 197 of file ll_api.h.

#define LL_SUP_STATE_PASS_SCAN_MST   (UINT64_C(1) << 24)

Passive Scanning State and Master Role combination supported.

Definition at line 199 of file ll_api.h.

#define LL_SUP_STATE_PASS_SCAN_SLV   (UINT64_C(1) << 26)

Passive Scanning state and Slave Role combination supported.

Definition at line 201 of file ll_api.h.

#define LL_SUP_STATE_SCAN_ADV   (UINT64_C(1) << 1)

Scannable Advertising State supported.

Definition at line 176 of file ll_api.h.

#define LL_SUP_STATE_SCAN_ADV_AND_ACT_SCAN   (UINT64_C(1) << 13)

Scannable Advertising State and Active Scanning State combination supported.

Definition at line 188 of file ll_api.h.

#define LL_SUP_STATE_SCAN_ADV_AND_INIT   (UINT64_C(1) << 17)

Scannable Advertising State and Initiating State combination supported

Definition at line 192 of file ll_api.h.

#define LL_SUP_STATE_SCAN_ADV_AND_PASS_SCAN   (UINT64_C(1) << 9)

Scannable Advertising State and Passive Scanning State combination supported.

Definition at line 184 of file ll_api.h.

#define LL_SUP_STATE_SCAN_ADV_MST   (UINT64_C(1) << 19)

Scannable Advertising State and Master Role combination supported.

Definition at line 194 of file ll_api.h.

#define LL_SUP_STATE_SCAN_ADV_SLV   (UINT64_C(1) << 21)

Scannable Advertising State and Slave Role combination supported.

Definition at line 196 of file ll_api.h.

Enumeration Type Documentation

anonymous enum

Operational mode flags.

Enumerator
LL_OP_MODE_FLAG_ENA_VER_LLCP_STARTUP 

Perform version exchange LLCP at connection establishment.

LL_OP_MODE_FLAG_SLV_REQ_IMMED_ACK 

MD bit set if data transmitted.

LL_OP_MODE_FLAG_BYPASS_CE_GUARD 

Bypass end of CE guard.

LL_OP_MODE_FLAG_MST_RETX_AFTER_RX_NACK 

Master retransmits after receiving NACK.

LL_OP_MODE_FLAG_MST_IGNORE_CP_RSP 

Master ignores LL_CONNECTION_PARAM_RSP.

LL_OP_MODE_FLAG_MST_UNCOND_CP_RSP 

Master unconditionally accepts LL_CONNECTION_PARAM_RSP. (LL_OP_MODE_FLAG_MST_IGNORE_CP_RSP must be cleared).

LL_OP_MODE_FLAG_ENA_LEN_LLCP_STARTUP 

Perform data length update LLCP at connection establishment.

LL_OP_MODE_FLAG_REQ_SYM_PHY 

Require symmetric PHYs for connection.

LL_OP_MODE_FLAG_ENA_FEAT_LLCP_STARTUP 

Perform feature exchange LLCP at connection establishment.

LL_OP_MODE_FLAG_SLV_DELAY_LLCP_STARTUP 

Slave delays LLCP startup procedures.

LL_OP_MODE_FLAG_ENA_SLV_LATENCY_WAKEUP 

Enable slave latency wake up upon data pending.

LL_OP_MODE_FLAG_ENA_SLV_AUX_SCAN_RSP_ADI 

Enable ADI field for aux scan.

LL_OP_MODE_FLAG_ENA_MST_CIS_NULL_PDU 

Enable CIS master sends additional NULL PDU for acknowledge scheme.

LL_OP_MODE_FLAG_ENA_SLV_AUX_IND_ADVA 

AdvA will be included in AUX_ADV_IND instead of ADV_EXT_IND.

LL_OP_MODE_FLAG_ENA_ADV_CHAN_RAND 

Enable advertising channel randomization.

LL_OP_MODE_DISABLE_POWER_MONITOR 

Disable power monitoring.

LL_OP_MODE_FLAG_ENA_ADV_DLY 

Enable advertising delay.

LL_OP_MODE_FLAG_ENA_SCAN_BACKOFF 

Enable scan backoff.

LL_OP_MODE_FLAG_ENA_WW 

Enable window widening.

LL_OP_MODE_FLAG_ENA_SLV_LATENCY 

Enable slave latency.

LL_OP_MODE_FLAG_ENA_LLCP_TIMER 

Enable LLCP timer.

LL_OP_MODE_FLAG_IGNORE_CRC_ERR_TS 

Ignore timestamp of RX packet with CRC error.

Definition at line 274 of file ll_api.h.

enum LlRole_t

This parameter identifies the device role.

Enumerator
LL_ROLE_MASTER 

Role is master.

LL_ROLE_SLAVE 

Role is slave.

Definition at line 267 of file ll_api.h.

Function Documentation

uint8_t LlAddDeviceToResolvingList ( uint8_t  peerAddrType,
const uint8_t *  pPeerIdentityAddr,
const uint8_t *  pPeerIrk,
const uint8_t *  pLocalIrk 
)

Add device to resolving list.

Parameters
peerAddrTypePeer identity address type.
pPeerIdentityAddrPeer identity address.
pPeerIrkPeer IRK.
pLocalIrkLocal IRK.
Returns
Status error code.

Add device to resolving list.

uint8_t LlAddDeviceToWhitelist ( uint8_t  addrType,
bdAddr_t  pAddr 
)

Add device to the white list.

Parameters
addrTypeAddress type.
pAddrBluetooth device address.
Returns
Status error code.

Adds the given address to the white list stored in the LL.

Note
This function must only be called when advertising or scan is disabled and not initiating.
uint8_t LlClearResolvingList ( void  )

Clear resolving list.

Returns
Status error code.

Clear resolving list.

uint8_t LlClearWhitelist ( void  )

Clear all white list entries.

Returns
Status error code.

Clear all white list entries stored in the LL.

Note
This function must only be called when advertising or scan is disabled and not initiating.
uint8_t LlGenerateDhKey ( const uint8_t  pubKey_x[LL_ECC_KEY_LEN],
const uint8_t  pubKey_y[LL_ECC_KEY_LEN] 
)

Generate a Diffie-Hellman key.

Parameters
pubKey_xRemote public key x-coordinate.
pubKey_yRemote public key y-coordinate.
Returns
Status error code.

Generate a Diffie-Hellman key from a remote public key and the local private key. If another ECC operation (P-256 key pair or Diffie-Hellman key generation) is ongoing, an error will be returned.

uint8_t LlGenerateDhKeyV2 ( uint8_t  pubKey_x[LL_ECC_KEY_LEN],
uint8_t  pubKey_y[LL_ECC_KEY_LEN],
uint8_t  keyType 
)

Generate a Diffie-Hellman key.

Parameters
pubKey_xRemote public key x-coordinate.
pubKey_yRemote public key y-coordinate.
keyTypedebug enable
Returns
Status error code.

Generate a Diffie-Hellman key from a remote public key and the local private key. If another ECC operation (P-256 key pair or Diffie-Hellman key generation) is ongoing, an error will be returned. If keyType == 1, debug keys will be used in place for the keys.

uint8_t LlGenerateP256KeyPair ( void  )

Generate a P-256 public/private key pair.

Returns
Status error code.

Generate a P-256 public/private key pair. If another ECC operation (P-256 key pair or Diffie- Hellman key generation) is ongoing, an error will be returned.

void LlGetBdAddr ( uint8_t *  pAddr)

Get Bluetooth device address.

Parameters
pAddrBluetooth device address.

Get the BD address currently used by LL or all zeros if address is not set.

void LlGetFeatures ( uint8_t *  pFeatures)

Get features.

Parameters
pFeaturesSupported features bitmask.

Return the LE features supported by the LL.

uint8_t LlGetRandAddr ( uint8_t *  pAddr)

Get random device address.

Parameters
pAddrRandom Bluetooth device address.
Returns
Status error code.

Get the random address currently used by LL or all zeros if address is not set.

uint8_t LlGetRandNum ( uint8_t *  pRandNum)

Get random number.

Parameters
pRandNumBuffer to store 8 bytes random data.
Returns
Status error code.

Request the LL to generate a random number.

void LlGetSupStates ( uint8_t *  pStates)

Get supported states.

Parameters
pStatesSupported states bitmask.

Return the states supported by the LL.

void LlGetVersion ( uint16_t *  pCompId,
uint8_t *  pBtVer,
uint16_t *  pImplRev 
)

Get versions.

Parameters
pCompIdCompany ID.
pBtVerBluetooth version.
pImplRevImplementation revision.
uint8_t LlGetWhitelistSize ( void  )

Get white list size.

Returns
Total number of white list entries.

Read the white list capacity supported by the LL.

uint8_t LlReadLocalResolvableAddr ( uint8_t  addrType,
const uint8_t *  pIdentityAddr,
uint8_t *  pRpa 
)

Read local resolvable address.

Parameters
addrTypePeer identity address type.
pIdentityAddrPeer identity address.
pRpaStorage for peer resolvable private address
Returns
Status error code.

Get the local resolvable private address that is currently being used for the peer identity address.

uint8_t LlReadPeerResolvableAddr ( uint8_t  addrType,
const uint8_t *  pIdentityAddr,
uint8_t *  pRpa 
)

Read peer resolvable address.

Parameters
addrTypePeer identity address type.
pIdentityAddrPeer identity address.
pRpaStorage for peer resolvable private address
Returns
Status error code.

Get the peer resolvable private address that is currently being used for the peer identity address.

uint8_t LlReadResolvingListSize ( uint8_t *  pSize)

Read resolving list size.

Parameters
pSizeStorage for resolving list size.
Returns
Status error code.

Read number of address translation entries that can be stored in the resolving list.

uint8_t LlRemoveDeviceFromResolvingList ( uint8_t  peerAddrType,
const uint8_t *  pPeerIdentityAddr 
)

Remove device from resolving list.

Parameters
peerAddrTypePeer identity address type.
pPeerIdentityAddrPeer identity address.
Returns
Status error code.

Remove device from resolving list.

uint8_t LlRemoveDeviceFromWhitelist ( uint8_t  addrType,
bdAddr_t  pAddr 
)

Remove device from the white list.

Parameters
addrTypeAddress type.
pAddrBluetooth device address.
Returns
Status error code.

Removes the given address from the white list stored in the LL.

Note
This function must only be called when advertising or scan is disabled and not initiating.
uint8_t LlSetAddrResolutionEnable ( uint8_t  enable)

Enable or disable address resolution.

Parameters
enableSet to TRUE to enable address resolution or FALSE to disable address resolution.
Returns
Status error code.

Enable or disable address resolution so that received local or peer resolvable private addresses are resolved.

void LlSetBdAddr ( const uint8_t *  pAddr)

Set Bluetooth device address.

Parameters
pAddrBluetooth device address.

Set the BD address to be used by LL.

uint8_t LlSetChannelClass ( const uint8_t *  pChanMap)

Set channel class.

Parameters
pChanMapChannel map (0=bad, 1=usable).
Returns
Status error code.

Set the channel class. At least 2 bits must be set.

void LlSetDefaultExtAdvTxPhyOptions ( const uint8_t  phyOptions)

Set the default Ext adv TX PHY options.

Parameters
phyOptionsPHY options.

Set the default TX PHY options for extended adv slave primary and secondary channel.

uint8_t LlSetFeatures ( const uint8_t *  pFeatures)

Set features.

Parameters
pFeaturesSupported features bitmask.
Returns
Status error code.
Note
This function must only be called when controller is not connected to another device.

Set the LE features supported by the LL.

uint8_t LlSetHostFeatures ( uint8_t  bitNum,
bool_t  bitVal 
)

Set host feature.

Parameters
bitNumBit position in the FeatureSet.
bitValEnable or disable feature.
Returns
Status error code.

Set or clear a bit in the feature controlled by the Host in the Link Layer FeatureSet stored in the Controller.

uint8_t LlSetOpFlags ( uint32_t  flags,
bool_t  enable 
)

Set operational mode flags.

Parameters
flagsFlags.
enableTRUE to set flags or FALSE to clear flags.
Returns
Status error code.

Set mode flags governing LL operations.

uint8_t LlSetP256PrivateKey ( const uint8_t  privKey[LL_ECC_KEY_LEN])

Set P-256 private key for debug purposes.

Parameters
privKeyPrivate key, or all zeros to clear set private key.
Returns
Status error code.

Set P-256 private key or clear set private key. The private key will be used for generate key pairs and Diffie-Hellman keys until cleared.

uint8_t LlSetPrivacyMode ( uint8_t  peerAddrType,
const uint8_t *  pPeerIdentityAddr,
uint8_t  privMode 
)

Set privacy mode.

Parameters
peerAddrTypePeer identity address type.
pPeerIdentityAddrPeer identity address.
privModePrivacy mode.
Returns
Status error code.

Allow the host to specify the privacy mode to be used for a given entry on the resolving list.

uint8_t LlSetRandAddr ( const uint8_t *  pAddr)

Set random device address.

Parameters
pAddrRandom Bluetooth device address.
Returns
Status.

Set the random address to be used by LL.

uint8_t LlSetResolvablePrivateAddrTimeout ( uint16_t  rpaTimeout)

Set resolvable private address timeout.

Parameters
rpaTimeoutTimeout measured in seconds.
Returns
Status error code.

Set the time period between automatic generation of new resolvable private addresses.

uint8_t LlSetValidatePublicKeyMode ( uint8_t  validateMode)

Set validate public key mode.

Parameters
validateModeALT1 or ALT2.
Returns
Status error code.
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.