TI BLE-Stack for Bluetooth 4.2 API Documentation  3.01.00.07
Modules | Files | Macros | Functions
HCI

This module implements the Host Controller Interface. For a detailed usage section describing how to send these commands and receive events, see the HCI Section of the User's Guide. More...

Modules

 HCI Constants
 
 HCI Events
 
 HCI Function Maps
 

Files

file  hci.h
 HCI layer interface.
 
file  hci_tl.h
 Types, constants, external functions etc. for the BLE HCI Transport Layer.
 

Macros

#define HCI_ASSERT(condition)   HAL_ASSERT(condition)
 HCI Assert.
 

Functions

hciStatus_t HCI_DisconnectCmd (uint16 connHandle, uint8 reason)
 Terminate a connection. More...
 
hciStatus_t HCI_EXT_AdvEventNoticeCmd (uint8 taskID, uint16 taskEvent)
 Advertising Event Notice Command. More...
 
hciStatus_t HCI_EXT_BuildRevisionCmd (uint8 mode, uint16 userRevNum)
 Set a user revision number or read the build revision number. More...
 
hciStatus_t HCI_EXT_ConnEventNoticeCmd (uint16 connHandle, uint8 taskID, uint16 taskEvent)
 Connection Event Notice Command. More...
 
hciStatus_t HCI_EXT_DecryptCmd (uint8 *key, uint8 *encText)
 Decrypt encrypted data using AES128. More...
 
hciStatus_t HCI_EXT_DisconnectImmedCmd (uint16 connHandle)
 Disconnect the connection immediately. More...
 
hciStatus_t HCI_EXT_EnablePTMCmd (void)
 Enable Production Test Mode. More...
 
hciStatus_t HCI_EXT_EndModemTestCmd (void)
 Shutdown a modem test. More...
 
hciStatus_t HCI_EXT_GetActiveConnInfoCmd (uint8 connId, hciActiveConnInfo_t *activeConnInfo)
 This API is used to get connection related information required to follow the target connection with a BLE conneciton monitor. More...
 
hciStatus_t HCI_EXT_GetConnInfoCmd (uint8 *numAllocConns, uint8 *numActiveConns, hciConnInfo_t *activeConnInfo)
 Get Connection Info. More...
 
hciStatus_t HCI_EXT_ModemHopTestTxCmd (void)
 Start Modem Hop Tx Test. More...
 
hciStatus_t HCI_EXT_ModemTestRxCmd (uint8 rxChan)
 Start Modem Hop RX Test. More...
 
hciStatus_t HCI_EXT_ModemTestTxCmd (uint8 cwMode, uint8 txChan)
 Start Modem TX Test. More...
 
hciStatus_t HCI_EXT_NumComplPktsLimitCmd (uint8 limit, uint8 flushOnEvt)
 Set the Number of Completed Packets Limit. More...
 
hciStatus_t HCI_EXT_OnePktPerEvtCmd (uint8 control)
 Set whether a connection will be limited to one packet per event. More...
 
hciStatus_t HCI_EXT_PacketErrorRateCmd (uint16 connHandle, uint8 command)
 Packet Error Rate Command. More...
 
hciStatus_t HCI_EXT_PERbyChanCmd (uint16 connHandle, perByChan_t *perByChan)
 Packet Error Rate by Channel Command. More...
 
hciStatus_t HCI_EXT_ResetSystemCmd (uint8 mode)
 Issue a soft or hard system reset. More...
 
hciStatus_t HCI_EXT_SaveFreqTuneCmd (void)
 Save the frequency tuning value to non-volatile memory. More...
 
hciStatus_t HCI_EXT_ScanEventNoticeCmd (uint8 taskID, uint16 taskEvent)
 Scan Event Notice Command. More...
 
hciStatus_t HCI_EXT_ScanReqRptCmd (uint8 mode)
 Enable/disable Scan Request Reports. More...
 
hciStatus_t HCI_EXT_SetBDADDRCmd (uint8 *bdAddr)
 Set this device's BLE address (BDADDR). More...
 
hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd (uint8 control)
 Set Fast TX Response Time. More...
 
hciStatus_t HCI_EXT_SetFreqTuneCmd (uint8 step)
 Set Frequency Tuning. More...
 
hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd (uint8 *localFeatures)
 Write this device's supported features. More...
 
hciStatus_t HCI_EXT_SetMaxDataLenCmd (uint16 txOctets, uint16 txTime, uint16 rxOctets, uint16 rxTime)
 Set the maximum Rx and Tx Octets (in bytes) and Time (in us). More...
 
hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd (uint8 txPower)
 Set the maximum transmit output power for DTM. More...
 
hciStatus_t HCI_EXT_SetRxGainCmd (uint8 rxGain)
 Set the receiver gain. More...
 
hciStatus_t HCI_EXT_SetSCACmd (uint16 scaInPPM)
 Set this device's Sleep Clock Accuracy. More...
 
hciStatus_t HCI_EXT_SetTxPowerCmd (uint8 txPower)
 Set the transmit power. More...
 
void HCI_ExtTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host extended commands. More...
 
void HCI_GAPTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host GAP. More...
 
hciStatus_t HCI_HostNumCompletedPktCmd (uint8 numHandles, uint16 *connHandles, uint16 *numCompletedPkts)
 Set the number of HCI daata packets completed per connection handle. More...
 
void HCI_L2CAPTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host L2CAP. More...
 
hciStatus_t HCI_LE_AddDeviceToResolvingListCmd (uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 *peerIRK, uint8 *localIRK)
 Add a device to the resolving list. More...
 
hciStatus_t HCI_LE_AddWhiteListCmd (uint8 addrType, uint8 *devAddr)
 Add a white list entry. More...
 
hciStatus_t HCI_LE_ClearResolvingListCmd (void)
 Remove all devices from the whitelist. More...
 
hciStatus_t HCI_LE_ClearWhiteListCmd (void)
 Clear the white list. More...
 
hciStatus_t HCI_LE_ConnUpdateCmd (uint16 connHandle, uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout, uint16 minLen, uint16 maxLen)
 Update the connection parameters. More...
 
hciStatus_t HCI_LE_CreateConnCancelCmd (void)
 Cancel connection. More...
 
hciStatus_t HCI_LE_CreateConnCmd (uint16 scanInterval, uint16 scanWindow, uint8 initFilterPolicy, uint8 addrTypePeer, uint8 *peerAddr, uint8 ownAddrType, uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout, uint16 minLen, uint16 maxLen)
 Create a connection. More...
 
hciStatus_t HCI_LE_EncryptCmd (uint8 *key, uint8 *plainText)
 Perform an encryption using AES128. More...
 
hciStatus_t HCI_LE_GenerateDHKeyCmd (uint8 *publicKey)
 Generate Diffie-Hellman Key. More...
 
hciStatus_t HCI_LE_LtkReqNegReplyCmd (uint16 connHandle)
 Send a negative LTK reply to the Controller. More...
 
hciStatus_t HCI_LE_LtkReqReplyCmd (uint16 connHandle, uint8 *ltk)
 Send a positive LTK reply to the controller. More...
 
hciStatus_t HCI_LE_RandCmd (void)
 Generate a random number. More...
 
hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd (void)
 Read transmit power when Advertising. More...
 
hciStatus_t HCI_LE_ReadBufSizeCmd (void)
 Determine the maximum ACL data packet size allowed by the Controller. More...
 
hciStatus_t HCI_LE_ReadChannelMapCmd (uint16 connHandle)
 Read a connection's data channel map. More...
 
hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd (void)
 Read local P-256 Public Key. More...
 
hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd (uint8 localIdAddrType, uint8 *localIdAddr)
 Read Local Resolvable Private Address. More...
 
hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd (void)
 Read the LE locally supported features. More...
 
hciStatus_t HCI_LE_ReadMaxDataLenCmd (void)
 Read max data length. More...
 
hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd (uint8 peerIdAddrType, uint8 *peerIdAddr)
 Read the Peer Resolvable Address. More...
 
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd (uint16 connHandle)
 Read the remote device's used features. More...
 
hciStatus_t HCI_LE_ReadResolvingListSizeCmd (void)
 Read Resolving List Size. More...
 
hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd (void)
 Read Suggested Default Data Length. More...
 
hciStatus_t HCI_LE_ReadSupportedStatesCmd (void)
 TRead the Controller's supported states. More...
 
hciStatus_t HCI_LE_ReadWhiteListSizeCmd (void)
 Read the white list. More...
 
hciStatus_t HCI_LE_ReceiverTestCmd (uint8 rxChan)
 Start the receiver Direct Test Mode test. More...
 
hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd (uint16 connHandle, uint8 reason)
 Negatively reply to the Conneciton Parameter Update Request. More...
 
hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd (uint16 connHandle, uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout, uint16 minLen, uint16 maxLen)
 Positively reply to the Conneciton Parameter Update Request. More...
 
hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd (uint8 peerIdAddrType, uint8 *peerIdAddr)
 Remove a device from the whitelist. More...
 
hciStatus_t HCI_LE_RemoveWhiteListCmd (uint8 addrType, uint8 *devAddr)
 Remove a white list entry. More...
 
hciStatus_t HCI_LE_SetAddressResolutionEnableCmd (uint8 addrResolutionEnable)
 Disable / Enable Address Resolution. More...
 
hciStatus_t HCI_LE_SetAdvDataCmd (uint8 dataLen, uint8 *pData)
 Set the Advertising data. More...
 
hciStatus_t HCI_LE_SetAdvEnableCmd (uint8 advEnable)
 Turn Advertising on or off. More...
 
hciStatus_t HCI_LE_SetAdvParamCmd (uint16 advIntervalMin, uint16 advIntervalMax, uint8 advType, uint8 ownAddrType, uint8 directAddrType, uint8 *directAddr, uint8 advChannelMap, uint8 advFilterPolicy)
 Set the Advertising parameters. More...
 
hciStatus_t HCI_LE_SetDataLenCmd (uint16 connHandle, uint16 txOctets, uint16 txTime)
 Set Data Length. More...
 
hciStatus_t HCI_LE_SetEventMaskCmd (uint8 *pEventMask)
 Set the HCI LE event mask. More...
 
hciStatus_t HCI_LE_SetHostChanClassificationCmd (uint8 *chanMap)
 Update the current data channel map. More...
 
hciStatus_t HCI_LE_SetRandomAddressCmd (uint8 *pRandAddr)
 Set this device's Random address. More...
 
hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd (uint16 rpaTimeout)
 Set Resolvable Private Address Timeout. More...
 
hciStatus_t HCI_LE_SetScanEnableCmd (uint8 scanEnable, uint8 filterDuplicates)
 Turn Scanning on or off. More...
 
hciStatus_t HCI_LE_SetScanParamCmd (uint8 scanType, uint16 scanInterval, uint16 scanWindow, uint8 ownAddrType, uint8 filterPolicy)
 Set the Scan parameters. More...
 
hciStatus_t HCI_LE_SetScanRspDataCmd (uint8 dataLen, uint8 *pData)
 Set the Advertising Scan Response data. More...
 
hciStatus_t HCI_LE_StartEncyptCmd (uint16 connHandle, uint8 *random, uint8 *encDiv, uint8 *ltk)
 Start encryption in a connection. More...
 
hciStatus_t HCI_LE_TestEndCmd (void)
 End the Direct Test Mode test. More...
 
hciStatus_t HCI_LE_TransmitterTestCmd (uint8 txChan, uint8 dataLen, uint8 pktPayload)
 This LE API is used to start the transmit Direct Test Mode test. More...
 
hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd (uint16 txOctets, uint16 txTime)
 Write Suggested Default Data Length. More...
 
hciStatus_t HCI_ReadAuthPayloadTimeoutCmd (uint16 connHandle, uint16 *aptoValue)
 Read the connection's Authenticated Payload Timeout value. More...
 
hciStatus_t HCI_ReadBDADDRCmd (void)
 Read this device's BLE address (BDADDR). More...
 
hciStatus_t HCI_ReadLocalSupportedCommandsCmd (void)
 Read the locally supported commands. More...
 
hciStatus_t HCI_ReadLocalSupportedFeaturesCmd (void)
 Read the locally supported features. More...
 
hciStatus_t HCI_ReadLocalVersionInfoCmd (void)
 Read the local version information. More...
 
hciStatus_t HCI_ReadRemoteVersionInfoCmd (uint16 connHandle)
 Request version information from the remote device in a connection. More...
 
hciStatus_t HCI_ReadRssiCmd (uint16 connHandle)
 Read RSSI of last packet. More...
 
hciStatus_t HCI_ReadTransmitPowerLevelCmd (uint16 connHandle, uint8 txPwrType)
 Read the transmit power level. More...
 
hciStatus_t HCI_ResetCmd (void)
 Reset the Link Layer. More...
 
hciStatus_t HCI_SendDataPkt (uint16 connHandle, uint8 pbFlag, uint16 pktLen, uint8 *pData)
 Send an ACL data packet over a connection. More...
 
hciStatus_t HCI_SetEventMaskCmd (uint8 *pMask)
 Set the HCI event mask. More...
 
hciStatus_t HCI_SetEventMaskPage2Cmd (uint8 *pMask)
 Set the HCI event mask page 2. More...
 
void HCI_SMPTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host SMP. More...
 
void HCI_TestAppTaskRegister (uint8 taskID)
 HCI vendor specific registration for HCI Test Application. More...
 
uint8 HCI_ValidConnTimeParams (uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout)
 Checks that the connection time parameter ranges are valid. More...
 
hciStatus_t HCI_WriteAuthPayloadTimeoutCmd (uint16 connHandle, uint16 aptoValue)
 Used to write the connection's Authenticated Payload Timeout value. More...
 

Detailed Description

This module implements the Host Controller Interface. For a detailed usage section describing how to send these commands and receive events, see the HCI Section of the User's Guide.

Function Documentation

§ HCI_DisconnectCmd()

hciStatus_t HCI_DisconnectCmd ( uint16  connHandle,
uint8  reason 
)

Terminate a connection.

Corresponding Events
hciEvt_CommandStatus_t
hciEvt_DisconnComplete_t
Parameters
connHandle- Connection handle.
reason- Disconnect Reasons
Corresponding Event
hciEvt_CommandStatus_t with cmdOpcode HCI_DISCONNECT
Returns
HCI_SUCCESS

§ HCI_EXT_AdvEventNoticeCmd()

hciStatus_t HCI_EXT_AdvEventNoticeCmd ( uint8  taskID,
uint16  taskEvent 
)

Advertising Event Notice Command.

Enable or disable a notification to the specified task using the specified task event whenever an advertising event ends. A non-zero taskEvent value is taken to be "enable", while a zero valued taskEvent is taken to be "disable".

Note
This command does not check if the taskID and/or taskEvent are valid.
This command does not return any HCI events but has a meaningful return status.
If configured succesfully, it will result in BLE stack events sent as shown in the following example
Usage
  1. Define the event in the application
    // Application specific event ID for HCI Advertisement End Events
    #define SBP_HCI_ADV_EVT_END_EVT 0x0001
  2. Configure the Bluetooth low energy protocol stack to return the event
    HCI_EXT_AdvEventNoticeCmd( selfEntity, SBP_HCI_ADV_EVT_END_EVT);
  3. Check for and receive these events in the application
    if (ICall_fetchServiceMsg(&src, &dest,
    (void **)&pMsg) == ICALL_ERRNO_SUCCESS)
    {
    uint8 safeToDealloc = TRUE;
    if ((src == ICALL_SERVICE_CLASS_BLE) && (dest == selfEntity))
    {
    ICall_Stack_Event *pEvt = (ICall_Stack_Event *)pMsg;
    // Check for BLE stack events first
    if (pEvt->signature == 0xffff)
    {
    if (pEvt->event_flag & SBP_HCI_ADV_EVT_END_EVT)
    {
    //Advertisement ended. Process as desired.
    }
Parameters
taskID- User's task ID.
taskEvent- User's task event.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS : More than 1 bit was set in taskEvent

§ HCI_EXT_BuildRevisionCmd()

hciStatus_t HCI_EXT_BuildRevisionCmd ( uint8  mode,
uint16  userRevNum 
)

Set a user revision number or read the build revision number.

This command allows the embedded user code to set their own 16-bit revision number or read the build revision number of the Bluetooth low energy stack library software. The default value of the revision number is zero. When you update a Bluetooth low energy project by adding your own code, use this API to set your own revision number. When called with mode set to HCI_EXT_SET_USER_REVISION, the stack saves this value. No event is returned from this API when used this way.

Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_BUILD_REVISION (only when mode == HCI_EXT_READ_BUILD_REVISION)
Parameters
mode- Set User Revision Command
userRevNum- user defined reviison number
Returns
HCI_SUCCESS

§ HCI_EXT_ConnEventNoticeCmd()

hciStatus_t HCI_EXT_ConnEventNoticeCmd ( uint16  connHandle,
uint8  taskID,
uint16  taskEvent 
)

Connection Event Notice Command.

For a given connection handle, enable or disable a notification to the specified task using the specified task event whenever a Connection event ends. A non-zero taskEvent value is taken to be "enable", while a zero valued taskEvent taken to be "disable".

Note
This command does not check if the taskID and/or taskEvent are valid.
This command does not return any HCI events but has a meaningful return status.
If configured succesfully, it will result in BLE stack events sent as shown in the following example.
Usage
  1. Define the event in the application
    // Application specific event ID for HCI Connection Event End Events
    #define SBP_HCI_CONN_EVT_END_EVT 0x0001
  2. Configure the Bluetooth low energy protocol stack to return the event. This must be done after the connection has been formed.
    HCI_EXT_ConnEventNoticeCmd(pMsg->connHandle, selfEntity, SBP_HCI_CONN_EVT_END_EVT)
  3. Check for and receive these events in the application
    if (ICall_fetchServiceMsg(&src, &dest,
    (void **)&pMsg) == ICALL_ERRNO_SUCCESS)
    {
    uint8 safeToDealloc = TRUE;
    if ((src == ICALL_SERVICE_CLASS_BLE) && (dest == selfEntity))
    {
    ICall_Stack_Event *pEvt = (ICall_Stack_Event *)pMsg;
    // Check for BLE stack events first
    if (pEvt->signature == 0xffff)
    {
    if (pEvt->event_flag & SBP_HCI_CONN_EVT_END_EVT)
    {
    //Connection event ended. Process as desired.
    }
Parameters
connHandle- The HCI connection ID for connection event notice.
taskID- User's task ID.
taskEvent- User's task event.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS : >1 bit was set in taskEvent

§ HCI_EXT_DecryptCmd()

hciStatus_t HCI_EXT_DecryptCmd ( uint8 *  key,
uint8 *  encText 
)

Decrypt encrypted data using AES128.

Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_DECRYPT
Parameters
key- Pointer to 16 byte encryption key. The most significant octet of the data corresponds to key[0] using the notation specified in FIPS 197.
encText- Pointer to 16 byte encrypted data. The most significant octet of the key corresponds to key[0] using the notation specified in FIPS 197.
Returns
HCI_SUCCESS

§ HCI_EXT_DisconnectImmedCmd()

hciStatus_t HCI_EXT_DisconnectImmedCmd ( uint16  connHandle)

Disconnect the connection immediately.

This command is used to disconnect a connection immediately. This command can be useful for when a connection needs to be ended without the latency associated with the normal BLE Controller Terminate control procedure.

Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_DISCONNECT_IMMED
hciEvt_DisconnComplete_t hciEvt_VSCmdComplete_t
Parameters
connHandle- Connection handle.
Returns
HCI_SUCCESS

§ HCI_EXT_EnablePTMCmd()

hciStatus_t HCI_EXT_EnablePTMCmd ( void  )

Enable Production Test Mode.

This command is used to enable Production Test Mode (PTM). This mode is used by the customer during assembly of their product to allow limited access to the BLE Controller for testing and configuration. This command is only available when the BLE Controller is built without external access to the Controller (i.e. when no transport interface such as RS232 is permitted). This mode will remain enabled until the device is reset. Please see the related application note for additional details.

Returns
HCI_SUCCESS

§ HCI_EXT_EndModemTestCmd()

hciStatus_t HCI_EXT_EndModemTestCmd ( void  )

Shutdown a modem test.

Note:
A complete Controller reset will take place.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_END_MODEM_TEST
Returns
HCI_SUCCESS

§ HCI_EXT_GetActiveConnInfoCmd()

hciStatus_t HCI_EXT_GetActiveConnInfoCmd ( uint8  connId,
hciActiveConnInfo_t *  activeConnInfo 
)

This API is used to get connection related information required to follow the target connection with a BLE conneciton monitor.

input parameters

Parameters
connId- Connection id of an active BLE connection.
activeConnInfo- Pointer for active connection information that is needed to track BLE connection. Note: If not NULL it is the users responsibility to allocate memory for this pointer based on sizeof(hciActiveConnInfo_t) and also to free it when done.

output parameters

Parameters
activeConnInfo- Pointer for active connection information that is needed to track BLE connection.
Returns
LL_STATUS_SUCCESS

§ HCI_EXT_GetConnInfoCmd()

hciStatus_t HCI_EXT_GetConnInfoCmd ( uint8 *  numAllocConns,
uint8 *  numActiveConns,
hciConnInfo_t *  activeConnInfo 
)

Get Connection Info.

This API is used to get connection related information, which includes the number of allocated connections, the number of active connections, and for each active connection, the connection ID, the connection role (Master or Slave), the peer address and peer address type. The number of allocated connections is based on a default build value that can be changed using MAX_NUM_BLE_CONNS. The number of active connections refers to active BLE connections.

Note:
If all the parameters are NULL, then the command is assumed to have originated from the transport layer. Otherwise, they are assumed to have originated from a direct call by the Application and any non-NULL pointer will be directly used.
Warning
If either parameter is non-NULL, the pointer will be used to store the result. It is the user's responsibility to ensure there is sufficient memory allocated.
Corresponding Events:
hciEvt_CmdComplete_t with cmdOpcode HCI_EXT_GET_CONNECTION_INFO
Parameters
numAllocConns- Pointer for number of build time connections.
numActiveConns- Pointer for number of active BLE connections.
activeConnInfo- Pointer for active connection information.
numAllocConns- Number of build time connections allowed.
numActiveConns- Number of active BLE connections.
activeConnInfo- Active connection information.
Returns
HCI_SUCCESS

§ HCI_EXT_ModemHopTestTxCmd()

hciStatus_t HCI_EXT_ModemHopTestTxCmd ( void  )

Start Modem Hop Tx Test.

Start a continuous transmitter direct test mode test using a modulated carrier wave and transmitting a 37 byte packet of Pseudo-Random 9-bit data. A packet is transmitted on a different frequency (linearly stepping through all RF channels 0..39) every 625us. Use HCI_EXT_EndModemTestCmd command to end the test.

Note
A Controller reset will be issued by HCI_EXT_EndModemTestCmd.
The BLE device will transmit at maximum power.
This modem test can be used to satisfy in part radio regulation requirements as specific in standards such as ARIB STD-T66.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_MODEM_HOP_TEST_TX
Returns
HCI_SUCCESS

§ HCI_EXT_ModemTestRxCmd()

hciStatus_t HCI_EXT_ModemTestRxCmd ( uint8  rxChan)

Start Modem Hop RX Test.

Start a continuous receiver modem test using a modulated carrier wave tone, at the frequency that corresponds to the specific RF channel. Any received data is discarded. Receiver gain may be adjusted using the HCI_EXT_SetRxGainCmd. RSSI may be read during this test by using the HCI_ReadRssiCmd. Use HCI_EXT_EndModemTestCmd command to end the test.

Note
A Controller reset will be issued by HCI_EXT_EndModemTestCmd.
The BLE device will transmit at maximum power.
This modem test can be used to satisfy in part radio regulation requirements as specific in standards such as ARIB STD-T66.
Parameters
rxChan- Receiver RF channel k=0..39, where BLE F=2402+(k*2MHz).
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_MODEM_TEST_RX
Returns
HCI_SUCCESS

§ HCI_EXT_ModemTestTxCmd()

hciStatus_t HCI_EXT_ModemTestTxCmd ( uint8  cwMode,
uint8  txChan 
)

Start Modem TX Test.

Start a continuous transmitter modem test, using either a modulated or unmodulated carrier wave tone, at the frequency that corresponds to the specified RF channel. Use HCI_EXT_EndModemTestCmd command to end the test.

Note:
A Controller reset will be issued by HCI_EXT_EndModemTestCmd.
The BLE device will transmit at maximum power.
This modem test can be used to satisfy in part radio regulation requirements as specific in standards such as ARIB STD-T66.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_MODEM_TEST_TX
Parameters
cwMode- TX Modulation
txChan- Transmit RF channel k=0..39, where BLE F=2402+(k*2MHz).
Returns
HCI_SUCCESS

§ HCI_EXT_NumComplPktsLimitCmd()

hciStatus_t HCI_EXT_NumComplPktsLimitCmd ( uint8  limit,
uint8  flushOnEvt 
)

Set the Number of Completed Packets Limit.

This command is used to set the limit on the minimum number of complete packets before a Number of Completed Packets event is returned by the Controller. If the limit is not reached by the end of a connection event, then the ed hciEvt_NumCompletedPkt_t event will be returned (if non-zero) based on the flushOnEvt flag. The limit can be set from one to HCI_MAX_NUM_CMD_BUFFERS (see HCI_LE_ReadBufSizeCmd). The default limit is 1; the default flushOnEvt flag is FALSE.

Corresponding Events:
hciEvt_NumCompletedPkt_t
hciEvt_CmdComplete_t with cmdOpcode HCI_EXT_NUM_COMPLETED_PKTS_LIMIT
Parameters
limit- From 1 to HCI_MAX_NUM_CMD_BUFFERS.
flushOnEvt- Number of Completed Packets
Returns
HCI_SUCCESS

§ HCI_EXT_OnePktPerEvtCmd()

hciStatus_t HCI_EXT_OnePktPerEvtCmd ( uint8  control)

Set whether a connection will be limited to one packet per event.

Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_ONE_PKT_PER_EVT
Parameters
control- One Packet Per Event
Returns
HCI_SUCCESS

§ HCI_EXT_PacketErrorRateCmd()

hciStatus_t HCI_EXT_PacketErrorRateCmd ( uint16  connHandle,
uint8  command 
)

Packet Error Rate Command.

Reset or Read the Packet Error Rate counters for a connection.

Note
The counters are only 16 bits. At the shortest connection interval, this provides a bit over 8 minutes of data.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_PER , followed by another
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_PER
Parameters
connHandle- The LL connection ID on which to send this data.
command- Packet Error Rate Command
Returns
HCI_SUCCESS

§ HCI_EXT_PERbyChanCmd()

hciStatus_t HCI_EXT_PERbyChanCmd ( uint16  connHandle,
perByChan_t *  perByChan 
)

Packet Error Rate by Channel Command.

This command is used to start or end Packet Error Rate by Channel counter accumulation for a connection, and can be used by an application to make Coexistence assessments. Based on the results, an application can perform an Update Channel Classification command to limit channel interference from other wireless standards.

If *perByChan is NULL, counter accumulation will be discontinued. If *perByChan is not NULL, then it is assumed that there is sufficient memory for the PER data of type perByChan_t (defined in ll.h)

// Packet Error Rate Information By Channel
typedef struct
{
uint16 numPkts[ LL_MAX_NUM_DATA_CHAN ];
uint16 numCrcErr[ LL_MAX_NUM_DATA_CHAN ];
} perByChan_t;
Note
This command is only allowed as a direct function call, and is only intended to be used by an embedded application.
As indicated, the counters are 16 bits. At the shortest connection interval, this provides a bit over 8 minutes of data.
This command can be used in combination with HCI_EXT_PacketErrorRateCmd.
Warning
It is the user's responsibility to ensure there is sufficient memory allocated. The user is also responsible for maintaining the counters, clearing them if required before starting accumulation.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_PER_BY_CHAN
Parameters
connHandle- The LL connection ID on which to send this data.
perByChan- Pointer to PER by Channel data, or NULL.
Returns
HCI_SUCCESS

§ HCI_EXT_ResetSystemCmd()

hciStatus_t HCI_EXT_ResetSystemCmd ( uint8  mode)

Issue a soft or hard system reset.

This command is used to issue a hard or soft system reset. On the CC254x, a hard reset is caused by a watchdog timer timeout, while a soft reset is caused by resetting the PC to zero. On the CC264x, a hard reset is caused by setting the SYSRESET bit in the System Controller Reset Control register.

Note
The soft reset is currently not supported on the CC264x.
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_EXT_RESET_SYSTEM
Parameters
mode- Reset Type
Returns
HCI_SUCCESS

§ HCI_EXT_SaveFreqTuneCmd()

hciStatus_t HCI_EXT_SaveFreqTuneCmd ( void  )

Save the frequency tuning value to non-volatile memory.

This setting will be used by the BLE Controller upon reset, and when waking from Sleep.

Note:
This is a Production Test Mode only command. See HCI_EXT_EnablePTMCmd
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_FREQ_TUNE
Returns
HCI_SUCCESS

§ HCI_EXT_ScanEventNoticeCmd()

hciStatus_t HCI_EXT_ScanEventNoticeCmd ( uint8  taskID,
uint16  taskEvent 
)

Scan Event Notice Command.

This HCI Extension API is used to enable or disable a notification to the specified task using the specified task event whenever a Scan event ends. A non-zero taskEvent value is taken to be "enable", while a zero valued taskEvent is taken to be "disable".

Note
This command does not check if the taskID and/or taskEvent are valid.
This command does not return any HCI events but has a meaningful return status.
If configured succesfully, it will result in BLE stack events sent as shown in the following example .
Note
This command requires the following define in the stack .opt file:

-DEXTRA_SCAN_FEAT=SCAN_EVT_NOTICE_CFG

Usage
  1. Define the event in the application
    // Application specific event ID for HCI Scan End Events
    #define SBP_HCI_SCAN_END_EVT 0x0001
  2. Configure the Bluetooth low energy protocol stack to return the event.
    HCI_EXT_ScanEventNoticeCmd(selfEntity, SBP_HCI_SCAN_END_EVT);
  3. Check for and receive these events in the application
    if (ICall_fetchServiceMsg(&src, &dest,
    (void **)&pMsg) == ICALL_ERRNO_SUCCESS)
    {
    if ((src == ICALL_SERVICE_CLASS_BLE) && (dest == selfEntity))
    {
    ICall_Stack_Event *pEvt = (ICall_Stack_Event *)pMsg;
    // Check for BLE stack events first
    if (pEvt->signature == 0xffff)
    {
    if (pEvt->event_flag & SBP_HCI_SCAN_END_EVT)
    {
    asm("NOP");
    }
    }
Parameters
taskID- User's task ID.
taskEvent- User's task event.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS : >1 bit was set in taskEvent

§ HCI_EXT_ScanReqRptCmd()

hciStatus_t HCI_EXT_ScanReqRptCmd ( uint8  mode)

Enable/disable Scan Request Reports.

Enables or disables scan request reports. The default system value for this feature is disabled. When enabled, a received Scan Reuqest from a peer device during Advertising will result in a Scan Request Report sent from the controller of type hciEvt_BLEScanReqReport_t.

Note
There is no duplicate filtering associated with this command, although the Advertising Filter Policy still applies.
There is only one event type and this is always 0
Note
This command requires the following define in the stack .opt file:

-DEXTRA_ADV_FEAT=SCAN_REQ_RPT_CFG

Usage
  1. Configure the Bluetooth low energy protocol stack to return the event
  2. Check for and receive these events in the stack message processing function. The following example is from SimpleBLEPeripheral_processStackMsg();
    switch (pMsg->event)
    {
    {
    // Process HCI message
    switch(pMsg->status)
    {
    {
    if (scanRequestReport->BLEEventCode == HCI_BLE_SCAN_REQ_REPORT_EVENT)
    {
    // process ScanRequestReport here
    }
    }
    break;
Parameters
mode- Scan Request Report
Returns
hciStatus_t
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS : invalid mode

§ HCI_EXT_SetBDADDRCmd()

hciStatus_t HCI_EXT_SetBDADDRCmd ( uint8 *  bdAddr)

Set this device's BLE address (BDADDR).

This address will override the device's address determined when the device is reset (i.e. a hardware reset, not an HCI Controller Reset). To restore the device's initialized address, issue this command with an invalid address.

Note
This command is only allowed when the device's state is Standby.
Warning
This command is intended to only be used during initialization. Changing the device's BDADDR after various BLE operations have already taken place may cause unexpected problems.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_BDADDR
Parameters
bdAddr- A pointer to a buffer to hold this device's address. An invalid address (i.e. all FF's) will restore this device's address to the address set at initialization.
Returns
HCI_SUCCESS

§ HCI_EXT_SetFastTxResponseTimeCmd()

hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd ( uint8  control)

Set Fast TX Response Time.

This command is used to configure the Link Layer fast transmit response time feature. The default system value for this feature is HCI_EXT_ENABLE_FAST_TX_RESP_TIME. When the Host transmits data, the controller (by default) ensures the packet is sent over the LL connection with as little delay as possible, even when the connection is configured to use slave latency. That is, the transmit response time will tend to be no longer than the connection interval. This results in lower power savings since the LL may need to wake to transmit during connection events that would normally have been skipped. If saving power is more critical than fast transmit response time, then this feature can be disabled using this command. When disabled, the transmit response time will be no longer than slave latency + 1 times the connection interval.

Note
This command is only valid for a Slave controller.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_FAST_TX_RESP_TIME
Parameters
control- Fast Tx Response Time
Returns
HCI_SUCCESS

§ HCI_EXT_SetFreqTuneCmd()

hciStatus_t HCI_EXT_SetFreqTuneCmd ( uint8  step)

Set Frequency Tuning.

Set the frequency tuning up or down.When the current setting is already at its max value, then stepping up will have no effect. When the current setting is already at its min value, then stepping down will have no effect. This setting will only remain in effect until the device is reset unless HCI_EXT_SaveFreqTuneCmd is used to save it in non-volatile memory.

Note:
This is a Production Test Mode only command. See HCI_EXT_EnablePTMCmd
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_FREQ_TUNE
Parameters
step- Frequency Tuning
Returns
HCI_SUCCESS

§ HCI_EXT_SetLocalSupportedFeaturesCmd()

hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd ( uint8 *  localFeatures)

Write this device's supported features.

This command is used to set the Controller's Local Supported Features. See ll_common.h for defines to set / clear features.

For a complete list of supported LE features, see the BT Spec.

Note
This command can be issued either before or after one or more connections are formed. However, the local features set in this manner are only effective if performed before a Feature Exchange Procedure has been initiated by the Master. Once this control procedure has been completed for a particular connection, only the exchanged feature set for that connection will be used. Since the Link Layer may initiate the feature exchange procedure autonomously, it is best to use this command before the connection is formed.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_LOCAL_SUPPORTED_FEATURES
Parameters
localFeatures- Pointer to eight bytes of local features.
Returns
HCI_SUCCESS

§ HCI_EXT_SetMaxDataLenCmd()

hciStatus_t HCI_EXT_SetMaxDataLenCmd ( uint16  txOctets,
uint16  txTime,
uint16  rxOctets,
uint16  rxTime 
)

Set the maximum Rx and Tx Octets (in bytes) and Time (in us).

Note:
Any parameter not within a valid range will leave the corresponding supportedMax value unchanged.
Corresponding Events:
hciEvt_CmdComplete_t with cmdOpcode HCI_EXT_SET_MAX_DATA_LENGTH
Parameters
txOctets- Value of maximum supported Tx octets (in bytes).
txTime- Value of maximum supported Tx time (in us).
rxOctets- Value of maximum supported Rx octets (in bytes).
rxTime- Value of maximum supported Rx time (in us).
Returns
HCI_SUCCESS

§ HCI_EXT_SetMaxDtmTxPowerCmd()

hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd ( uint8  txPower)

Set the maximum transmit output power for DTM.

This command is used to override the RF transmitter output power used by the Direct Test Mode (DTM). Normally, the maximum transmitter output power setting used by DTM is the maximum transmitter output power setting for the device (i.e. 4 dBm for the CC2540; 0 dBm for the CC2541; 5 dBm for the CC264x). This command will change the value used by DTM.

Note
When DTM is ended by a call to HCI_LE_TestEndCmd, or a HCI_ResetCmd is used, the transmitter output power setting is restored to the default value of HCI_EXT_TX_POWER_0_DBM
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_MAX_DTM_TX_POWER
Parameters
txPower- TX Power
Returns
HCI_SUCCESS

§ HCI_EXT_SetRxGainCmd()

hciStatus_t HCI_EXT_SetRxGainCmd ( uint8  rxGain)

Set the receiver gain.

The default system value for this feature is HCI_EXT_RX_GAIN_STD

Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_RX_GAIN
Parameters
rxGain- RX Gain
Returns
HCI_SUCCESS

§ HCI_EXT_SetSCACmd()

hciStatus_t HCI_EXT_SetSCACmd ( uint16  scaInPPM)

Set this device's Sleep Clock Accuracy.

For a slave device, this value is directly used, but only if power management is enabled. For a master device, this value is converted into one of eight ordinal values representing a SCA range, as specified in the BT Spec. For a Slave device, the value is directly used. The system default value for a Master and Slave device is 50ppm and 40ppm, respectively

Note
This command is only allowed when the device is not in a connection.
The device's SCA value remains unaffected by a HCI_ResetCmd
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_SCA
Parameters
scaInPPM- A SCA value in PPM from 0..500.
Returns
HCI_SUCCESS

§ HCI_EXT_SetTxPowerCmd()

hciStatus_t HCI_EXT_SetTxPowerCmd ( uint8  txPower)

Set the transmit power.

The default system value for this feature is HCI_EXT_TX_POWER_0_DBM

Note
For the CC254x platform, a setting of 4dBm is only allowed for the CC2540.
Corresponding Events
hciEvt_VSCmdComplete_t with cmdOpcode HCI_EXT_SET_TX_POWER
Parameters
txPower- TX Power
Returns
HCI_SUCCESS

§ HCI_ExtTaskRegister()

void HCI_ExtTaskRegister ( uint8  taskID)

HCI vendor specific registration for Host extended commands.

Parameters
taskID- The Host Extended Command OSAL task identifier.

§ HCI_GAPTaskRegister()

void HCI_GAPTaskRegister ( uint8  taskID)

HCI vendor specific registration for Host GAP.

Parameters
taskID- The Host GAP OSAL task identifier.

§ HCI_HostNumCompletedPktCmd()

hciStatus_t HCI_HostNumCompletedPktCmd ( uint8  numHandles,
uint16 *  connHandles,
uint16 *  numCompletedPkts 
)

Set the number of HCI daata packets completed per connection handle.

Used by the Host to notify the Controller of the number of HCI data packets that have been completed for each connection handle since this command was previously sent to the controller.

The Host_Number_Of_Conpleted_Packets command is a special command. No event is normally generated after the command has completed. The command should only be issued by the Host if flow control in the direction from controller to the host is on and there is at least one connection, or if the controller is in local loopback mode.

Note
It is assumed that there will be at most only one handle. Even if more than one handle is provided, the Controller does not track Host buffers as a function of connection handles (and isn't required to do so).
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_HOST_NUM_COMPLETED_PACKETS (if HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS is returned)
Parameters
numHandles- Number of connection handles.
connHandles- Array of connection handles.
numCompletedPkts- Array of number of completed packets.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS

§ HCI_L2CAPTaskRegister()

void HCI_L2CAPTaskRegister ( uint8  taskID)

HCI vendor specific registration for Host L2CAP.

Parameters
taskID- The Host L2CAP OSAL task identifier.

§ HCI_LE_AddDeviceToResolvingListCmd()

hciStatus_t HCI_LE_AddDeviceToResolvingListCmd ( uint8  peerIdAddrType,
uint8 *  peerIdAddr,
uint8 *  peerIRK,
uint8 *  localIRK 
)

Add a device to the resolving list.

Add one device to the list of address translations used to resolve Resolvable Private Addresses in the Controller.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST
Parameters
peerIdAddrType- Device Address Type
peerIdAddr- Peer device Identity Address.
peerIRK- IRK of peer device.
localIRK- IRK for own device.
Returns
HCI_SUCCESS

§ HCI_LE_AddWhiteListCmd()

hciStatus_t HCI_LE_AddWhiteListCmd ( uint8  addrType,
uint8 *  devAddr 
)

Add a white list entry.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_ADD_WHITE_LIST
Parameters
addrType- Device Address Type
devAddr- Pointer to address of device to put in white list.
Returns
HCI_SUCCESS

§ HCI_LE_ClearResolvingListCmd()

hciStatus_t HCI_LE_ClearResolvingListCmd ( void  )

Remove all devices from the whitelist.

Remove all devices from the list of address translations used to resolve Resolvable Private addresses in the Controller.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_CLEAR_RESOLVING_LIST
Returns
HCI_SUCCESS

§ HCI_LE_ClearWhiteListCmd()

hciStatus_t HCI_LE_ClearWhiteListCmd ( void  )

Clear the white list.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_CLEAR_WHITE_LIST
Returns
HCI_SUCCESS

§ HCI_LE_ConnUpdateCmd()

hciStatus_t HCI_LE_ConnUpdateCmd ( uint16  connHandle,
uint16  connIntervalMin,
uint16  connIntervalMax,
uint16  connLatency,
uint16  connTimeout,
uint16  minLen,
uint16  maxLen 
)

Update the connection parameters.

Corresponding Events
hciEvt_CommandStatus_t with cmdOpcode HCI_LE_CONNECTION_UPDATE
hciEvt_BLEConnUpdateComplete_t
Parameters
connHandle- Connection handle.
connIntervalMin- Minimum allowed connection interval.
connIntervalMax- Maximum allowed connection interval.
connLatency- Number of skipped events (slave latency).
connTimeout- Connection supervision timeout.
minLen- Info parameter about min length of conn.
maxLen- Info parameter about max length of conn.
Returns
HCI_SUCCESS

§ HCI_LE_CreateConnCancelCmd()

hciStatus_t HCI_LE_CreateConnCancelCmd ( void  )

Cancel connection.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_CREATE_CONNECTION_CANCEL
Returns
HCI_SUCCESS

§ HCI_LE_CreateConnCmd()

hciStatus_t HCI_LE_CreateConnCmd ( uint16  scanInterval,
uint16  scanWindow,
uint8  initFilterPolicy,
uint8  addrTypePeer,
uint8 *  peerAddr,
uint8  ownAddrType,
uint16  connIntervalMin,
uint16  connIntervalMax,
uint16  connLatency,
uint16  connTimeout,
uint16  minLen,
uint16  maxLen 
)

Create a connection.

Note
When the scanWindow equals the scanInterval then scanning is continuous.
Corresponding Events
hciEvt_CommandStatus_t with cmdOpcode HCI_LE_CREATE_CONNECTION
hciEvt_BLEConnComplete_u
Parameters
scanInterval- Time between Init scan events.
scanWindow- Time of scan before Init scan event ends.
initFilterPolicy- Initiator White List Policy
addrTypePeer- Device Address Type
peerAddr- Pointer to peer device's address.
ownAddrType- Device Address Type
connIntervalMin- Minimum allowed connection interval.
connIntervalMax- Maximum allowed connection interval.
connLatency- Number of skipped events (slave latency).
connTimeout- Connection supervision timeout.
minLen- Info parameter about min length of conn.
maxLen- Info parameter about max length of conn.
Returns
HCI_SUCCESS

§ HCI_LE_EncryptCmd()

hciStatus_t HCI_LE_EncryptCmd ( uint8 *  key,
uint8 *  plainText 
)

Perform an encryption using AES128.

Note
Input parameters are ordered MSB..LSB.
If a task has registered with HCI with HCI_SMPTaskRegister to receive security events, the hciEvt_CmdComplete_t events resulting from this operation will be sent to it instead of the task that registered with GAP_RegisterForMsgs. This is the case for all of the sample applications. In this case, the event will then be forwarded to the application as a HCI_SMP_EVENT_EVENT stack message.
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_ENCRYPT
Parameters
key- Pointer to 16 byte encryption key.
plainText- Pointer to 16 byte plaintext data.
Returns
HCI_SUCCESS

§ HCI_LE_GenerateDHKeyCmd()

hciStatus_t HCI_LE_GenerateDHKeyCmd ( uint8 *  publicKey)

Generate Diffie-Hellman Key.

This LE API is used to initiate the generation of a Diffie- Hellman key in the Controller for use over the LE transport. This command takes the remote P-256 public key as input. The Diffie-Hellman key generation uses the private key generated by LE_Read_Local_P256_Public_Key command.

Warning
This routine will tie up the LL for about 160 ms
Corresponding Events
hciEvt_CommandStatus_t with cmdOpcode HCI_LE_GENERATE_DHKEY
hciEvt_BLEGenDHKeyComplete_t
Parameters
publicKeyThe remote P-256 public key (X-Y format).
Returns
HCI_SUCCESS

§ HCI_LE_LtkReqNegReplyCmd()

hciStatus_t HCI_LE_LtkReqNegReplyCmd ( uint16  connHandle)

Send a negative LTK reply to the Controller.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_LTK_REQ_NEG_REPLY
Parameters
connHandle- Connection handle.
Returns
HCI_SUCCESS

§ HCI_LE_LtkReqReplyCmd()

hciStatus_t HCI_LE_LtkReqReplyCmd ( uint16  connHandle,
uint8 *  ltk 
)

Send a positive LTK reply to the controller.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_LTK_REQ_REPLY
Parameters
connHandle- Connection handle.
ltk- Pointer to 16 byte Long Term Key.
Returns
HCI_SUCCESS

§ HCI_LE_RandCmd()

hciStatus_t HCI_LE_RandCmd ( void  )

Generate a random number.

The random number generation will not complete until any current radio operations end. If this is the case, the "status" of the pReturnParam of the initial hciEvt_CmdComplete_t will be set to LL_STATUS_ERROR_DUE_TO_DELAYED_RESOURCES (0x12). Another hciEvt_CmdComplete_t will be sent after the radio operations end that contains the random number.

Note
If a task has registered with HCI with HCI_SMPTaskRegister to receive security events, the hciEvt_CmdComplete_t events resulting from this operation will be sent to it instead of the task that registered with GAP_RegisterForMsgs. This is the case for all of the sample applications. In this case, the event will then be forwarded to the application as a HCI_SMP_EVENT_EVENT stack message.
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_RAND
Note
Returns
HCI_SUCCESS

§ HCI_LE_ReadAdvChanTxPowerCmd()

hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd ( void  )

Read transmit power when Advertising.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_ADV_CHANNEL_TX_POWER
Returns
HCI_SUCCESS

§ HCI_LE_ReadBufSizeCmd()

hciStatus_t HCI_LE_ReadBufSizeCmd ( void  )

Determine the maximum ACL data packet size allowed by the Controller.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_BUFFER_SIZE
Returns
HCI_SUCCESS

§ HCI_LE_ReadChannelMapCmd()

hciStatus_t HCI_LE_ReadChannelMapCmd ( uint16  connHandle)

Read a connection's data channel map.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
Parameters
connHandle- Connection handle.
Returns
HCI_SUCCESS

§ HCI_LE_ReadLocalP256PublicKeyCmd()

hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd ( void  )

Read local P-256 Public Key.

Read the local P-256 public key from the Controller. The Controller shall generate a new P-256 public/ private key pair upon receipt of this command.

Warning
This routine will tie up the LL for about 160 ms
Corresponding Events
hciEvt_CommandStatus_t with cmdOpcode HCI_LE_READ_LOCAL_P256_PUBLIC_KEY
hciEvt_BLEReadP256PublicKeyComplete_t
Returns
HCI_SUCCESS

§ HCI_LE_ReadLocalResolvableAddressCmd()

hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd ( uint8  localIdAddrType,
uint8 *  localIdAddr 
)

Read Local Resolvable Private Address.

Get the current local Resolvable Private Address being used for the corresponding local Public or Random (Static) Identity Address.

Warning
The local Resolvable Private Address being used may change after this command is called.
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS
Parameters
localIdAddrType- Device Address Type
localIdAddr- Local device Identity Address.
Returns
HCI_SUCCESS

§ HCI_LE_ReadLocalSupportedFeaturesCmd()

hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd ( void  )

Read the LE locally supported features.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
Returns
HCI_SUCCESS

§ HCI_LE_ReadMaxDataLenCmd()

hciStatus_t HCI_LE_ReadMaxDataLenCmd ( void  )

Read max data length.

Read the maximum supported transmit and receive payload octets and packet duration times.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_MAX_DATA_LENGTH
Returns
HCI_SUCCESS

§ HCI_LE_ReadPeerResolvableAddressCmd()

hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd ( uint8  peerIdAddrType,
uint8 *  peerIdAddr 
)

Read the Peer Resolvable Address.

Get the current peer Resolvable Private Address being used for the corresponding peer Public or Random (Static) Identity Address.

Warning
The peer's Resolvable Private Address being used may change after this command is called.
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_PEER_RESOLVABLE_ADDRESS
Parameters
peerIdAddrType- Device Address Type
peerIdAddr- Peer device Identity Address.
Returns
HCI_SUCCESS

§ HCI_LE_ReadRemoteUsedFeaturesCmd()

hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd ( uint16  connHandle)

Read the remote device's used features.

Corresponding Events
hciEvt_CommandStatus_t with cmdOpcode HCI_LE_READ_REMOTE_USED_FEATURES
hciEvt_BLEReadRemoteFeatureComplete_t
Parameters
connHandle- Connection handle.
Returns
HCI_SUCCESS

§ HCI_LE_ReadResolvingListSizeCmd()

hciStatus_t HCI_LE_ReadResolvingListSizeCmd ( void  )

Read Resolving List Size.

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

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_RESOLVING_LIST_SIZE
Returns
HCI_SUCCESS

§ HCI_LE_ReadSuggestedDefaultDataLenCmd()

hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd ( void  )

Read Suggested Default Data Length.

Read the default maximum trasmit packet size and the default maximum packet transmit time to be used for new connections.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH
Returns
HCI_SUCCESS

§ HCI_LE_ReadSupportedStatesCmd()

hciStatus_t HCI_LE_ReadSupportedStatesCmd ( void  )

TRead the Controller's supported states.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_SUPPORTED_STATES
Returns
HCI_SUCCESS

§ HCI_LE_ReadWhiteListSizeCmd()

hciStatus_t HCI_LE_ReadWhiteListSizeCmd ( void  )

Read the white list.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_READ_WHITE_LIST_SIZE
Returns
HCI_SUCCESS

§ HCI_LE_ReceiverTestCmd()

hciStatus_t HCI_LE_ReceiverTestCmd ( uint8  rxChan)

Start the receiver Direct Test Mode test.

Note
An HCI reset should be issued when done using DTM
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_RECEIVER_TEST
Parameters
rxChan- Rx Channel k=0..39, where F=2402+(k*2MHz).
Returns
HCI_SUCCESS

§ HCI_LE_RemoteConnParamReqNegReplyCmd()

hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd ( uint16  connHandle,
uint8  reason 
)

Negatively reply to the Conneciton Parameter Update Request.

This LE API is used to negatively reply to the HCI LE Remote Connection Parameter Request event from the Controller. This command indicates that the Host has denied the remote device's request to change connection parameters.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_REMOTE_CONN_PARAM_REQ_NEG_REPLY
Parameters
connHandle- Connection handle.
reason- Reason connection parameter request was rejected.
Returns
HCI_SUCCESS

§ HCI_LE_RemoteConnParamReqReplyCmd()

hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd ( uint16  connHandle,
uint16  connIntervalMin,
uint16  connIntervalMax,
uint16  connLatency,
uint16  connTimeout,
uint16  minLen,
uint16  maxLen 
)

Positively reply to the Conneciton Parameter Update Request.

This LE API is used to positively reply to the HCI LE Remote Connection Parameter Request event from the Controller. This command indicates that the Host has accepted the remote device's request to change connection parameters.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_REMOTE_CONN_PARAM_REQ_REPLY
Parameters
connHandle- Connection handle.
connIntervalMin- Minimum allowed connection interval.
connIntervalMax- Maximum allowed connection interval.
connLatency- Number of skipped events (slave latency).
connTimeout- Connection supervision timeout.
minLen- Info parameter about min length of conn.
maxLen- Info parameter about max length of conn.
Returns
HCI_SUCCESS

§ HCI_LE_RemoveDeviceFromResolvingListCmd()

hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd ( uint8  peerIdAddrType,
uint8 *  peerIdAddr 
)

Remove a device from the whitelist.

Remove one device fromthe list of address translations used to resolve Resolvable Private Addresses in the Controller.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST
Parameters
peerIdAddrType- Device Address Type
peerIdAddr- Peer device Identity Address.
Returns
HCI_SUCCESS

§ HCI_LE_RemoveWhiteListCmd()

hciStatus_t HCI_LE_RemoveWhiteListCmd ( uint8  addrType,
uint8 *  devAddr 
)

Remove a white list entry.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_REMOVE_WHITE_LIST
Parameters
addrType- Device Address Type
devAddr- Pointer to address of device to remove from the white list.
Returns
HCI_SUCCESS

§ HCI_LE_SetAddressResolutionEnableCmd()

hciStatus_t HCI_LE_SetAddressResolutionEnableCmd ( uint8  addrResolutionEnable)

Disable / Enable Address Resolution.

Enable resolution of Resolvable Private Addresses in the Controller. This causes the Controller to use the resolving list whenever the Controller receives a local or peer Resolvable Private Address.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE
Parameters
addrResolutionEnable- Privacy 1.2
Returns
HCI_SUCCESS

§ HCI_LE_SetAdvDataCmd()

hciStatus_t HCI_LE_SetAdvDataCmd ( uint8  dataLen,
uint8 *  pData 
)

Set the Advertising data.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_ADV_DATA
Parameters
dataLen- Length of Advertising data.
pData- Pointer to Advertising data.
Returns
HCI_SUCCESS

§ HCI_LE_SetAdvEnableCmd()

hciStatus_t HCI_LE_SetAdvEnableCmd ( uint8  advEnable)

Turn Advertising on or off.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_ADV_ENABLE
Parameters
advEnable- Advertiser Commands
Returns
HCI_SUCCESS

§ HCI_LE_SetAdvParamCmd()

hciStatus_t HCI_LE_SetAdvParamCmd ( uint16  advIntervalMin,
uint16  advIntervalMax,
uint8  advType,
uint8  ownAddrType,
uint8  directAddrType,
uint8 *  directAddr,
uint8  advChannelMap,
uint8  advFilterPolicy 
)

Set the Advertising parameters.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_ADV_PARAM
Parameters
advIntervalMin- Minimum allowed advertising interval.
advIntervalMax- Maximum allowed advertising interval.
advType- Advertiser Type
ownAddrType- Device Address Type
directAddrType- Device Address Type
directAddr- Pointer to address of device when using directed advertising.
advChannelMap- Advertiser Channels
advFilterPolicy- Advertiser White List Policy
Returns
HCI_SUCCESS

§ HCI_LE_SetDataLenCmd()

hciStatus_t HCI_LE_SetDataLenCmd ( uint16  connHandle,
uint16  txOctets,
uint16  txTime 
)

Set Data Length.

Set the maximum transmission packet size and the maximum packet transmission time for the connection.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_DATA_LENGTH
Parameters
connHandle- Connection handle.
txOctets- Maximum transmit payload size (in bytes).
txTime- Maximum transmit time (in us).
Returns
HCI_SUCCESS

§ HCI_LE_SetEventMaskCmd()

hciStatus_t HCI_LE_SetEventMaskCmd ( uint8 *  pEventMask)

Set the HCI LE event mask.

The event mask to determine which LE events are supported.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_EVENT_MASK
Parameters
pEventMask- Pointer to LE event mask of 8 bytes.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS

§ HCI_LE_SetHostChanClassificationCmd()

hciStatus_t HCI_LE_SetHostChanClassificationCmd ( uint8 *  chanMap)

Update the current data channel map.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
Parameters
chanMap- Pointer to the new channel map.
Returns
HCI_SUCCESS

§ HCI_LE_SetRandomAddressCmd()

hciStatus_t HCI_LE_SetRandomAddressCmd ( uint8 *  pRandAddr)

Set this device's Random address.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_RANDOM_ADDR
Parameters
pRandAddr- Pointer to random address.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS

§ HCI_LE_SetResolvablePrivateAddressTimeoutCmd()

hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd ( uint16  rpaTimeout)

Set Resolvable Private Address Timeout.

Set the length of time the Controller uses a Resolvable Private Address before a new Resolvable Private Address is generated and starts being used.

Note
This timeout applies to all addresses generated by the Controller..
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT
Parameters
rpaTimeout- RPA timeout (in secs).
Returns
HCI_SUCCESS

§ HCI_LE_SetScanEnableCmd()

hciStatus_t HCI_LE_SetScanEnableCmd ( uint8  scanEnable,
uint8  filterDuplicates 
)

Turn Scanning on or off.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_SCAN_ENABLE hciEvt_DevInfo_t
Parameters
scanEnable- Scan Commands
filterDuplicates- Scan Filtering
Returns
HCI_SUCCESS

§ HCI_LE_SetScanParamCmd()

hciStatus_t HCI_LE_SetScanParamCmd ( uint8  scanType,
uint16  scanInterval,
uint16  scanWindow,
uint8  ownAddrType,
uint8  filterPolicy 
)

Set the Scan parameters.

Note
When the scanWindow equals the scanInterval then scanning is continuous.
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_SCAN_PARAM
Parameters
scanType- Scan Types
scanInterval- Time between scan events.
scanWindow- Time of scan before scan event ends.
ownAddrType- This device's address.
filterPolicy- Scan Types
Returns
HCI_SUCCESS

§ HCI_LE_SetScanRspDataCmd()

hciStatus_t HCI_LE_SetScanRspDataCmd ( uint8  dataLen,
uint8 *  pData 
)

Set the Advertising Scan Response data.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_SET_SCAN_RSP_DATA
Parameters
dataLen- Length of Scan Response data.
pData- Pointer to Scan Response data.
Returns
HCI_SUCCESS

§ HCI_LE_StartEncyptCmd()

hciStatus_t HCI_LE_StartEncyptCmd ( uint16  connHandle,
uint8 *  random,
uint8 *  encDiv,
uint8 *  ltk 
)

Start encryption in a connection.

Corresponding Events
hciEvt_CommandStatus_t with cmdOpcode HCI_LE_START_ENCRYPTION
hciEvt_EncryptChange_t
hciEvt_EncryptChange_t
Parameters
connHandle- Connection handle.
random- Pointer to eight byte Random number.
encDiv- Pointer to two byte Encrypted Diversifier.
ltk- Pointer to 16 byte Long Term Key.
Returns
HCI_SUCCESS

§ HCI_LE_TestEndCmd()

hciStatus_t HCI_LE_TestEndCmd ( void  )

End the Direct Test Mode test.

Note
An HCI reset should be issued when done using DTM!
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_TEST_END
Returns
HCI_SUCCESS

§ HCI_LE_TransmitterTestCmd()

hciStatus_t HCI_LE_TransmitterTestCmd ( uint8  txChan,
uint8  dataLen,
uint8  pktPayload 
)

This LE API is used to start the transmit Direct Test Mode test.

Note
The BLE device is to transmit at maximum power.
A HCI reset should be issued when done using DTM.
Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_TRANSMITTER_TEST
Parameters
txChan- Tx RF frequency k=0..39, where F=2402+(k*2MHz).
dataLen- Test data length: 0..37 bytes
pktPayload- Direct Test Mode
Returns
HCI_SUCCESS

§ HCI_LE_WriteSuggestedDefaultDataLenCmd()

hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd ( uint16  txOctets,
uint16  txTime 
)

Write Suggested Default Data Length.

Set the default maximum transmission packet size and the default maximum packet transmission time for the connection.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH
Parameters
txOctets- Maximum transmit payload size (in bytes).
txTime- Maximum transmit time (in us).
Returns
HCI_SUCCESS

§ HCI_ReadAuthPayloadTimeoutCmd()

hciStatus_t HCI_ReadAuthPayloadTimeoutCmd ( uint16  connHandle,
uint16 *  aptoValue 
)

Read the connection's Authenticated Payload Timeout value.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_AUTH_PAYLOAD_TIMEOUT
Parameters
connHandle- The LL connection ID to read the APTO value from.
aptoValue- Pointer to current APTO value, in units of 10ms.
Returns
HCI_SUCCESS

§ HCI_ReadBDADDRCmd()

hciStatus_t HCI_ReadBDADDRCmd ( void  )

Read this device's BLE address (BDADDR).

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_BDADDR
Returns
HCI_SUCCESS

§ HCI_ReadLocalSupportedCommandsCmd()

hciStatus_t HCI_ReadLocalSupportedCommandsCmd ( void  )

Read the locally supported commands.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_LOCAL_SUPPORTED_COMMANDS
Returns
HCI_SUCCESS

§ HCI_ReadLocalSupportedFeaturesCmd()

hciStatus_t HCI_ReadLocalSupportedFeaturesCmd ( void  )

Read the locally supported features.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_LOCAL_SUPPORTED_FEATURES
Returns
HCI_SUCCESS

§ HCI_ReadLocalVersionInfoCmd()

hciStatus_t HCI_ReadLocalVersionInfoCmd ( void  )

Read the local version information.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_LOCAL_VERSION_INFO
Returns
HCI_SUCCESS

§ HCI_ReadRemoteVersionInfoCmd()

hciStatus_t HCI_ReadRemoteVersionInfoCmd ( uint16  connHandle)

Request version information from the remote device in a connection.

Corresponding Events
hciEvt_CommandStatus_t with cmdOpcode HCI_READ_REMOTE_VERSION_INFO
hciPacket_t with HCI_READ_REMOTE_INFO_COMPLETE_EVENT_CODE (if HCI_SUCCESS is returned)
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_REMOTE_VERSION_INFO (if HCI_SUCCESS is not returned)
Parameters
connHandle- Connection handle.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_UNKNOWN_CONN_ID : no active connection
HCI_ERROR_CODE_CONTROLLER_BUSY : version request already sent and is pending

§ HCI_ReadRssiCmd()

hciStatus_t HCI_ReadRssiCmd ( uint16  connHandle)

Read RSSI of last packet.

Read the RSSI of the last packet received on a connection given by the connection handle. If the Receiver Modem test is running (HCI_EXT_ModemTestRxCmd ), then the RF RSSI for the last received data will be returned. If there is no RSSI value, then HCI_RSSI_NOT_AVAILABLE will be returned.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_RSSI
Parameters
connHandle- Connection handle.
Returns
HCI_SUCCESS

§ HCI_ReadTransmitPowerLevelCmd()

hciStatus_t HCI_ReadTransmitPowerLevelCmd ( uint16  connHandle,
uint8  txPwrType 
)

Read the transmit power level.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_READ_TRANSMIT_POWER
Parameters
connHandle- Connection handle.
txPwrType- ref TX_Power_Mode
Returns
HCI_SUCCESS

§ HCI_ResetCmd()

hciStatus_t HCI_ResetCmd ( void  )

Reset the Link Layer.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_RESET
Returns
HCI_SUCCESS

§ HCI_SendDataPkt()

hciStatus_t HCI_SendDataPkt ( uint16  connHandle,
uint8  pbFlag,
uint16  pktLen,
uint8 *  pData 
)

Send an ACL data packet over a connection.

Note
Empty packets are not sent.
Warning
L2CAP is affected by this routine's status values as it must remap them to Host status values. If any additional status values are added and/or changed in this routine, a TI stack engineer must be notified!
Corresponding Events
hciEvt_NumCompletedPkt_t
Parameters
connHandle- Connection ID (handle).
pbFlag- Packet Boundary Flag.
pktLen- Number of bytes of data to transmit.
*pData- Pointer to data buffer to transmit.
Returns
HCI_ERROR_CODE_CONTROLLER_BUSY
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS
HCI_SUCCESS : the data was transmitted and freed, or it is still in use (i.e. queued).
other value: data transmission failed

§ HCI_SetEventMaskCmd()

hciStatus_t HCI_SetEventMaskCmd ( uint8 *  pMask)

Set the HCI event mask.

The event mask is used to determine which events are supported.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_SET_EVENT_MASK
Parameters
pMask- Pointer to an eight byte event mask.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS : bad parameters

§ HCI_SetEventMaskPage2Cmd()

hciStatus_t HCI_SetEventMaskPage2Cmd ( uint8 *  pMask)

Set the HCI event mask page 2.

The HCI Event mask page 2 is used to determine which events are supported.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_SET_EVENT_MASK_PAGE_2
Parameters
pMask- Pointer to an eight byte event mask.
Returns
HCI_SUCCESS
HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS : bad parameters

§ HCI_SMPTaskRegister()

void HCI_SMPTaskRegister ( uint8  taskID)

HCI vendor specific registration for Host SMP.

Parameters
taskID- The Host SMP OSAL task identifier.

§ HCI_TestAppTaskRegister()

void HCI_TestAppTaskRegister ( uint8  taskID)

HCI vendor specific registration for HCI Test Application.

Parameters
taskID- The HCI Test Application OSAL task identifier.

§ HCI_ValidConnTimeParams()

uint8 HCI_ValidConnTimeParams ( uint16  connIntervalMin,
uint16  connIntervalMax,
uint16  connLatency,
uint16  connTimeout 
)

Checks that the connection time parameter ranges are valid.

Also checks if the min/max CI range is valid.

Parameters
connIntervalMin- Minimum connection interval.
connIntervalMax- Maximum connection interval.
connLatency- Connection slave latency.
connTimeout- Connection supervision timeout.
Returns
TRUE: Connection time parameter check is valid.
FALSE: Connection time parameter check is invalid.

§ HCI_WriteAuthPayloadTimeoutCmd()

hciStatus_t HCI_WriteAuthPayloadTimeoutCmd ( uint16  connHandle,
uint16  aptoValue 
)

Used to write the connection's Authenticated Payload Timeout value.

Corresponding Events
hciEvt_CmdComplete_t with cmdOpcode HCI_WRITE_AUTH_PAYLOAD_TIMEOUT
Parameters
connHandle- The LL connection ID to write the APTO value to.
aptoValue- The APTO value, in units of 10ms.
Returns
HCI_SUCCESS
Copyright 2017, Texas Instruments Incorporated