496 #include "hal_assert.h"
514 #define HCI_SUCCESS 0x00
515 #define HCI_ERROR_CODE_UNKNOWN_HCI_CMD 0x01
516 #define HCI_ERROR_CODE_UNKNOWN_CONN_ID 0x02
517 #define HCI_ERROR_CODE_HW_FAILURE 0x03
518 #define HCI_ERROR_CODE_PAGE_TIMEOUT 0x04
519 #define HCI_ERROR_CODE_AUTH_FAILURE 0x05
520 #define HCI_ERROR_CODE_PIN_KEY_MISSING 0x06
521 #define HCI_ERROR_CODE_MEM_CAP_EXCEEDED 0x07
522 #define HCI_ERROR_CODE_CONN_TIMEOUT 0x08
523 #define HCI_ERROR_CODE_CONN_LIMIT_EXCEEDED 0x09
524 #define HCI_ERROR_CODE_SYNCH_CONN_LIMIT_EXCEEDED 0x0A
525 #define HCI_ERROR_CODE_ACL_CONN_ALREADY_EXISTS 0x0B
526 #define HCI_ERROR_CODE_CMD_DISALLOWED 0x0C
527 #define HCI_ERROR_CODE_CONN_REJ_LIMITED_RESOURCES 0x0D
528 #define HCI_ERROR_CODE_CONN_REJECTED_SECURITY_REASONS 0x0E
529 #define HCI_ERROR_CODE_CONN_REJECTED_UNACCEPTABLE_BDADDR 0x0F
530 #define HCI_ERROR_CODE_CONN_ACCEPT_TIMEOUT_EXCEEDED 0x10
531 #define HCI_ERROR_CODE_UNSUPPORTED_FEATURE_PARAM_VALUE 0x11
532 #define HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS 0x12
533 #define HCI_ERROR_CODE_REMOTE_USER_TERM_CONN 0x13
534 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES 0x14
535 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF 0x15
536 #define HCI_ERROR_CODE_CONN_TERM_BY_LOCAL_HOST 0x16
537 #define HCI_ERROR_CODE_REPEATED_ATTEMPTS 0x17
538 #define HCI_ERROR_CODE_PAIRING_NOT_ALLOWED 0x18
539 #define HCI_ERROR_CODE_UNKNOWN_LMP_PDU 0x19
540 #define HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE 0x1A
541 #define HCI_ERROR_CODE_SCO_OFFSET_REJ 0x1B
542 #define HCI_ERROR_CODE_SCO_INTERVAL_REJ 0x1C
543 #define HCI_ERROR_CODE_SCO_AIR_MODE_REJ 0x1D
544 #define HCI_ERROR_CODE_INVALID_LMP_PARAMS 0x1E
545 #define HCI_ERROR_CODE_UNSPECIFIED_ERROR 0x1F
546 #define HCI_ERROR_CODE_UNSUPPORTED_LMP_PARAM_VAL 0x20
547 #define HCI_ERROR_CODE_ROLE_CHANGE_NOT_ALLOWED 0x21
548 #define HCI_ERROR_CODE_LMP_LL_RESP_TIMEOUT 0x22
549 #define HCI_ERROR_CODE_LMP_ERR_TRANSACTION_COLLISION 0x23
550 #define HCI_ERROR_CODE_LMP_PDU_NOT_ALLOWED 0x24
551 #define HCI_ERROR_CODE_ENCRYPT_MODE_NOT_ACCEPTABLE 0x25
552 #define HCI_ERROR_CODE_LINK_KEY_CAN_NOT_BE_CHANGED 0x26
553 #define HCI_ERROR_CODE_REQ_QOS_NOT_SUPPORTED 0x27
554 #define HCI_ERROR_CODE_INSTANT_PASSED 0x28
555 #define HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29
556 #define HCI_ERROR_CODE_DIFFERENT_TRANSACTION_COLLISION 0x2A
557 #define HCI_ERROR_CODE_RESERVED1 0x2B
558 #define HCI_ERROR_CODE_QOS_UNACCEPTABLE_PARAM 0x2C
559 #define HCI_ERROR_CODE_QOS_REJ 0x2D
560 #define HCI_ERROR_CODE_CHAN_ASSESSMENT_NOT_SUPPORTED 0x2E
561 #define HCI_ERROR_CODE_INSUFFICIENT_SECURITY 0x2F
562 #define HCI_ERROR_CODE_PARAM_OUT_OF_MANDATORY_RANGE 0x30
563 #define HCI_ERROR_CODE_RESERVED2 0x31
564 #define HCI_ERROR_CODE_ROLE_SWITCH_PENDING 0x32
565 #define HCI_ERROR_CODE_RESERVED3 0x33
566 #define HCI_ERROR_CODE_RESERVED_SLOT_VIOLATION 0x34
567 #define HCI_ERROR_CODE_ROLE_SWITCH_FAILED 0x35
568 #define HCI_ERROR_CODE_EXTENDED_INQUIRY_RESP_TOO_LARGE 0x36
569 #define HCI_ERROR_CODE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST 0x37
570 #define HCI_ERROR_CODE_HOST_BUSY_PAIRING 0x38
571 #define HCI_ERROR_CODE_CONN_REJ_NO_SUITABLE_CHAN_FOUND 0x39
572 #define HCI_ERROR_CODE_CONTROLLER_BUSY 0x3A
573 #define HCI_ERROR_CODE_UNACCEPTABLE_CONN_PARAMETERS 0x3B
574 #define HCI_ERROR_CODE_DIRECTED_ADV_TIMEOUT 0x3C
575 #define HCI_ERROR_CODE_CONN_TERM_MIC_FAILURE 0x3D
576 #define HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH 0x3E
577 #define HCI_ERROR_CODE_MAC_CONN_FAILED 0x3F
578 #define HCI_ERROR_CODE_COARSE_CLOCK_ADJUST_REJECTED 0x40
585 #define HCI_MAX_NUM_CMD_BUFFERS LL_MAX_NUM_CMD_BUFFERS
586 #if defined(CC2540) || defined(CC2541) || defined(CC2541S)
587 #define HCI_MAX_NUM_DATA_BUFFERS LL_MAX_NUM_DATA_BUFFERS //<! Max Num Data Buffers
588 #endif // CC2540 | CC2541 | CC2541S
591 #define FIRST_PKT_HOST_TO_CTRL LL_DATA_FIRST_PKT_HOST_TO_CTRL
592 #define CONTINUING_PKT LL_DATA_CONTINUATION_PKT
593 #define FIRST_PKT_CTRL_TO_HOST LL_DATA_FIRST_PKT_CTRL_TO_HOST
597 #define HCI_RSSI_NOT_AVAILABLE LL_RSSI_NOT_AVAILABLE
602 #define HCI_DISCONNECT_AUTH_FAILURE HCI_ERROR_CODE_AUTH_FAILURE
603 #define HCI_DISCONNECT_REMOTE_USER_TERM HCI_ERROR_CODE_REMOTE_USER_TERM_CONN
604 #define HCI_DISCONNECT_REMOTE_DEV_LOW_RESOURCES HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES
605 #define HCI_DISCONNECT_REMOTE_DEV_POWER_OFF HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF
606 #define HCI_DISCONNECT_UNSUPPORTED_REMOTE_FEATURE HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE
607 #define HCI_DISCONNECT_KEY_PAIRING_NOT_SUPPORTED HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
608 #define HCI_DISCONNECT_UNACCEPTABLE_CONN_INTERVAL HCI_ERROR_CODE_UNACCEPTABLE_CONN_INTERVAL
615 #define HCI_READ_CURRENT_TX_POWER_LEVEL LL_READ_CURRENT_TX_POWER_LEVEL
616 #define HCI_READ_MAX_TX_POWER_LEVEL LL_READ_MAX_TX_POWER_LEVEL
622 #define HCI_CTRL_TO_HOST_FLOW_CTRL_OFF 0
623 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_OFF 1
624 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_OFF_SYNCH_ON 2
625 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_ON 3
631 #define HCI_PUBLIC_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_PUBLIC
632 #define HCI_RANDOM_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_RANDOM
638 #define HCI_CONNECTABLE_UNDIRECTED_ADV LL_ADV_CONNECTABLE_UNDIRECTED_EVT
639 #define HCI_CONNECTABLE_DIRECTED_HDC_ADV LL_ADV_CONNECTABLE_DIRECTED_HDC_EVT
640 #define HCI_SCANNABLE_UNDIRECTED LL_ADV_SCANNABLE_UNDIRECTED_EVT
641 #define HCI_NONCONNECTABLE_UNDIRECTED_ADV LL_ADV_NONCONNECTABLE_UNDIRECTED_EVT
642 #define HCI_CONNECTABLE_DIRECTED_LDC_ADV LL_ADV_CONNECTABLE_DIRECTED_LDC_EVT
648 #define HCI_ADV_CHAN_37 LL_ADV_CHAN_37
649 #define HCI_ADV_CHAN_38 LL_ADV_CHAN_38
650 #define HCI_ADV_CHAN_39 LL_ADV_CHAN_39
651 #define HCI_ADV_CHAN_ALL (LL_ADV_CHAN_37 | LL_ADV_CHAN_38 | LL_ADV_CHAN_39)
657 #define HCI_ADV_WL_POLICY_ANY_REQ LL_ADV_WL_POLICY_ANY_REQ
658 #define HCI_ADV_WL_POLICY_WL_SCAN_REQ LL_ADV_WL_POLICY_WL_SCAN_REQ
659 #define HCI_ADV_WL_POLICY_WL_CONNECT_REQ LL_ADV_WL_POLICY_WL_CONNECT_REQ
660 #define HCI_ADV_WL_POLICY_WL_ALL_REQ LL_ADV_WL_POLICY_WL_ALL_REQ
666 #define HCI_ENABLE_ADV LL_ADV_MODE_ON
667 #define HCI_DISABLE_ADV LL_ADV_MODE_OFF
673 #define HCI_SCAN_PASSIVE LL_SCAN_PASSIVE
674 #define HCI_SCAN_ACTIVE LL_SCAN_ACTIVE
680 // Scan White List Policy
681 #define HCI_SCAN_WL_POLICY_ANY_ADV_PKTS LL_SCAN_WL_POLICY_ANY_ADV_PKTS
682 #define HCI_SCAN_WL_POLICY_USE_WHITE_LIST LL_SCAN_WL_POLICY_USE_WHITE_LIST
689 #define HCI_FILTER_REPORTS_DISABLE LL_FILTER_REPORTS_DISABLE
690 #define HCI_FILTER_REPORTS_ENABLE LL_FILTER_REPORTS_ENABLE
697 #define HCI_SCAN_STOP LL_SCAN_STOP
698 #define HCI_SCAN_START LL_SCAN_START
704 #define HCI_INIT_WL_POLICY_USE_PEER_ADDR LL_INIT_WL_POLICY_USE_PEER_ADDR
705 #define HCI_INIT_WL_POLICY_USE_WHITE_LIST LL_INIT_WL_POLICY_USE_WHITE_LIST
711 #define HCI_ENCRYPTION_OFF LL_ENCRYPTION_OFF
712 #define HCI_ENCRYPTION_ON LL_ENCRYPTION_ON
718 #define HCI_DIRECT_TEST_PAYLOAD_PRBS9 LL_DIRECT_TEST_PAYLOAD_PRBS9
719 #define HCI_DIRECT_TEST_PAYLOAD_0x0F LL_DIRECT_TEST_PAYLOAD_0x0F
720 #define HCI_DIRECT_TEST_PAYLOAD_0x55 LL_DIRECT_TEST_PAYLOAD_0x55
721 #define HCI_DIRECT_TEST_PAYLOAD_PRBS15 LL_DIRECT_TEST_PAYLOAD_PRBS15
722 #define HCI_DIRECT_TEST_PAYLOAD_0xFF LL_DIRECT_TEST_PAYLOAD_0xFF
723 #define HCI_DIRECT_TEST_PAYLOAD_0x00 LL_DIRECT_TEST_PAYLOAD_0x00
724 #define HCI_DIRECT_TEST_PAYLOAD_0xF0 LL_DIRECT_TEST_PAYLOAD_0xF0
725 #define HCI_DIRECT_TEST_PAYLOAD_0xAA LL_DIRECT_TEST_PAYLOAD_0xAA
731 #define HCI_DTM_STANDARD_MODULATION_INDEX LL_DTM_STANDARD_MODULATION_INDEX
732 #define HCI_DTM_STABLE_MODULATION_INDEX LL_DTM_STABLE_MODULATION_INDEX
738 #define HCI_DISABLE_ADDR_RESOLUTION LL_DISABLE_ADDR_RESOLUTION
739 #define HCI_ENABLE_ADDR_RESOLUTION LL_ENABLE_ADDR_RESOLUTION
745 #define HCI_PHY_USE_PHY_PARAM LL_PHY_USE_PHY_PARAM
746 #define HCI_PHY_USE_ANY_PHY LL_PHY_USE_ANY_PHY
748 #define HCI_PHY_1_MBPS LL_PHY_1_MBPS
749 #define HCI_PHY_2_MBPS LL_PHY_2_MBPS
755 #define HCI_EXT_RX_GAIN_STD LL_EXT_RX_GAIN_STD
756 #define HCI_EXT_RX_GAIN_HIGH LL_EXT_RX_GAIN_HIGH
762 #if defined( CC26XX ) || defined( CC13XX )
763 #define HCI_EXT_TX_POWER_MINUS_21_DBM LL_EXT_TX_POWER_MINUS_21_DBM
764 #define HCI_EXT_TX_POWER_MINUS_18_DBM LL_EXT_TX_POWER_MINUS_18_DBM
765 #define HCI_EXT_TX_POWER_MINUS_15_DBM LL_EXT_TX_POWER_MINUS_15_DBM
766 #define HCI_EXT_TX_POWER_MINUS_12_DBM LL_EXT_TX_POWER_MINUS_12_DBM
767 #define HCI_EXT_TX_POWER_MINUS_9_DBM LL_EXT_TX_POWER_MINUS_9_DBM
768 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
769 #define HCI_EXT_TX_POWER_MINUS_3_DBM LL_EXT_TX_POWER_MINUS_3_DBM
770 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
771 #define HCI_EXT_TX_POWER_1_DBM LL_EXT_TX_POWER_1_DBM
772 #define HCI_EXT_TX_POWER_2_DBM LL_EXT_TX_POWER_2_DBM
773 #define HCI_EXT_TX_POWER_3_DBM LL_EXT_TX_POWER_3_DBM
774 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
775 #define HCI_EXT_TX_POWER_5_DBM LL_EXT_TX_POWER_5_DBM
777 #define HCI_EXT_TX_POWER_MINUS_23_DBM LL_EXT_TX_POWER_MINUS_23_DBM
778 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
779 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
780 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
781 #endif // CC26XX/CC13XX
787 #define HCI_EXT_ENABLE_ONE_PKT_PER_EVT LL_EXT_ENABLE_ONE_PKT_PER_EVT
788 #define HCI_EXT_DISABLE_ONE_PKT_PER_EVT LL_EXT_DISABLE_ONE_PKT_PER_EVT
796 #define HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT LL_EXT_ENABLE_CLK_DIVIDE_ON_HALT
797 #define HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT
805 #define HCI_EXT_NV_IN_USE LL_EXT_NV_IN_USE
806 #define HCI_EXT_NV_NOT_IN_USE LL_EXT_NV_NOT_IN_USE
812 #define HCI_EXT_ENABLE_FAST_TX_RESP_TIME LL_EXT_ENABLE_FAST_TX_RESP_TIME
813 #define HCI_EXT_DISABLE_FAST_TX_RESP_TIME LL_EXT_DISABLE_FAST_TX_RESP_TIME
819 #define HCI_EXT_ENABLE_SL_OVERRIDE LL_EXT_ENABLE_SL_OVERRIDE
820 #define HCI_EXT_DISABLE_SL_OVERRIDE LL_EXT_DISABLE_SL_OVERRIDE
826 #define HCI_EXT_TX_MODULATED_CARRIER LL_EXT_TX_MODULATED_CARRIER
827 #define HCI_EXT_TX_UNMODULATED_CARRIER LL_EXT_TX_UNMODULATED_CARRIER
833 #define HCI_PTM_SET_FREQ_TUNE_DOWN LL_EXT_SET_FREQ_TUNE_DOWN
834 #define HCI_PTM_SET_FREQ_TUNE_UP LL_EXT_SET_FREQ_TUNE_UP
842 #define HCI_EXT_PM_IO_PORT_P0 LL_EXT_PM_IO_PORT_P0
843 #define HCI_EXT_PM_IO_PORT_P1 LL_EXT_PM_IO_PORT_P1
844 #define HCI_EXT_PM_IO_PORT_P2 LL_EXT_PM_IO_PORT_P2
845 #define HCI_EXT_PM_IO_PORT_NONE LL_EXT_PM_IO_PORT_NONE
847 #define HCI_EXT_PM_IO_PORT_PIN0 LL_EXT_PM_IO_PORT_PIN0
848 #define HCI_EXT_PM_IO_PORT_PIN1 LL_EXT_PM_IO_PORT_PIN1
849 #define HCI_EXT_PM_IO_PORT_PIN2 LL_EXT_PM_IO_PORT_PIN2
850 #define HCI_EXT_PM_IO_PORT_PIN3 LL_EXT_PM_IO_PORT_PIN3
851 #define HCI_EXT_PM_IO_PORT_PIN4 LL_EXT_PM_IO_PORT_PIN4
852 #define HCI_EXT_PM_IO_PORT_PIN5 LL_EXT_PM_IO_PORT_PIN5
853 #define HCI_EXT_PM_IO_PORT_PIN6 LL_EXT_PM_IO_PORT_PIN6
854 #define HCI_EXT_PM_IO_PORT_PIN7 LL_EXT_PM_IO_PORT_PIN7
862 #define HCI_EXT_PER_RESET LL_EXT_PER_RESET
863 #define HCI_EXT_PER_READ LL_EXT_PER_READ
871 #define HCI_EXT_HALT_DURING_RF_DISABLE LL_EXT_HALT_DURING_RF_DISABLE
872 #define HCI_EXT_HALT_DURING_RF_ENABLE LL_EXT_HALT_DURING_RF_ENABLE
880 #define HCI_EXT_SET_USER_REVISION LL_EXT_SET_USER_REVISION
881 #define HCI_EXT_READ_BUILD_REVISION LL_EXT_READ_BUILD_REVISION
887 #define HCI_EXT_RESET_SYSTEM_HARD LL_EXT_RESET_SYSTEM_HARD
888 #define HCI_EXT_RESET_SYSTEM_SOFT LL_EXT_RESET_SYSTEM_SOFT
896 #define HCI_EXT_DISABLE_OVERLAPPED_PROCESSING LL_EXT_DISABLE_OVERLAPPED_PROCESSING
897 #define HCI_EXT_ENABLE_OVERLAPPED_PROCESSING LL_EXT_ENABLE_OVERLAPPED_PROCESSING
905 #define HCI_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT
906 #define HCI_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT
912 #define HCI_EXT_DISABLE_SCAN_REQUEST_REPORT LL_EXT_DISABLE_SCAN_REQUEST_REPORT
913 #define HCI_EXT_ENABLE_SCAN_REQUEST_REPORT LL_EXT_ENABLE_SCAN_REQUEST_REPORT
921 // HCI Link Type for Buffer Overflow
922 #define HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW 0
923 #define HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW 1
933 typedef uint8 hciStatus_t;
946 uint16 connectionHandle;
962 uint16 connectionHandle;
1020 uint16 connectionHandle;
1021 uint16 connInterval;
1032 uint16 connectionHandle;
1053 uint16 encryptedDiversifier;
1061 uint16 *pConnectionHandle;
1062 uint16 *pNumCompletedPackets;
1071 uint8 *pReturnParam;
1129 uint16 Interval_Min;
1130 uint16 Interval_Max;
1164 uint8 p256Key[LL_SC_P256_KEY_LEN];
1173 uint8 dhKey[LL_SC_DHKEY_LEN];
1218 #if defined( CC26XX ) || defined( CC13XX )
1222 #endif // CC26XX/CC13XX
1226 uint8 addr[LL_DEVICE_ADDR_LEN];
1231 #if defined( CC26XX ) || defined( CC13XX )
1235 #endif // CC26XX/CC13XX
1240 uint16 numMMissedEvents;
1266 extern void *HCI_bm_alloc( uint16 size );
1287 uint16 connIntervalMax,
1289 uint16 connTimeout );
1473 extern hciStatus_t HCI_SetControllerToHostFlowCtrlCmd( uint8 flowControlEnable );
1499 extern hciStatus_t HCI_HostBufferSizeCmd( uint16 hostAclPktLen,
1500 uint8 hostSyncPktLen,
1501 uint16 hostTotalNumAclPkts,
1502 uint16 hostTotalNumSyncPkts );
1538 uint16 *connHandles,
1539 uint16 *numCompletedPkts );
1555 uint16 *aptoValue );
1708 uint16 advIntervalMax,
1711 uint8 directAddrType,
1713 uint8 advChannelMap,
1714 uint8 advFilterPolicy );
1790 uint16 scanInterval,
1793 uint8 filterPolicy );
1809 uint8 filterDuplicates );
1840 uint8 initFilterPolicy,
1844 uint16 connIntervalMin,
1845 uint16 connIntervalMax,
1934 uint16 connIntervalMin,
1935 uint16 connIntervalMax,
2145 uint16 connIntervalMin,
2146 uint16 connIntervalMax,
2281 uint8 *peerIdAddr );
2333 uint8 *peerIdAddr );
2355 uint8 *localIdAddr );
2450 extern hciStatus_t HCI_LE_ReadPhyCmd( uint16 connHandle );
2466 extern hciStatus_t HCI_LE_SetDefaultPhyCmd( uint8 allPhys,
2481 extern hciStatus_t HCI_LE_SetPhyCmd( uint16 connHandle,
2500 extern hciStatus_t HCI_LE_EnhancedRxTestCmd( uint8 rxChan,
2519 extern hciStatus_t HCI_LE_EnhancedTxTestCmd( uint8 txChan,
2595 extern hciStatus_t HCI_EXT_ClkDivOnHaltCmd( uint8 control );
2966 extern hciStatus_t HCI_EXT_MapPmIoPortCmd( uint8 ioPort, uint8 ioPin );
3061 extern hciStatus_t HCI_EXT_ExtendRfRangeCmd(
void );
3076 extern hciStatus_t HCI_EXT_HaltDuringRfCmd( uint8 mode );
3315 extern hciStatus_t HCI_EXT_DelaySleepCmd( uint16 delay );
3347 extern hciStatus_t HCI_EXT_LLTestModeCmd( uint8 testCase );
3357 extern hciStatus_t HCI_EXT_OverlappedProcessingCmd( uint8 mode );
3421 uint8 *numActiveConns,
3422 hciConnInfo_t *activeConnInfo );
hciStatus_t HCI_EXT_PacketErrorRateCmd(uint16 connHandle, uint8 command)
Packet Error Rate Command.
This API allows the software components in the Z-Stack to be written independently of the specifics o...
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).
void HCI_TestAppTaskRegister(uint8 taskID)
HCI vendor specific registration for HCI Test Application.
HCI Packet event.
Definition: hci.h:1185
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:149
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd(uint16 connHandle)
Read the remote device's used features.
hciStatus_t HCI_LE_SetAddressResolutionEnableCmd(uint8 addrResolutionEnable)
Disable / Enable Address Resolution.
Command Status Event.
Definition: hci.h:1084
hciStatus_t HCI_LE_TestEndCmd(void)
End the Direct Test Mode test.
hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd(uint16 rpaTimeout)
Set Resolvable Private Address Timeout.
hciStatus_t HCI_EXT_AdvEventNoticeCmd(uint8 taskID, uint16 taskEvent)
Advertising Event Notice Command.
hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd(uint8 txPower)
Set the maximum transmit output power for DTM.
hciStatus_t HCI_LE_LtkReqNegReplyCmd(uint16 connHandle)
Send a negative LTK reply to the Controller.
Hardware Error Event.
Definition: hci.h:1093
hciStatus_t HCI_EXT_ModemTestTxCmd(uint8 cwMode, uint8 txChan)
Start Modem TX Test.
hciStatus_t HCI_LE_TransmitterTestCmd(uint8 txChan, uint8 dataLen, uint8 pktPayload)
This LE API is used to start the transmit Direct Test Mode test.
hciStatus_t HCI_LE_RandCmd(void)
Generate a random number.
LE Advertising Report Event.
Definition: hci.h:983
#define B_MAX_ADV_LEN
BLE Maximum Advertising Packet Length.
Definition: bcomdef.h:146
hciStatus_t HCI_LE_ReadResolvingListSizeCmd(void)
Read Resolving List Size.
LE Data Length Change Event.
Definition: hci.h:1147
void HCI_SMPTaskRegister(uint8 taskID)
HCI vendor specific registration for Host SMP.
hciStatus_t HCI_SetEventMaskPage2Cmd(uint8 *pMask)
Set the HCI event mask page 2.
hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd(void)
Read the LE locally supported features.
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.
hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd(void)
Read transmit power when Advertising.
hciStatus_t HCI_EXT_EnablePTMCmd(void)
Enable Production Test Mode.
hciStatus_t HCI_LE_SetDataLenCmd(uint16 connHandle, uint16 txOctets, uint16 txTime)
Set Data Length.
hciStatus_t HCI_EXT_ScanReqRptCmd(uint8 mode)
Enable/disable Scan Request Reports.
LE Phy Update Complete Event.
Definition: hci.h:1136
hciStatus_t HCI_WriteAuthPayloadTimeoutCmd(uint16 connHandle, uint16 aptoValue)
Used to write the connection's Authenticated Payload Timeout value.
hciStatus_t HCI_LE_SetHostChanClassificationCmd(uint8 *chanMap)
Update the current data channel map.
union _hciEvt_BLEConnComplete_u_ hciEvt_BLEConnComplete_u
LE Connection Complete Event.
hciStatus_t HCI_LE_LtkReqReplyCmd(uint16 connHandle, uint8 *ltk)
Send a positive LTK reply to the controller.
void HCI_ExtTaskRegister(uint8 taskID)
HCI vendor specific registration for Host extended commands.
hciStatus_t HCI_EXT_NumComplPktsLimitCmd(uint8 limit, uint8 flushOnEvt)
Set the Number of Completed Packets Limit.
hciStatus_t HCI_ReadRssiCmd(uint16 connHandle)
Read RSSI of last packet.
PACKED_TYPEDEF_STRUCT
Connection Info.
Definition: hci.h:1223
hciStatus_t HCI_LE_CreateConnCancelCmd(void)
Cancel connection.
hciStatus_t HCI_LE_ReadSupportedStatesCmd(void)
TRead the Controller's supported states.
hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd(void)
Read local P-256 Public Key.
Vendor Specific Command Complete Event.
Definition: hci.h:1075
hciStatus_t HCI_EXT_DecryptCmd(uint8 *key, uint8 *encText)
Decrypt encrypted data using AES128.
hciStatus_t HCI_EXT_SetFreqTuneCmd(uint8 step)
Set Frequency Tuning.
Data structure for HCI Command Complete Event Return Parameter.
Definition: hci.h:1177
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.
hciStatus_t HCI_SetEventMaskCmd(uint8 *pMask)
Set the HCI event mask.
hciStatus_t HCI_LE_AddWhiteListCmd(uint8 addrType, uint8 *devAddr)
Add a white list entry.
Disconnection Complete Event.
Definition: hci.h:1100
hciStatus_t HCI_EXT_SaveFreqTuneCmd(void)
Save the frequency tuning value to non-volatile memory.
hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd(void)
Read Suggested Default Data Length.
hciStatus_t HCI_EXT_ResetSystemCmd(uint8 mode)
Issue a soft or hard system reset.
Authenticated Payload Timeout Expired Event.
Definition: hci.h:1116
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.
hciStatus_t HCI_LE_ReadWhiteListSizeCmd(void)
Read the white list.
hciStatus_t HCI_LE_SetEventMaskCmd(uint8 *pEventMask)
Set the HCI LE event mask.
hciStatus_t HCI_EXT_SetRxGainCmd(uint8 rxGain)
Set the receiver gain.
hciStatus_t HCI_ReadRemoteVersionInfoCmd(uint16 connHandle)
Request version information from the remote device in a connection.
hciStatus_t HCI_EXT_EndModemTestCmd(void)
Shutdown a modem test.
hciStatus_t HCI_LE_EncryptCmd(uint8 *key, uint8 *plainText)
Perform an encryption using AES128.
hciStatus_t HCI_ReadLocalVersionInfoCmd(void)
Read the local version information.
hciStatus_t HCI_LE_ReadBufSizeCmd(void)
Determine the maximum ACL data packet size allowed by the Controller.
hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd(uint8 localIdAddrType, uint8 *localIdAddr)
Read Local Resolvable Private Address.
hciStatus_t HCI_EXT_ModemHopTestTxCmd(void)
Start Modem Hop Tx Test.
Command Complete Event.
Definition: hci.h:1066
HCI Data Packet.
Definition: hci.h:1192
LE Generate DHKey Complete Event.
Definition: hci.h:1168
LE Remote Connection Parameter Request Event.
Definition: hci.h:1123
uint8 HCI_ValidConnTimeParams(uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout)
Checks that the connection time parameter ranges are valid.
hciStatus_t HCI_EXT_PERbyChanCmd(uint16 connHandle, perByChan_t *perByChan)
Packet Error Rate by Channel Command.
hciStatus_t HCI_ReadLocalSupportedCommandsCmd(void)
Read the locally supported commands.
hciStatus_t HCI_EXT_ModemTestRxCmd(uint8 rxChan)
Start Modem Hop RX Test.
hciStatus_t HCI_LE_SetAdvEnableCmd(uint8 advEnable)
Turn Advertising on or off.
hciStatus_t HCI_LE_ClearResolvingListCmd(void)
Remove all devices from the whitelist.
hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd(uint8 control)
Enable or disable suspending slave latency.
hciStatus_t HCI_EXT_OnePktPerEvtCmd(uint8 control)
Set whether a connection will be limited to one packet per event.
Type definitions and macros for BLE stack.
VS LE Scan Request Report Event.
Definition: hci.h:1003
hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd(uint8 control)
Set Fast TX Response Time.
LE Encryption Change Event.
Definition: hci.h:1037
hciStatus_t HCI_EXT_BuildRevisionCmd(uint8 mode, uint16 userRevNum)
Set a user revision number or read the build revision number.
hciStatus_t HCI_LE_SetScanRspDataCmd(uint8 dataLen, uint8 *pData)
Set the Advertising Scan Response data.
hciStatus_t HCI_ReadTransmitPowerLevelCmd(uint16 connHandle, uint8 txPwrType)
Read the transmit power level.
LE Enhanced Connection Complete Event.
Definition: hci.h:957
Number of Completed Packets Event.
Definition: hci.h:1057
hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd(uint8 peerIdAddrType, uint8 *peerIdAddr)
Read the Peer Resolvable Address.
OSAL Event Header.
Definition: osal.h:110
hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd(uint8 *localFeatures)
Write this device's supported features.
hciStatus_t HCI_LE_ReceiverTestCmd(uint8 rxChan)
Start the receiver Direct Test Mode test.
hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd(uint8 peerIdAddrType, uint8 *peerIdAddr)
Remove a device from the whitelist.
hciStatus_t HCI_LE_RemoveWhiteListCmd(uint8 addrType, uint8 *devAddr)
Remove a white list entry.
hciStatus_t HCI_EXT_SetBDADDRCmd(uint8 *bdAddr)
Set this device's BLE address (BDADDR).
hciStatus_t HCI_LE_StartEncyptCmd(uint16 connHandle, uint8 *random, uint8 *encDiv, uint8 *ltk)
Start encryption in a connection.
hciStatus_t HCI_EXT_ConnEventNoticeCmd(uint16 connHandle, uint8 taskID, uint16 taskEvent)
Connection Event Notice Command.
hciStatus_t HCI_EXT_ScanEventNoticeCmd(uint8 taskID, uint16 taskEvent)
Scan Event Notice Command.
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:131
Data Buffer Overflow Event.
Definition: hci.h:1109
LE Connection Complete Event.
Definition: hci.h:941
hciStatus_t HCI_LE_AddDeviceToResolvingListCmd(uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 *peerIRK, uint8 *localIRK)
Add a device to the resolving list.
LE Read Remote Used Features Complete Event.
Definition: hci.h:1027
hciStatus_t HCI_DisconnectCmd(uint16 connHandle, uint8 reason)
Terminate a connection.
hciStatus_t HCI_LE_SetAdvDataCmd(uint8 dataLen, uint8 *pData)
Set the Advertising data.
hciStatus_t HCI_LE_SetRandomAddressCmd(uint8 *pRandAddr)
Set this device's Random address.
hciStatus_t HCI_LE_SetScanParamCmd(uint8 scanType, uint16 scanInterval, uint16 scanWindow, uint8 ownAddrType, uint8 filterPolicy)
Set the Scan parameters.
void HCI_L2CAPTaskRegister(uint8 taskID)
HCI vendor specific registration for Host L2CAP.
hciStatus_t HCI_ReadLocalSupportedFeaturesCmd(void)
Read the locally supported features.
hciStatus_t HCI_LE_ReadChannelMapCmd(uint16 connHandle)
Read a connection's data channel map.
hciStatus_t HCI_LE_ClearWhiteListCmd(void)
Clear the white list.
hciStatus_t HCI_EXT_DeclareNvUsageCmd(uint8 mode)
Declare NV Usage.
hciStatus_t HCI_LE_ReadMaxDataLenCmd(void)
Read max data length.
hciStatus_t HCI_EXT_SetSCACmd(uint16 scaInPPM)
Set this device's Sleep Clock Accuracy.
hciStatus_t HCI_ReadBDADDRCmd(void)
Read this device's BLE address (BDADDR).
hciStatus_t HCI_HostNumCompletedPktCmd(uint8 numHandles, uint16 *connHandles, uint16 *numCompletedPkts)
Set the number of HCI daata packets completed per connection handle.
hciStatus_t HCI_LE_GenerateDHKeyCmd(uint8 *publicKey)
Generate Diffie-Hellman Key.
hciStatus_t HCI_ReadAuthPayloadTimeoutCmd(uint16 connHandle, uint16 *aptoValue)
Read the connection's Authenticated Payload Timeout value.
LE Connection Complete Event.
Definition: hci.h:976
LE Connection Update Complete Event.
Definition: hci.h:1015
hciStatus_t HCI_EXT_SetTxPowerCmd(uint8 txPower)
Set the transmit power.
hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd(uint16 txOctets, uint16 txTime)
Write Suggested Default Data Length.
LE Read P256 Public Key Complete Event.
Definition: hci.h:1159
hciStatus_t HCI_LE_SetScanEnableCmd(uint8 scanEnable, uint8 filterDuplicates)
Turn Scanning on or off.
hciStatus_t HCI_SendDataPkt(uint16 connHandle, uint8 pbFlag, uint16 pktLen, uint8 *pData)
Send an ACL data packet over a connection.
LE Advertising Packet Report Event.
Definition: hci.h:994
hciStatus_t HCI_EXT_DisconnectImmedCmd(uint16 connHandle)
Disconnect the connection immediately.
hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd(uint16 connHandle, uint8 reason)
Negatively reply to the Conneciton Parameter Update Request.
hciStatus_t HCI_LE_ConnUpdateCmd(uint16 connHandle, uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout, uint16 minLen, uint16 maxLen)
Update the connection parameters.
hciStatus_t HCI_ResetCmd(void)
Reset the Link Layer.
void HCI_GAPTaskRegister(uint8 taskID)
HCI vendor specific registration for Host GAP.
LE Long Term Key Requested Event.
Definition: hci.h:1047
hciStatus_t HCI_EXT_GetConnInfoCmd(uint8 *numAllocConns, uint8 *numActiveConns, hciConnInfo_t *activeConnInfo)
Get Connection Info.