TI BLE Stack API Documentation  2.03.09
Classes | Macros | Typedefs | Functions
hci.h File Reference

HCI layer interface. More...

#include "bcomdef.h"
#include "osal.h"
#include "ll.h"
#include "hal_assert.h"

Go to the source code of this file.

Classes

struct  hciEvt_BLEConnComplete_t
 LE Connection Complete Event. More...
 
struct  hciEvt_BLEEnhConnComplete_t
 LE Enhanced Connection Complete Event. More...
 
union  _hciEvt_BLEConnComplete_u_
 LE Connection Complete Event. More...
 
struct  hciEvt_DevInfo_t
 LE Advertising Report Event. More...
 
struct  hciEvt_BLEAdvPktReport_t
 LE Advertising Packet Report Event. More...
 
struct  hciEvt_BLEScanReqReport_t
 VS LE Scan Request Report Event. More...
 
struct  hciEvt_BLEConnUpdateComplete_t
 LE Connection Update Complete Event. More...
 
struct  hciEvt_BLEReadRemoteFeatureComplete_t
 LE Read Remote Used Features Complete Event. More...
 
struct  hciEvt_EncryptChange_t
 LE Encryption Change Event. More...
 
struct  hciEvt_BLELTKReq_t
 LE Long Term Key Requested Event. More...
 
struct  hciEvt_NumCompletedPkt_t
 Number of Completed Packets Event. More...
 
struct  hciEvt_CmdComplete_t
 Command Complete Event. More...
 
struct  hciEvt_VSCmdComplete_t
 Vendor Specific Command Complete Event. More...
 
struct  hciEvt_CommandStatus_t
 Command Status Event. More...
 
struct  hciEvt_HardwareError_t
 Hardware Error Event. More...
 
struct  hciEvt_DisconnComplete_t
 Disconnection Complete Event. More...
 
struct  hciEvt_BufferOverflow_t
 Data Buffer Overflow Event. More...
 
struct  hciEvt_AptoExpired_t
 Authenticated Payload Timeout Expired Event. More...
 
struct  hciEvt_BLERemoteConnParamReq_t
 LE Remote Connection Parameter Request Event. More...
 
struct  hciEvt_BLEPhyUpdateComplete_t
 LE Phy Update Complete Event. More...
 
struct  hciEvt_BLEDataLengthChange_t
 LE Data Length Change Event. More...
 
struct  hciEvt_BLEReadP256PublicKeyComplete_t
 LE Read P256 Public Key Complete Event. More...
 
struct  hciEvt_BLEGenDHKeyComplete_t
 LE Generate DHKey Complete Event. More...
 
struct  hciRetParam_LeReadBufSize_t
 Data structure for HCI Command Complete Event Return Parameter. More...
 
struct  hciPacket_t
 HCI Packet event. More...
 
struct  hciDataPacket_t
 HCI Data Packet. More...
 
struct  hciConnInfo_t
 
struct  hciPER_t
 

Macros

#define HCI_SUCCESS   0x00
 Success.
 
#define HCI_ERROR_CODE_UNKNOWN_HCI_CMD   0x01
 Unknown HCI Command.
 
#define HCI_ERROR_CODE_UNKNOWN_CONN_ID   0x02
 Unknown Connection ID.
 
#define HCI_ERROR_CODE_HW_FAILURE   0x03
 Hardware Failure.
 
#define HCI_ERROR_CODE_PAGE_TIMEOUT   0x04
 Page Timeout.
 
#define HCI_ERROR_CODE_AUTH_FAILURE   0x05
 Authentication Fialure.
 
#define HCI_ERROR_CODE_PIN_KEY_MISSING   0x06
 Pin Key Missing.
 
#define HCI_ERROR_CODE_MEM_CAP_EXCEEDED   0x07
 Memory Capability Exceeded.
 
#define HCI_ERROR_CODE_CONN_TIMEOUT   0x08
 Connection Timeout.
 
#define HCI_ERROR_CODE_CONN_LIMIT_EXCEEDED   0x09
 Connection Limit Exceeded.
 
#define HCI_ERROR_CODE_SYNCH_CONN_LIMIT_EXCEEDED   0x0A
 Synchonous Connection Limit Exceeded.
 
#define HCI_ERROR_CODE_ACL_CONN_ALREADY_EXISTS   0x0B
 ACL Connection Already Exists.
 
#define HCI_ERROR_CODE_CMD_DISALLOWED   0x0C
 Command Disallowed.
 
#define HCI_ERROR_CODE_CONN_REJ_LIMITED_RESOURCES   0x0D
 Connection Rejected due to Limited Resources.
 
#define HCI_ERROR_CODE_CONN_REJECTED_SECURITY_REASONS   0x0E
 Connection Rejected for Security Reasons.
 
#define HCI_ERROR_CODE_CONN_REJECTED_UNACCEPTABLE_BDADDR   0x0F
 Connection Rejected due to Unacceptable BDADDR.
 
#define HCI_ERROR_CODE_CONN_ACCEPT_TIMEOUT_EXCEEDED   0x10
 Connection Acceptance Timeout Exceeded.
 
#define HCI_ERROR_CODE_UNSUPPORTED_FEATURE_PARAM_VALUE   0x11
 Unsupported Paramter.
 
#define HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS   0x12
 Invalid HCI Command Parameters.
 
#define HCI_ERROR_CODE_REMOTE_USER_TERM_CONN   0x13
 Remote User Terminated Connection.
 
#define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES   0x14
 Remote Device Terminated Connection due to Low Resources.
 
#define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF   0x15
 Remote Device Terminated Connection due to Power Off.
 
#define HCI_ERROR_CODE_CONN_TERM_BY_LOCAL_HOST   0x16
 Connection Terminated by Local Host.
 
#define HCI_ERROR_CODE_REPEATED_ATTEMPTS   0x17
 Repeated Attempts.
 
#define HCI_ERROR_CODE_PAIRING_NOT_ALLOWED   0x18
 Pairing Not Allowed.
 
#define HCI_ERROR_CODE_UNKNOWN_LMP_PDU   0x19
 Unknown LMP PDU.
 
#define HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE   0x1A
 Unsupported Remote Feature.
 
#define HCI_ERROR_CODE_SCO_OFFSET_REJ   0x1B
 SCO Offset Rejected.
 
#define HCI_ERROR_CODE_SCO_INTERVAL_REJ   0x1C
 SCO Interval Rejected.
 
#define HCI_ERROR_CODE_SCO_AIR_MODE_REJ   0x1D
 SCO Air Mode Rejected.
 
#define HCI_ERROR_CODE_INVALID_LMP_PARAMS   0x1E
 Invalid LMP Paramaters.
 
#define HCI_ERROR_CODE_UNSPECIFIED_ERROR   0x1F
 Unspecified Error.
 
#define HCI_ERROR_CODE_UNSUPPORTED_LMP_PARAM_VAL   0x20
 Unsupported LMP Parameter Value.
 
#define HCI_ERROR_CODE_ROLE_CHANGE_NOT_ALLOWED   0x21
 Role Change Not Allowed.
 
#define HCI_ERROR_CODE_LMP_LL_RESP_TIMEOUT   0x22
 LMP LL Response Timeout.
 
#define HCI_ERROR_CODE_LMP_ERR_TRANSACTION_COLLISION   0x23
 LMP Error Transaction Collision.
 
#define HCI_ERROR_CODE_LMP_PDU_NOT_ALLOWED   0x24
 LMP DU Not Allowed.
 
#define HCI_ERROR_CODE_ENCRYPT_MODE_NOT_ACCEPTABLE   0x25
 Encrypt Mode not Acceptable.
 
#define HCI_ERROR_CODE_LINK_KEY_CAN_NOT_BE_CHANGED   0x26
 Link Key Can Not Be Changed.
 
#define HCI_ERROR_CODE_REQ_QOS_NOT_SUPPORTED   0x27
 Request QOS Not Supported.
 
#define HCI_ERROR_CODE_INSTANT_PASSED   0x28
 Instant Passed.
 
#define HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED   0x29
 Pairing with Unit Key Not Supported.
 
#define HCI_ERROR_CODE_DIFFERENT_TRANSACTION_COLLISION   0x2A
 Different Transaction Collision.
 
#define HCI_ERROR_CODE_RESERVED1   0x2B
 Reserved.
 
#define HCI_ERROR_CODE_QOS_UNACCEPTABLE_PARAM   0x2C
 QOS Unacceptable Parameter.
 
#define HCI_ERROR_CODE_QOS_REJ   0x2D
 QOS Reject.
 
#define HCI_ERROR_CODE_CHAN_ASSESSMENT_NOT_SUPPORTED   0x2E
 Channel Assessment Not Supported.
 
#define HCI_ERROR_CODE_INSUFFICIENT_SECURITY   0x2F
 Insufficient Security.
 
#define HCI_ERROR_CODE_PARAM_OUT_OF_MANDATORY_RANGE   0x30
 Paramater out of Mandatory Range.
 
#define HCI_ERROR_CODE_RESERVED2   0x31
 Reserved.
 
#define HCI_ERROR_CODE_ROLE_SWITCH_PENDING   0x32
 Role Switch Pending.
 
#define HCI_ERROR_CODE_RESERVED3   0x33
 Reserved.
 
#define HCI_ERROR_CODE_RESERVED_SLOT_VIOLATION   0x34
 Reserved Slot Violation.
 
#define HCI_ERROR_CODE_ROLE_SWITCH_FAILED   0x35
 Role Switch Failed.
 
#define HCI_ERROR_CODE_EXTENDED_INQUIRY_RESP_TOO_LARGE   0x36
 Extended Inquiry Response too Large.
 
#define HCI_ERROR_CODE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST   0x37
 Simple Pairing Not Supported by Host.
 
#define HCI_ERROR_CODE_HOST_BUSY_PAIRING   0x38
 Host Busy Pairing.
 
#define HCI_ERROR_CODE_CONN_REJ_NO_SUITABLE_CHAN_FOUND   0x39
 Connection Rejected No Suitable Channel Found.
 
#define HCI_ERROR_CODE_CONTROLLER_BUSY   0x3A
 Controller Busy.
 
#define HCI_ERROR_CODE_UNACCEPTABLE_CONN_PARAMETERS   0x3B
 Unacceptable Connection Parameters.
 
#define HCI_ERROR_CODE_DIRECTED_ADV_TIMEOUT   0x3C
 Directed Advertising Timeout.
 
#define HCI_ERROR_CODE_CONN_TERM_MIC_FAILURE   0x3D
 Connection Terminated due to MIC Failure.
 
#define HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH   0x3E
 Connection Failued to Establish.
 
#define HCI_ERROR_CODE_MAC_CONN_FAILED   0x3F
 MAC Connection Failed.
 
#define HCI_ERROR_CODE_COARSE_CLOCK_ADJUST_REJECTED   0x40
 Coarse Clock Adjust Rejected.
 
#define HCI_MAX_NUM_CMD_BUFFERS   LL_MAX_NUM_CMD_BUFFERS
 Max Num Command Buffer.
 
#define FIRST_PKT_HOST_TO_CTRL   LL_DATA_FIRST_PKT_HOST_TO_CTRL
 First Host to Controller Packet.
 
#define CONTINUING_PKT   LL_DATA_CONTINUATION_PKT
 Continuing Packet.
 
#define FIRST_PKT_CTRL_TO_HOST   LL_DATA_FIRST_PKT_CTRL_TO_HOST
 First Packet Controller to Host.
 
#define HCI_RSSI_NOT_AVAILABLE   LL_RSSI_NOT_AVAILABLE
 Invalid RSSI.
 
#define HCI_DISCONNECT_AUTH_FAILURE   HCI_ERROR_CODE_AUTH_FAILURE
 Authentication Failure.
 
#define HCI_DISCONNECT_REMOTE_USER_TERM   HCI_ERROR_CODE_REMOTE_USER_TERM_CONN
 Remote User Terminated.
 
#define HCI_DISCONNECT_REMOTE_DEV_LOW_RESOURCES   HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES
 Remote Device Low Resources.
 
#define HCI_DISCONNECT_REMOTE_DEV_POWER_OFF   HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF
 Remote Device Power Off.
 
#define HCI_DISCONNECT_UNSUPPORTED_REMOTE_FEATURE   HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE
 Unsupported Remote Feature.
 
#define HCI_DISCONNECT_KEY_PAIRING_NOT_SUPPORTED   HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
 Key Paring Not Supported.
 
#define HCI_DISCONNECT_UNACCEPTABLE_CONN_INTERVAL   HCI_ERROR_CODE_UNACCEPTABLE_CONN_INTERVAL
 Unnaceptable Connection Interval.
 
#define HCI_READ_CURRENT_TX_POWER_LEVEL   LL_READ_CURRENT_TX_POWER_LEVEL
 Read Current TX Power Level.
 
#define HCI_READ_MAX_TX_POWER_LEVEL   LL_READ_MAX_TX_POWER_LEVEL
 Read Max TX Power Level.
 
#define HCI_CTRL_TO_HOST_FLOW_CTRL_OFF   0
 Controller to Host Flow Controll Off.
 
#define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_OFF   1
 ACL On, Synchronous Off.
 
#define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_OFF_SYNCH_ON   2
 ACL Off, Synchronous On.
 
#define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_ON   3
 ACL On, Synchronous On.
 
#define HCI_PUBLIC_DEVICE_ADDRESS   LL_DEV_ADDR_TYPE_PUBLIC
 Public Device Address.
 
#define HCI_RANDOM_DEVICE_ADDRESS   LL_DEV_ADDR_TYPE_RANDOM
 Random Device Address.
 
#define HCI_CONNECTABLE_UNDIRECTED_ADV   LL_ADV_CONNECTABLE_UNDIRECTED_EVT
 Connectable Undirected Advertising.
 
#define HCI_CONNECTABLE_DIRECTED_HDC_ADV   LL_ADV_CONNECTABLE_DIRECTED_HDC_EVT
 Connectable Directed High Duty Cycle Advertising.
 
#define HCI_SCANNABLE_UNDIRECTED   LL_ADV_SCANNABLE_UNDIRECTED_EVT
 Scannable Undirected Advertising.
 
#define HCI_NONCONNECTABLE_UNDIRECTED_ADV   LL_ADV_NONCONNECTABLE_UNDIRECTED_EVT
 Nonconnectable Undirected Advertising.
 
#define HCI_CONNECTABLE_DIRECTED_LDC_ADV   LL_ADV_CONNECTABLE_DIRECTED_LDC_EVT
 Connectable Directed Low Duty Cycle Advertising.
 
#define HCI_ADV_CHAN_37   LL_ADV_CHAN_37
 Channel 37.
 
#define HCI_ADV_CHAN_38   LL_ADV_CHAN_38
 Channel 38.
 
#define HCI_ADV_CHAN_39   LL_ADV_CHAN_39
 Channel 39.
 
#define HCI_ADV_CHAN_ALL   (LL_ADV_CHAN_37 | LL_ADV_CHAN_38 | LL_ADV_CHAN_39)
 All Channels.
 
#define HCI_ADV_WL_POLICY_ANY_REQ   LL_ADV_WL_POLICY_ANY_REQ
 Any Request.
 
#define HCI_ADV_WL_POLICY_WL_SCAN_REQ   LL_ADV_WL_POLICY_WL_SCAN_REQ
 Scan Requests.
 
#define HCI_ADV_WL_POLICY_WL_CONNECT_REQ   LL_ADV_WL_POLICY_WL_CONNECT_REQ
 Connection Requests.
 
#define HCI_ADV_WL_POLICY_WL_ALL_REQ   LL_ADV_WL_POLICY_WL_ALL_REQ
 All Requests.
 
#define HCI_ENABLE_ADV   LL_ADV_MODE_ON
 Advertising Enable.
 
#define HCI_DISABLE_ADV   LL_ADV_MODE_OFF
 Advertising Disable.
 
#define HCI_SCAN_PASSIVE   LL_SCAN_PASSIVE
 Passive Scan.
 
#define HCI_SCAN_ACTIVE   LL_SCAN_ACTIVE
 Active Scan.
 
#define HCI_SCAN_WL_POLICY_ANY_ADV_PKTS   LL_SCAN_WL_POLICY_ANY_ADV_PKTS
 Any Advertising Packets.
 
#define HCI_SCAN_WL_POLICY_USE_WHITE_LIST   LL_SCAN_WL_POLICY_USE_WHITE_LIST
 Use Whitelist.
 
#define HCI_FILTER_REPORTS_DISABLE   LL_FILTER_REPORTS_DISABLE
 Disable.
 
#define HCI_FILTER_REPORTS_ENABLE   LL_FILTER_REPORTS_ENABLE
 Enable.
 
#define HCI_SCAN_STOP   LL_SCAN_STOP
 Scan Stop.
 
#define HCI_SCAN_START   LL_SCAN_START
 Scan Start.
 
#define HCI_INIT_WL_POLICY_USE_PEER_ADDR   LL_INIT_WL_POLICY_USE_PEER_ADDR
 Use Peer Address.
 
#define HCI_INIT_WL_POLICY_USE_WHITE_LIST   LL_INIT_WL_POLICY_USE_WHITE_LIST
 Use Whitelist.
 
#define HCI_ENCRYPTION_OFF   LL_ENCRYPTION_OFF
 Off.
 
#define HCI_ENCRYPTION_ON   LL_ENCRYPTION_ON
 On.
 
#define HCI_DIRECT_TEST_PAYLOAD_PRBS9   LL_DIRECT_TEST_PAYLOAD_PRBS9
 PRBS9.
 
#define HCI_DIRECT_TEST_PAYLOAD_0x0F   LL_DIRECT_TEST_PAYLOAD_0x0F
 0x0F
 
#define HCI_DIRECT_TEST_PAYLOAD_0x55   LL_DIRECT_TEST_PAYLOAD_0x55
 0x55
 
#define HCI_DIRECT_TEST_PAYLOAD_PRBS15   LL_DIRECT_TEST_PAYLOAD_PRBS15
 PRBS15.
 
#define HCI_DIRECT_TEST_PAYLOAD_0xFF   LL_DIRECT_TEST_PAYLOAD_0xFF
 0xFF
 
#define HCI_DIRECT_TEST_PAYLOAD_0x00   LL_DIRECT_TEST_PAYLOAD_0x00
 0x00
 
#define HCI_DIRECT_TEST_PAYLOAD_0xF0   LL_DIRECT_TEST_PAYLOAD_0xF0
 0xF0
 
#define HCI_DIRECT_TEST_PAYLOAD_0xAA   LL_DIRECT_TEST_PAYLOAD_0xAA
 0xAA
 
#define HCI_DTM_STANDARD_MODULATION_INDEX   LL_DTM_STANDARD_MODULATION_INDEX
 Standard Modulation.
 
#define HCI_DTM_STABLE_MODULATION_INDEX   LL_DTM_STABLE_MODULATION_INDEX
 Stable Modulation.
 
#define HCI_DISABLE_ADDR_RESOLUTION   LL_DISABLE_ADDR_RESOLUTION
 Disable.
 
#define HCI_ENABLE_ADDR_RESOLUTION   LL_ENABLE_ADDR_RESOLUTION
 Enable.
 
#define HCI_PHY_USE_PHY_PARAM   LL_PHY_USE_PHY_PARAM
 Use PHY specified by Phy Types.
 
#define HCI_PHY_USE_ANY_PHY   LL_PHY_USE_ANY_PHY
 Use any PHY.
 
#define HCI_PHY_1_MBPS   LL_PHY_1_MBPS
 1 Mbps
 
#define HCI_PHY_2_MBPS   LL_PHY_2_MBPS
 2 Mbps
 
#define HCI_EXT_RX_GAIN_STD   LL_EXT_RX_GAIN_STD
 Standard Gain.
 
#define HCI_EXT_RX_GAIN_HIGH   LL_EXT_RX_GAIN_HIGH
 High Gain.
 
#define HCI_EXT_TX_POWER_MINUS_23_DBM   LL_EXT_TX_POWER_MINUS_23_DBM
 -23 dBm
 
#define HCI_EXT_TX_POWER_MINUS_6_DBM   LL_EXT_TX_POWER_MINUS_6_DBM
 -6 dBm
 
#define HCI_EXT_TX_POWER_0_DBM   LL_EXT_TX_POWER_0_DBM
 0 dBm
 
#define HCI_EXT_TX_POWER_4_DBM   LL_EXT_TX_POWER_4_DBM
 4 dBm
 
#define HCI_EXT_ENABLE_ONE_PKT_PER_EVT   LL_EXT_ENABLE_ONE_PKT_PER_EVT
 Enable.
 
#define HCI_EXT_DISABLE_ONE_PKT_PER_EVT   LL_EXT_DISABLE_ONE_PKT_PER_EVT
 Disable.
 
#define HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT   LL_EXT_ENABLE_CLK_DIVIDE_ON_HALT
 Enable.
 
#define HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT   LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT
 Disable.
 
#define HCI_EXT_NV_IN_USE   LL_EXT_NV_IN_USE
 NV in Use.
 
#define HCI_EXT_NV_NOT_IN_USE   LL_EXT_NV_NOT_IN_USE
 NV Not in Use.
 
#define HCI_EXT_ENABLE_FAST_TX_RESP_TIME   LL_EXT_ENABLE_FAST_TX_RESP_TIME
 Enable.
 
#define HCI_EXT_DISABLE_FAST_TX_RESP_TIME   LL_EXT_DISABLE_FAST_TX_RESP_TIME
 Disable.
 
#define HCI_EXT_ENABLE_SL_OVERRIDE   LL_EXT_ENABLE_SL_OVERRIDE
 Enable.
 
#define HCI_EXT_DISABLE_SL_OVERRIDE   LL_EXT_DISABLE_SL_OVERRIDE
 Disable.
 
#define HCI_EXT_TX_MODULATED_CARRIER   LL_EXT_TX_MODULATED_CARRIER
 Modulated.
 
#define HCI_EXT_TX_UNMODULATED_CARRIER   LL_EXT_TX_UNMODULATED_CARRIER
 Unmodulated.
 
#define HCI_PTM_SET_FREQ_TUNE_DOWN   LL_EXT_SET_FREQ_TUNE_DOWN
 Tune Down.
 
#define HCI_PTM_SET_FREQ_TUNE_UP   LL_EXT_SET_FREQ_TUNE_UP
 Tune Up.
 
#define HCI_EXT_PM_IO_PORT_P0   LL_EXT_PM_IO_PORT_P0
 
#define HCI_EXT_PM_IO_PORT_P1   LL_EXT_PM_IO_PORT_P1
 
#define HCI_EXT_PM_IO_PORT_P2   LL_EXT_PM_IO_PORT_P2
 
#define HCI_EXT_PM_IO_PORT_NONE   LL_EXT_PM_IO_PORT_NONE
 
#define HCI_EXT_PM_IO_PORT_PIN0   LL_EXT_PM_IO_PORT_PIN0
 
#define HCI_EXT_PM_IO_PORT_PIN1   LL_EXT_PM_IO_PORT_PIN1
 
#define HCI_EXT_PM_IO_PORT_PIN2   LL_EXT_PM_IO_PORT_PIN2
 
#define HCI_EXT_PM_IO_PORT_PIN3   LL_EXT_PM_IO_PORT_PIN3
 
#define HCI_EXT_PM_IO_PORT_PIN4   LL_EXT_PM_IO_PORT_PIN4
 
#define HCI_EXT_PM_IO_PORT_PIN5   LL_EXT_PM_IO_PORT_PIN5
 
#define HCI_EXT_PM_IO_PORT_PIN6   LL_EXT_PM_IO_PORT_PIN6
 
#define HCI_EXT_PM_IO_PORT_PIN7   LL_EXT_PM_IO_PORT_PIN7
 
#define HCI_EXT_PER_RESET   LL_EXT_PER_RESET
 Reset.
 
#define HCI_EXT_PER_READ   LL_EXT_PER_READ
 Read.
 
#define HCI_EXT_HALT_DURING_RF_DISABLE   LL_EXT_HALT_DURING_RF_DISABLE
 Disable.
 
#define HCI_EXT_HALT_DURING_RF_ENABLE   LL_EXT_HALT_DURING_RF_ENABLE
 Enable.
 
#define HCI_EXT_SET_USER_REVISION   LL_EXT_SET_USER_REVISION
 Set.
 
#define HCI_EXT_READ_BUILD_REVISION   LL_EXT_READ_BUILD_REVISION
 Read.
 
#define HCI_EXT_RESET_SYSTEM_HARD   LL_EXT_RESET_SYSTEM_HARD
 Hard Reset.
 
#define HCI_EXT_RESET_SYSTEM_SOFT   LL_EXT_RESET_SYSTEM_SOFT
 Soft Reset.
 
#define HCI_EXT_DISABLE_OVERLAPPED_PROCESSING   LL_EXT_DISABLE_OVERLAPPED_PROCESSING
 Disable.
 
#define HCI_EXT_ENABLE_OVERLAPPED_PROCESSING   LL_EXT_ENABLE_OVERLAPPED_PROCESSING
 Enable.
 
#define HCI_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT   LL_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT
 Disable.
 
#define HCI_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT   LL_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT
 Enable.
 
#define HCI_EXT_DISABLE_SCAN_REQUEST_REPORT   LL_EXT_DISABLE_SCAN_REQUEST_REPORT
 Disable.
 
#define HCI_EXT_ENABLE_SCAN_REQUEST_REPORT   LL_EXT_ENABLE_SCAN_REQUEST_REPORT
 Enable.
 
#define HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW   0
 SCO Buffer Overflow.
 
#define HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW   1
 ACL Buffer Overflow.
 

Typedefs

typedef union _hciEvt_BLEConnComplete_u_ hciEvt_BLEConnComplete_u
 LE Connection Complete Event.
 

Functions

uint8 HCI_ValidConnTimeParams (uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout)
 This API is used to check that the connection time parameter ranges are valid, and that the connection time parameter combination is valid. It also checks if the min/max CI range is valid. More...
 
void HCI_TestAppTaskRegister (uint8 taskID)
 HCI vendor specific registration for HCI Test Application. More...
 
void HCI_GAPTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host GAP. More...
 
void HCI_L2CAPTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host L2CAP. More...
 
void HCI_SMPTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host SMP. More...
 
void HCI_ExtTaskRegister (uint8 taskID)
 HCI vendor specific registration for Host extended commands. More...
 
hciStatus_t HCI_SendDataPkt (uint16 connHandle, uint8 pbFlag, uint16 pktLen, uint8 *pData)
 This API is used to send a ACL data packet over a connection. More...
 
hciStatus_t HCI_DisconnectCmd (uint16 connHandle, uint8 reason)
 This BT API is used to terminate a connection. More...
 
hciStatus_t HCI_ReadRemoteVersionInfoCmd (uint16 connHandle)
 This BT API is used to request version information from the the remote device in a connection. More...
 
hciStatus_t HCI_SetEventMaskCmd (uint8 *pMask)
 This BT API is used to set the HCI event mask, which is used to determine which events are supported. More...
 
hciStatus_t HCI_SetEventMaskPage2Cmd (uint8 *pMask)
 This BT API is used to set the HCI event mask page 2, which is used to determine which events are supported. More...
 
hciStatus_t HCI_ResetCmd (void)
 Reset the Link Layer. More...
 
hciStatus_t HCI_ReadTransmitPowerLevelCmd (uint16 connHandle, uint8 txPwrType)
 Read the transmit power level. More...
 
hciStatus_t HCI_SetControllerToHostFlowCtrlCmd (uint8 flowControlEnable)
 This BT API is used by the Host to turn flow control on or off for data sent from the Controller to Host. Related Events: HCI_CommandCompleteEvent. More...
 
hciStatus_t HCI_HostBufferSizeCmd (uint16 hostAclPktLen, uint8 hostSyncPktLen, uint16 hostTotalNumAclPkts, uint16 hostTotalNumSyncPkts)
 This BT API is used by the Host to notify the Controller of the maximum size ACL buffer size the Controller can send to the Host. More...
 
hciStatus_t HCI_HostNumCompletedPktCmd (uint8 numHandles, uint16 *connHandles, uint16 *numCompletedPkts)
 This BT API is 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. More...
 
hciStatus_t HCI_ReadAuthPayloadTimeoutCmd (uint16 connHandle, uint16 *aptoValue)
 Read the connection's Authenticated Payload Timeout value. More...
 
hciStatus_t HCI_WriteAuthPayloadTimeoutCmd (uint16 connHandle, uint16 aptoValue)
 Used to write the connection's Authenticated Payload Timeout value. More...
 
hciStatus_t HCI_ReadLocalVersionInfoCmd (void)
 Read the local version information. 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_ReadBDADDRCmd (void)
 Read this device's BLE address (BDADDR). More...
 
hciStatus_t HCI_ReadRssiCmd (uint16 connHandle)
 Read RSSI of last packet. More...
 
hciStatus_t HCI_LE_SetEventMaskCmd (uint8 *pEventMask)
 This LE API is used to set the HCI LE event mask, which is used to determine which LE events are supported. More...
 
hciStatus_t HCI_LE_ReadBufSizeCmd (void)
 This LE API is used by the Host to determine the maximum ACL data packet size allowed by the Controller. More...
 
hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd (void)
 Read the LE locally supported features. More...
 
hciStatus_t HCI_LE_SetRandomAddressCmd (uint8 *pRandAddr)
 Set this device's Random address. 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_SetAdvDataCmd (uint8 dataLen, uint8 *pData)
 Set the Advertising data. More...
 
hciStatus_t HCI_LE_SetScanRspDataCmd (uint8 dataLen, uint8 *pData)
 Set the Advertising Scan Response data. More...
 
hciStatus_t HCI_LE_SetAdvEnableCmd (uint8 advEnable)
 Turn Advertising on or off. More...
 
hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd (void)
 Read transmit power when Advertising. 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_SetScanEnableCmd (uint8 scanEnable, uint8 filterDuplicates)
 Turn Scanning on or off. 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_CreateConnCancelCmd (void)
 Cancel connection. More...
 
hciStatus_t HCI_LE_ReadWhiteListSizeCmd (void)
 Read the white list. More...
 
hciStatus_t HCI_LE_ClearWhiteListCmd (void)
 Clear the white list. More...
 
hciStatus_t HCI_LE_AddWhiteListCmd (uint8 addrType, uint8 *devAddr)
 Add a white list entry. More...
 
hciStatus_t HCI_LE_RemoveWhiteListCmd (uint8 addrType, uint8 *devAddr)
 Remove a white list entry. 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_SetHostChanClassificationCmd (uint8 *chanMap)
 Update the current data channel map. More...
 
hciStatus_t HCI_LE_ReadChannelMapCmd (uint16 connHandle)
 Read a connection's data channel map. More...
 
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd (uint16 connHandle)
 Read the remote device's used features. More...
 
hciStatus_t HCI_LE_EncryptCmd (uint8 *key, uint8 *plainText)
 Perform an encryption using AES128. More...
 
hciStatus_t HCI_LE_RandCmd (void)
 Generate a random number. More...
 
hciStatus_t HCI_LE_StartEncyptCmd (uint16 connHandle, uint8 *random, uint8 *encDiv, uint8 *ltk)
 Start encryption in a connection. More...
 
hciStatus_t HCI_LE_LtkReqReplyCmd (uint16 connHandle, uint8 *ltk)
 This LE API is used by the Host to send to the Controller a positive LTK reply. More...
 
hciStatus_t HCI_LE_LtkReqNegReplyCmd (uint16 connHandle)
 This LE API is used by the Host to send to the Controller a negative LTK reply. More...
 
hciStatus_t HCI_LE_ReadSupportedStatesCmd (void)
 Read the Controller's supported states. More...
 
hciStatus_t HCI_LE_ReceiverTestCmd (uint8 rxChan)
 Start the receiver 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_TestEndCmd (void)
 End the Direct Test Mode test. More...
 
hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd (uint16 connHandle, uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout, uint16 minLen, uint16 maxLen)
 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. More...
 
hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd (uint16 connHandle, uint8 reason)
 Negatively reply to the Conneciton Parameter Update Request. More...
 
hciStatus_t HCI_LE_SetDataLenCmd (uint16 connHandle, uint16 txOctets, uint16 txTime)
 Set Data Length. More...
 
hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd (void)
 Read Suggested Default Data Length. More...
 
hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd (uint16 txOctets, uint16 txTime)
 Write Suggested Default Data Length. More...
 
hciStatus_t HCI_LE_ReadMaxDataLenCmd (void)
 Read max data length. 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_RemoveDeviceFromResolvingListCmd (uint8 peerIdAddrType, uint8 *peerIdAddr)
 Remove a device from the whitelist. More...
 
hciStatus_t HCI_LE_ClearResolvingListCmd (void)
 Remove all devices from the whitelist. More...
 
hciStatus_t HCI_LE_ReadResolvingListSizeCmd (void)
 Read Resolving List Size. More...
 
hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd (uint8 peerIdAddrType, uint8 *peerIdAddr)
 Read the Peer Resolvable Address. More...
 
hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd (uint8 localIdAddrType, uint8 *localIdAddr)
 Read Local Resolvable Private Address. More...
 
hciStatus_t HCI_LE_SetAddressResolutionEnableCmd (uint8 addrResolutionEnable)
 Disable / Enable Address Resolution. More...
 
hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd (uint16 rpaTimeout)
 Set Resolvable Private Address Timeout. More...
 
hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd (void)
 Read local P-256 Public Key. More...
 
hciStatus_t HCI_LE_GenerateDHKeyCmd (uint8 *publicKey)
 Generate Diffie-Hellman Key. More...
 
hciStatus_t HCI_LE_ReadPhyCmd (uint16 connHandle)
 Read the current transmitter and receiver PHY. More...
 
hciStatus_t HCI_LE_SetDefaultPhyCmd (uint8 allPhys, uint8 txPhy, uint8 rxPhy)
 Set Default PHY. More...
 
hciStatus_t HCI_LE_SetPhyCmd (uint16 connHandle, uint8 allPhys, uint8 txPhy, uint8 rxPhy)
 This LE API is used to request a change to the transmitter and receiver PHY for a connection. More...
 
hciStatus_t HCI_LE_EnhancedRxTestCmd (uint8 rxChan, uint8 rxPhy, uint8 modIndex)
 Start Enhanced RX Test. More...
 
hciStatus_t HCI_LE_EnhancedTxTestCmd (uint8 txChan, uint8 payloadLen, uint8 payloadType, uint8 txPhy)
 Start Enhanced TX Test. More...
 
hciStatus_t HCI_EXT_SetRxGainCmd (uint8 rxGain)
 Set the receiver gain. More...
 
hciStatus_t HCI_EXT_SetTxPowerCmd (uint8 txPower)
 Set the transmit power. More...
 
hciStatus_t HCI_EXT_OnePktPerEvtCmd (uint8 control)
 This HCI Extension API is used to set whether a connection will be limited to one packet per event. More...
 
hciStatus_t HCI_EXT_ClkDivOnHaltCmd (uint8 control)
 Set whether the system clock will be divided when the MCU is halted. More...
 
hciStatus_t HCI_EXT_DeclareNvUsageCmd (uint8 mode)
 This HCI Extension API is used to indicate to the Controller whether or not the Host will be using the NV memory during BLE operations. More...
 
hciStatus_t HCI_EXT_DecryptCmd (uint8 *key, uint8 *encText)
 This HCI Extension API is used to decrypt encrypted data using AES128. More...
 
hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd (uint8 *localFeatures)
 This HCI Extension API is used to write this device's supported features. More...
 
hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd (uint8 control)
 This HCI Extension API is used to set whether transmit data is sent as soon as possible even when slave latency is used. More...
 
hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd (uint8 control)
 This HCI Extension API is used to to enable or disable suspending slave latency. More...
 
hciStatus_t HCI_EXT_ModemTestTxCmd (uint8 cwMode, uint8 txChan)
 This API is used 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_EndModemTest command to end the test. 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_EndModemTestCmd (void)
 This API is used to shutdown a modem test. A complete Controller reset will take place. More...
 
hciStatus_t HCI_EXT_SetBDADDRCmd (uint8 *bdAddr)
 This API is used to set this device's BLE address (BDADDR). More...
 
hciStatus_t HCI_EXT_SetSCACmd (uint16 scaInPPM)
 This API is used to set this device's Sleep Clock Accuracy. More...
 
hciStatus_t HCI_EXT_EnablePTMCmd (void)
 This HCI Extension API is used to enable Production Test Mode. More...
 
hciStatus_t HCI_EXT_SetFreqTuneCmd (uint8 step)
 This HCI Extension API is used to set the frequency tuning up or down. Setting the mode up/down decreases/increases the amount of capacitance on the external crystal oscillator. More...
 
hciStatus_t HCI_EXT_SaveFreqTuneCmd (void)
 This HCI Extension API is used to save the frequency tuning value to flash. More...
 
hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd (uint8 txPower)
 This HCI Extension API is used to set the maximum transmit output power for Direct Test Mode. More...
 
hciStatus_t HCI_EXT_MapPmIoPortCmd (uint8 ioPort, uint8 ioPin)
 This HCI Extension API is used to configure and map a CC254x I/O Port as a General Purpose I/O (GPIO) output signal that reflects the Power Management (PM) state of the CC254x device. The GPIO output will be High on Wake, and Low upon entering Sleep. This feature can be disabled by specifying HCI_EXT_PM_IO_PORT_NONE for the ioPort (ioPin is then ignored). The system default value upon hardware reset is disabled. This command can be used to control an external DC-DC Converter (its actual intent) such has the TI TPS62730 (or any similar converter that works the same way). This command should be used with extreme care as it will override how the Port/Pin was previously configured! This includes the mapping of Port 0 pins to 32kHz clock output, Analog I/O, UART, Timers; Port 1 pins to Observables, Digital Regulator status, UART, Timers; Port 2 pins to an external 32kHz XOSC. The selected Port/Pin will be configured as an output GPIO with interrupts masked. Careless use can result in a reconfiguration that could disrupt the system. It is therefore the user's responsibility to ensure the selected Port/Pin does not cause any conflicts in the system. More...
 
hciStatus_t HCI_EXT_DisconnectImmedCmd (uint16 connHandle)
 This HCI Extension API is used to disconnect the connection immediately. More...
 
hciStatus_t HCI_EXT_PacketErrorRateCmd (uint16 connHandle, uint8 command)
 This function is used to Reset or Read the Packet Error Rate counters for a connection. More...
 
hciStatus_t HCI_EXT_PERbyChanCmd (uint16 connHandle, perByChan_t *perByChan)
 This HCI Extension API is used to start or end Packet Error Rate by Channel counter accumulation for a connection. If the pointer is not NULL, it is assumed there is sufficient memory for the PER data, per the type perByChan_t. If NULL, then the operation is considered disabled. More...
 
hciStatus_t HCI_EXT_ExtendRfRangeCmd (void)
 This HCI Extension API is used to Extend Rf Range using the TI CC2590 2.4 GHz RF Front End device. More...
 
hciStatus_t HCI_EXT_HaltDuringRfCmd (uint8 mode)
 Halt During RF Command. More...
 
hciStatus_t HCI_EXT_AdvEventNoticeCmd (uint8 taskID, uint16 taskEvent)
 This HCI Extension API is used to enable or disable a notification to the specified task using the specified task event whenever a Adv event ends. A non-zero taskEvent value is taken to be "enable", while a zero valued taskEvent is taken to be "disable". More...
 
hciStatus_t HCI_EXT_ScanEventNoticeCmd (uint8 taskID, uint16 taskEvent)
 Scan Event Notice Command. More...
 
hciStatus_t HCI_EXT_ConnEventNoticeCmd (uint16 connHandle, uint8 taskID, uint16 taskEvent)
 This HCI Extension API is used to 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". More...
 
hciStatus_t HCI_EXT_BuildRevisionCmd (uint8 mode, uint16 userRevNum)
 This HCI Extension API is used set a user revision number or read the build revision number. More...
 
hciStatus_t HCI_EXT_DelaySleepCmd (uint16 delay)
 This HCI Extension API is used set the sleep delay. More...
 
hciStatus_t HCI_EXT_ResetSystemCmd (uint8 mode)
 This HCI Extension API is used to issue a soft or hard system reset. More...
 
hciStatus_t HCI_EXT_LLTestModeCmd (uint8 testCase)
 This HCI Extension API is used to send a LL Test Mode test case. More...
 
hciStatus_t HCI_EXT_OverlappedProcessingCmd (uint8 mode)
 This HCI Extension API is used to enable or disable overlapped processing. More...
 
hciStatus_t HCI_EXT_NumComplPktsLimitCmd (uint8 limit, uint8 flushOnEvt)
 This HCI Extension API is used to set the minimum number of completed packets which must be met before a Number of Completed Packets event is returned. If the limit is not reach by the end of the connection event, then a Number of Completed Packets event will be returned (if non-zero) based on the flushOnEvt flag. More...
 
hciStatus_t HCI_EXT_GetConnInfoCmd (uint8 *numAllocConns, uint8 *numActiveConns, hciConnInfo_t *activeConnInfo)
 Get Connection Info. More...
 
hciStatus_t HCI_EXT_SetMaxDataLenCmd (uint16 txOctets, uint16 txTime, uint16 rxOctets, uint16 rxTime)
 This LE API is used to set the maximum supported Rx and Tx Octets (in bytes) and Time (in us). More...
 
hciStatus_t HCI_EXT_ScanReqRptCmd (uint8 mode)
 This LE API is used to enable/disable Scan Request Reports. More...
 

Detailed Description

HCI layer interface.

End HCI_Function_Maps