TI BLE-Stack for Bluetooth 4.2 API Documentation  3.01.00.07
hci.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Group: WCS, BTS
4  $Target Device: DEVICES $
5 
6  ******************************************************************************
7  $License: TISD 2009 $
8  ******************************************************************************
9  $Release Name: PACKAGE NAME $
10  $Release Date: PACKAGE RELEASE DATE $
11  *****************************************************************************/
12 
459 #ifndef HCI_H
460 #define HCI_H
461 
462 #ifdef __cplusplus
463 extern "C"
464 {
465 #endif
466 
467 /*
468  * INCLUDES
469  */
470 #include "bcomdef.h"
471 #include "osal.h"
472 //#include "ll.h"
473 #include "ll_common.h"
474 #include "hal_assert.h"
475 
476 /*
477  * MACROS
478  */
479 
480 /*
481  * CONSTANTS
482  */
483 
492 #define HCI_SUCCESS 0x00
493 #define HCI_ERROR_CODE_UNKNOWN_HCI_CMD 0x01
494 #define HCI_ERROR_CODE_UNKNOWN_CONN_ID 0x02
495 #define HCI_ERROR_CODE_HW_FAILURE 0x03
496 #define HCI_ERROR_CODE_PAGE_TIMEOUT 0x04
497 #define HCI_ERROR_CODE_AUTH_FAILURE 0x05
498 #define HCI_ERROR_CODE_PIN_KEY_MISSING 0x06
499 #define HCI_ERROR_CODE_MEM_CAP_EXCEEDED 0x07
500 #define HCI_ERROR_CODE_CONN_TIMEOUT 0x08
501 #define HCI_ERROR_CODE_CONN_LIMIT_EXCEEDED 0x09
502 #define HCI_ERROR_CODE_SYNCH_CONN_LIMIT_EXCEEDED 0x0A
503 #define HCI_ERROR_CODE_ACL_CONN_ALREADY_EXISTS 0x0B
504 #define HCI_ERROR_CODE_CMD_DISALLOWED 0x0C
505 #define HCI_ERROR_CODE_CONN_REJ_LIMITED_RESOURCES 0x0D
506 #define HCI_ERROR_CODE_CONN_REJECTED_SECURITY_REASONS 0x0E
507 #define HCI_ERROR_CODE_CONN_REJECTED_UNACCEPTABLE_BDADDR 0x0F
508 #define HCI_ERROR_CODE_CONN_ACCEPT_TIMEOUT_EXCEEDED 0x10
509 #define HCI_ERROR_CODE_UNSUPPORTED_FEATURE_PARAM_VALUE 0x11
510 #define HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS 0x12
511 #define HCI_ERROR_CODE_REMOTE_USER_TERM_CONN 0x13
512 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES 0x14
513 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF 0x15
514 #define HCI_ERROR_CODE_CONN_TERM_BY_LOCAL_HOST 0x16
515 #define HCI_ERROR_CODE_REPEATED_ATTEMPTS 0x17
516 #define HCI_ERROR_CODE_PAIRING_NOT_ALLOWED 0x18
517 #define HCI_ERROR_CODE_UNKNOWN_LMP_PDU 0x19
518 #define HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE 0x1A
519 #define HCI_ERROR_CODE_SCO_OFFSET_REJ 0x1B
520 #define HCI_ERROR_CODE_SCO_INTERVAL_REJ 0x1C
521 #define HCI_ERROR_CODE_SCO_AIR_MODE_REJ 0x1D
522 #define HCI_ERROR_CODE_INVALID_LMP_PARAMS 0x1E
523 #define HCI_ERROR_CODE_UNSPECIFIED_ERROR 0x1F
524 #define HCI_ERROR_CODE_UNSUPPORTED_LMP_PARAM_VAL 0x20
525 #define HCI_ERROR_CODE_ROLE_CHANGE_NOT_ALLOWED 0x21
526 #define HCI_ERROR_CODE_LMP_LL_RESP_TIMEOUT 0x22
527 #define HCI_ERROR_CODE_LMP_ERR_TRANSACTION_COLLISION 0x23
528 #define HCI_ERROR_CODE_LMP_PDU_NOT_ALLOWED 0x24
529 #define HCI_ERROR_CODE_ENCRYPT_MODE_NOT_ACCEPTABLE 0x25
530 #define HCI_ERROR_CODE_LINK_KEY_CAN_NOT_BE_CHANGED 0x26
531 #define HCI_ERROR_CODE_REQ_QOS_NOT_SUPPORTED 0x27
532 #define HCI_ERROR_CODE_INSTANT_PASSED 0x28
533 #define HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29
534 #define HCI_ERROR_CODE_DIFFERENT_TRANSACTION_COLLISION 0x2A
535 #define HCI_ERROR_CODE_RESERVED1 0x2B
536 #define HCI_ERROR_CODE_QOS_UNACCEPTABLE_PARAM 0x2C
537 #define HCI_ERROR_CODE_QOS_REJ 0x2D
538 #define HCI_ERROR_CODE_CHAN_ASSESSMENT_NOT_SUPPORTED 0x2E
539 #define HCI_ERROR_CODE_INSUFFICIENT_SECURITY 0x2F
540 #define HCI_ERROR_CODE_PARAM_OUT_OF_MANDATORY_RANGE 0x30
541 #define HCI_ERROR_CODE_RESERVED2 0x31
542 #define HCI_ERROR_CODE_ROLE_SWITCH_PENDING 0x32
543 #define HCI_ERROR_CODE_RESERVED3 0x33
544 #define HCI_ERROR_CODE_RESERVED_SLOT_VIOLATION 0x34
545 #define HCI_ERROR_CODE_ROLE_SWITCH_FAILED 0x35
546 #define HCI_ERROR_CODE_EXTENDED_INQUIRY_RESP_TOO_LARGE 0x36
547 #define HCI_ERROR_CODE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST 0x37
548 #define HCI_ERROR_CODE_HOST_BUSY_PAIRING 0x38
549 #define HCI_ERROR_CODE_CONN_REJ_NO_SUITABLE_CHAN_FOUND 0x39
550 #define HCI_ERROR_CODE_CONTROLLER_BUSY 0x3A
551 #define HCI_ERROR_CODE_UNACCEPTABLE_CONN_PARAMETERS 0x3B
552 #define HCI_ERROR_CODE_DIRECTED_ADV_TIMEOUT 0x3C
553 #define HCI_ERROR_CODE_CONN_TERM_MIC_FAILURE 0x3D
554 #define HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH 0x3E
555 #define HCI_ERROR_CODE_MAC_CONN_FAILED 0x3F
556 #define HCI_ERROR_CODE_COARSE_CLOCK_ADJUST_REJECTED 0x40
557 
563 #define HCI_MAX_NUM_CMD_BUFFERS LL_MAX_NUM_CMD_BUFFERS
564 #if defined(CC2540) || defined(CC2541) || defined(CC2541S)
565 #define HCI_MAX_NUM_DATA_BUFFERS LL_MAX_NUM_DATA_BUFFERS //<! Max Num Data Buffers
566 #endif // CC2540 | CC2541 | CC2541S
567 
568 // Send Data Packet Boundary Flags
569 #define FIRST_PKT_HOST_TO_CTRL LL_DATA_FIRST_PKT_HOST_TO_CTRL
570 #define CONTINUING_PKT LL_DATA_CONTINUATION_PKT
571 #define FIRST_PKT_CTRL_TO_HOST LL_DATA_FIRST_PKT_CTRL_TO_HOST
572 
573 
575 #define HCI_RSSI_NOT_AVAILABLE LL_RSSI_NOT_AVAILABLE
576 
580 #define HCI_DISCONNECT_AUTH_FAILURE HCI_ERROR_CODE_AUTH_FAILURE
581 #define HCI_DISCONNECT_REMOTE_USER_TERM HCI_ERROR_CODE_REMOTE_USER_TERM_CONN
582 #define HCI_DISCONNECT_REMOTE_DEV_LOW_RESOURCES HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES
583 #define HCI_DISCONNECT_REMOTE_DEV_POWER_OFF HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF
584 #define HCI_DISCONNECT_UNSUPPORTED_REMOTE_FEATURE HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE
585 #define HCI_DISCONNECT_KEY_PAIRING_NOT_SUPPORTED HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
586 #define HCI_DISCONNECT_UNACCEPTABLE_CONN_INTERVAL HCI_ERROR_CODE_UNACCEPTABLE_CONN_INTERVAL
587 
592 // Tx Power Types
593 #define HCI_READ_CURRENT_TX_POWER_LEVEL LL_READ_CURRENT_TX_POWER_LEVEL
594 #define HCI_READ_MAX_TX_POWER_LEVEL LL_READ_MAX_TX_POWER_LEVEL
595 
600 #define HCI_CTRL_TO_HOST_FLOW_CTRL_OFF 0
601 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_OFF 1
602 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_OFF_SYNCH_ON 2
603 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_ON 3
604 
609 #define HCI_PUBLIC_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_PUBLIC
610 #define HCI_RANDOM_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_RANDOM
611 
616 #define HCI_CONNECTABLE_UNDIRECTED_ADV LL_ADV_CONNECTABLE_UNDIRECTED_EVT
617 #define HCI_CONNECTABLE_DIRECTED_HDC_ADV LL_ADV_CONNECTABLE_DIRECTED_HDC_EVT
618 #define HCI_SCANNABLE_UNDIRECTED LL_ADV_SCANNABLE_UNDIRECTED_EVT
619 #define HCI_NONCONNECTABLE_UNDIRECTED_ADV LL_ADV_NONCONNECTABLE_UNDIRECTED_EVT
620 #define HCI_CONNECTABLE_DIRECTED_LDC_ADV LL_ADV_CONNECTABLE_DIRECTED_LDC_EVT
621 
626 #define HCI_ADV_CHAN_37 LL_ADV_CHAN_37
627 #define HCI_ADV_CHAN_38 LL_ADV_CHAN_38
628 #define HCI_ADV_CHAN_39 LL_ADV_CHAN_39
629 #define HCI_ADV_CHAN_ALL (LL_ADV_CHAN_37 | LL_ADV_CHAN_38 | LL_ADV_CHAN_39)
630 
635 #define HCI_ADV_WL_POLICY_ANY_REQ LL_ADV_WL_POLICY_ANY_REQ
636 #define HCI_ADV_WL_POLICY_WL_SCAN_REQ LL_ADV_WL_POLICY_WL_SCAN_REQ
637 #define HCI_ADV_WL_POLICY_WL_CONNECT_REQ LL_ADV_WL_POLICY_WL_CONNECT_REQ
638 #define HCI_ADV_WL_POLICY_WL_ALL_REQ LL_ADV_WL_POLICY_WL_ALL_REQ
639 
644 #define HCI_ENABLE_ADV LL_ADV_MODE_ON
645 #define HCI_DISABLE_ADV LL_ADV_MODE_OFF
646 
651 #define HCI_SCAN_PASSIVE LL_SCAN_PASSIVE
652 #define HCI_SCAN_ACTIVE LL_SCAN_ACTIVE
653 
658 // Scan White List Policy
659 #define HCI_SCAN_WL_POLICY_ANY_ADV_PKTS LL_SCAN_WL_POLICY_ANY_ADV_PKTS
660 #define HCI_SCAN_WL_POLICY_USE_WHITE_LIST LL_SCAN_WL_POLICY_USE_WHITE_LIST
661 
666 // Scan Filtering
667 #define HCI_FILTER_REPORTS_DISABLE LL_FILTER_REPORTS_DISABLE
668 #define HCI_FILTER_REPORTS_ENABLE LL_FILTER_REPORTS_ENABLE
669 
674 // Scan Commands
675 #define HCI_SCAN_STOP LL_SCAN_STOP
676 #define HCI_SCAN_START LL_SCAN_START
677 
682 #define HCI_INIT_WL_POLICY_USE_PEER_ADDR LL_INIT_WL_POLICY_USE_PEER_ADDR
683 #define HCI_INIT_WL_POLICY_USE_WHITE_LIST LL_INIT_WL_POLICY_USE_WHITE_LIST
684 
689 #define HCI_ENCRYPTION_OFF LL_ENCRYPTION_OFF
690 #define HCI_ENCRYPTION_ON LL_ENCRYPTION_ON
691 
696 #define HCI_DIRECT_TEST_PAYLOAD_PRBS9 LL_DIRECT_TEST_PAYLOAD_PRBS9
697 #define HCI_DIRECT_TEST_PAYLOAD_0x0F LL_DIRECT_TEST_PAYLOAD_0x0F
698 #define HCI_DIRECT_TEST_PAYLOAD_0x55 LL_DIRECT_TEST_PAYLOAD_0x55
699 #define HCI_DIRECT_TEST_PAYLOAD_PRBS15 LL_DIRECT_TEST_PAYLOAD_PRBS15
700 #define HCI_DIRECT_TEST_PAYLOAD_0xFF LL_DIRECT_TEST_PAYLOAD_0xFF
701 #define HCI_DIRECT_TEST_PAYLOAD_0x00 LL_DIRECT_TEST_PAYLOAD_0x00
702 #define HCI_DIRECT_TEST_PAYLOAD_0xF0 LL_DIRECT_TEST_PAYLOAD_0xF0
703 #define HCI_DIRECT_TEST_PAYLOAD_0xAA LL_DIRECT_TEST_PAYLOAD_0xAA
704 
709 #define HCI_DTM_STANDARD_MODULATION_INDEX LL_DTM_STANDARD_MODULATION_INDEX
710 #define HCI_DTM_STABLE_MODULATION_INDEX LL_DTM_STABLE_MODULATION_INDEX
711 
716 #define HCI_DISABLE_ADDR_RESOLUTION LL_DISABLE_ADDR_RESOLUTION
717 #define HCI_ENABLE_ADDR_RESOLUTION LL_ENABLE_ADDR_RESOLUTION
718 
723 #define HCI_PHY_USE_PHY_PARAM LL_PHY_USE_PHY_PARAM
724 #define HCI_PHY_USE_ANY_PHY LL_PHY_USE_ANY_PHY
725 
730 #define HCI_PHY_1_MBPS LL_PHY_1_MBPS
731 #define HCI_PHY_2_MBPS LL_PHY_2_MBPS
732 
737 #define HCI_EXT_RX_GAIN_STD LL_EXT_RX_GAIN_STD
738 #define HCI_EXT_RX_GAIN_HIGH LL_EXT_RX_GAIN_HIGH
739 
744 #if defined( CC26XX ) || defined( CC13XX )
745 #define HCI_EXT_TX_POWER_MINUS_21_DBM LL_EXT_TX_POWER_MINUS_21_DBM
746 #define HCI_EXT_TX_POWER_MINUS_18_DBM LL_EXT_TX_POWER_MINUS_18_DBM
747 #define HCI_EXT_TX_POWER_MINUS_15_DBM LL_EXT_TX_POWER_MINUS_15_DBM
748 #define HCI_EXT_TX_POWER_MINUS_12_DBM LL_EXT_TX_POWER_MINUS_12_DBM
749 #define HCI_EXT_TX_POWER_MINUS_9_DBM LL_EXT_TX_POWER_MINUS_9_DBM
750 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
751 #define HCI_EXT_TX_POWER_MINUS_3_DBM LL_EXT_TX_POWER_MINUS_3_DBM
752 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
753 #define HCI_EXT_TX_POWER_1_DBM LL_EXT_TX_POWER_1_DBM
754 #define HCI_EXT_TX_POWER_2_DBM LL_EXT_TX_POWER_2_DBM
755 #define HCI_EXT_TX_POWER_3_DBM LL_EXT_TX_POWER_3_DBM
756 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
757 #define HCI_EXT_TX_POWER_5_DBM LL_EXT_TX_POWER_5_DBM
758 #else // CC254x
759 #define HCI_EXT_TX_POWER_MINUS_23_DBM LL_EXT_TX_POWER_MINUS_23_DBM
760 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
761 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
762 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
763 #endif // CC26XX/CC13XX
764 
769 #define HCI_EXT_ENABLE_ONE_PKT_PER_EVT LL_EXT_ENABLE_ONE_PKT_PER_EVT
770 #define HCI_EXT_DISABLE_ONE_PKT_PER_EVT LL_EXT_DISABLE_ONE_PKT_PER_EVT
771 
773 
775 
778 #define HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT LL_EXT_ENABLE_CLK_DIVIDE_ON_HALT
779 #define HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT
780 
782 
784 
787 #define HCI_EXT_NV_IN_USE LL_EXT_NV_IN_USE
788 #define HCI_EXT_NV_NOT_IN_USE LL_EXT_NV_NOT_IN_USE
789 
794 #define HCI_EXT_ENABLE_FAST_TX_RESP_TIME LL_EXT_ENABLE_FAST_TX_RESP_TIME
795 #define HCI_EXT_DISABLE_FAST_TX_RESP_TIME LL_EXT_DISABLE_FAST_TX_RESP_TIME
796 
801 #define HCI_EXT_ENABLE_SL_OVERRIDE LL_EXT_ENABLE_SL_OVERRIDE
802 #define HCI_EXT_DISABLE_SL_OVERRIDE LL_EXT_DISABLE_SL_OVERRIDE
803 
808 #define HCI_EXT_TX_MODULATED_CARRIER LL_EXT_TX_MODULATED_CARRIER
809 #define HCI_EXT_TX_UNMODULATED_CARRIER LL_EXT_TX_UNMODULATED_CARRIER
810 
815 #define HCI_PTM_SET_FREQ_TUNE_DOWN LL_EXT_SET_FREQ_TUNE_DOWN
816 #define HCI_PTM_SET_FREQ_TUNE_UP LL_EXT_SET_FREQ_TUNE_UP
817 
819 
821 
824 #define HCI_EXT_PM_IO_PORT_P0 LL_EXT_PM_IO_PORT_P0
825 #define HCI_EXT_PM_IO_PORT_P1 LL_EXT_PM_IO_PORT_P1
826 #define HCI_EXT_PM_IO_PORT_P2 LL_EXT_PM_IO_PORT_P2
827 #define HCI_EXT_PM_IO_PORT_NONE LL_EXT_PM_IO_PORT_NONE
828 
829 #define HCI_EXT_PM_IO_PORT_PIN0 LL_EXT_PM_IO_PORT_PIN0
830 #define HCI_EXT_PM_IO_PORT_PIN1 LL_EXT_PM_IO_PORT_PIN1
831 #define HCI_EXT_PM_IO_PORT_PIN2 LL_EXT_PM_IO_PORT_PIN2
832 #define HCI_EXT_PM_IO_PORT_PIN3 LL_EXT_PM_IO_PORT_PIN3
833 #define HCI_EXT_PM_IO_PORT_PIN4 LL_EXT_PM_IO_PORT_PIN4
834 #define HCI_EXT_PM_IO_PORT_PIN5 LL_EXT_PM_IO_PORT_PIN5
835 #define HCI_EXT_PM_IO_PORT_PIN6 LL_EXT_PM_IO_PORT_PIN6
836 #define HCI_EXT_PM_IO_PORT_PIN7 LL_EXT_PM_IO_PORT_PIN7
837 
839 
844 #define HCI_EXT_PER_RESET LL_EXT_PER_RESET
845 #define HCI_EXT_PER_READ LL_EXT_PER_READ
846 
848 
850 
853 #define HCI_EXT_HALT_DURING_RF_DISABLE LL_EXT_HALT_DURING_RF_DISABLE
854 #define HCI_EXT_HALT_DURING_RF_ENABLE LL_EXT_HALT_DURING_RF_ENABLE
855 
857 
859 
862 #define HCI_EXT_SET_USER_REVISION LL_EXT_SET_USER_REVISION
863 #define HCI_EXT_READ_BUILD_REVISION LL_EXT_READ_BUILD_REVISION
864 
869 #define HCI_EXT_RESET_SYSTEM_HARD LL_EXT_RESET_SYSTEM_HARD
870 #define HCI_EXT_RESET_SYSTEM_SOFT LL_EXT_RESET_SYSTEM_SOFT
871 
873 
875 
878 #define HCI_EXT_DISABLE_OVERLAPPED_PROCESSING LL_EXT_DISABLE_OVERLAPPED_PROCESSING
879 #define HCI_EXT_ENABLE_OVERLAPPED_PROCESSING LL_EXT_ENABLE_OVERLAPPED_PROCESSING
880 
882 
884 
887 #define HCI_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT
888 #define HCI_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT
889 
894 #define HCI_EXT_DISABLE_SCAN_REQUEST_REPORT LL_EXT_DISABLE_SCAN_REQUEST_REPORT
895 #define HCI_EXT_ENABLE_SCAN_REQUEST_REPORT LL_EXT_ENABLE_SCAN_REQUEST_REPORT
896 
903 // HCI Link Type for Buffer Overflow
904 #define HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW 0
905 #define HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW 1
906 
910 /*
911  * TYPEDEFS
912  */
913 
915 typedef uint8 hciStatus_t;
917 
922 typedef struct
924 {
926  uint8 BLEEventCode;
927  uint8 status;
929  uint8 role;
930  uint8 peerAddrType;
931  uint8 peerAddr[B_ADDR_LEN];
932  uint16 connInterval;
933  uint16 connLatency;
934  uint16 connTimeout;
937 
939 typedef struct
940 {
942  uint8 BLEEventCode;
943  uint8 status;
945  uint8 role;
946  uint8 peerAddrType;
947  uint8 peerAddr[B_ADDR_LEN];
948  uint16 connInterval;
949  uint16 connLatency;
950  uint16 connTimeout;
952  // Note: These fields normally follow peerAddr. Put here for Host optimization.
953  uint8 localRPA[B_ADDR_LEN];
954  uint8 peerRPA[B_ADDR_LEN];
956 
959 {
963 
965 typedef struct
966 {
967  uint8 eventType;
968  uint8 addrType;
969  uint8 addr[B_ADDR_LEN];
970  uint8 dataLen;
971  uint8 rspData[B_MAX_ADV_LEN];
972  int8 rssi;
974 
976 typedef struct
977 {
979  uint8 BLEEventCode;
980  uint8 numDevices;
983 
985 typedef struct
986 {
988  uint8 BLEEventCode;
989  uint8 eventType;
990  uint8 peerAddrType;
991  uint8 peerAddr[B_ADDR_LEN];
992  uint8 bleChan;
993  int8 rssi;
995 
997 typedef struct
998 {
1001  uint8 status;
1003  uint16 connInterval;
1004  uint16 connLatency;
1005  uint16 connTimeout;
1007 
1009 typedef struct
1010 {
1013  uint8 status;
1015  uint8 features[8];
1017 
1019 typedef struct
1020 {
1023  uint16 connHandle;
1024  uint8 reason;
1025  uint8 encEnable;
1027 
1029 typedef struct
1030 {
1033  uint16 connHandle;
1034  uint8 random[B_RANDOM_NUM_SIZE];
1037 
1039 typedef struct
1040 {
1042  uint8 numHandles;
1046 
1048 typedef struct
1049 {
1052  uint16 cmdOpcode;
1053  uint8 *pReturnParam;
1055 
1057 typedef struct
1058 {
1060  uint8 length;
1061  uint16 cmdOpcode;
1062  uint8 *pEventParam;
1064 
1066 typedef struct
1067 {
1069  uint8 cmdStatus;
1071  uint16 cmdOpcode;
1073 
1075 typedef struct
1076 {
1080 
1082 typedef struct
1083 {
1085  uint8 status;
1086  uint16 connHandle;
1087  uint8 reason;
1089 
1091 typedef struct
1092 {
1094  uint8 linkType;
1096 
1098 typedef struct
1099 {
1101  uint16 connHandle;
1103 
1105 typedef struct
1106 {
1109  uint8 status;
1110  uint16 connHandle;
1111  uint16 Interval_Min;
1112  uint16 Interval_Max;
1113  uint16 Latency;
1114  uint16 Timeout;
1116 
1118 typedef struct
1119 {
1122  uint8 status;
1123  uint16 connHandle;
1124  uint8 txPhy;
1125  uint8 rxPhy;
1127 
1129 typedef struct
1130 {
1133  uint16 connHandle;
1134  uint16 maxTxOctets;
1135  uint16 maxTxTime;
1136  uint16 maxRxOctets;
1137  uint16 maxRxTime;
1139 
1141 typedef struct
1142 {
1145  uint8 status;
1146  uint8 p256Key[LL_SC_P256_KEY_LEN];
1148 
1150 typedef struct
1151 {
1154  uint8 status;
1155  uint8 dhKey[LL_SC_DHKEY_LEN];
1157 
1159 typedef struct
1160 {
1161  uint8 status;
1162  uint16 dataPktLen;
1163  uint8 numDataPkts;
1165 
1167 typedef struct
1168 {
1170  uint8 *pData;
1171 } hciPacket_t;
1172 
1174 typedef struct
1175 {
1177  uint8 pktType;
1178  uint16 connHandle;
1179  uint8 pbFlag;
1180  uint16 pktLen;
1181  uint8 *pData;
1182 } hciDataPacket_t;
1183 
1185 
1186 // OSAL HCI_DATA_EVENT message format. This message is used to forward incoming
1187 // data messages up to an application
1188 typedef struct
1189 {
1190  osal_event_hdr_t hdr;
1191  uint16 connHandle;
1192  uint8 pbFlag;
1193  uint16 len;
1194  uint8 *pData;
1195 } hciDataEvent_t;
1196 
1198 
1199 #if defined( CC26XX ) || defined( CC13XX )
1200 PACKED_TYPEDEF_STRUCT
1201 #else // CC254x
1202 typedef struct
1203 #endif // CC26XX/CC13XX
1204 {
1205  uint8 connId;
1206  uint8 role;
1207  uint8 addr[LL_DEVICE_ADDR_LEN];
1208  uint8 addrType;
1209 } hciConnInfo_t;
1210 
1211 #if defined( CC26XX ) || defined( CC13XX )
1212 PACKED_TYPEDEF_STRUCT
1213 #else // CC254x
1214 typedef struct
1215 #endif // CC26XX/CC13XX
1216 {
1217  uint32_t accessAddr;
1218  uint16_t connInterval;
1219  uint8_t hopValue;
1220  uint16_t mSCA;
1221  uint8_t nextChan;
1222  uint8_t chanMap[LL_NUM_BYTES_FOR_CHAN_MAP];
1223 }hciActiveConnInfo_t;
1224 
1225 #if defined( CC26XX ) || defined( CC13XX )
1226 PACKED_TYPEDEF_STRUCT
1227 #else // CC254x
1228 typedef struct
1229 #endif // CC26XX/CC13XX
1230 {
1231  uint16 numPkts;
1232  uint16 numCrcErr;
1233  uint16 numEvents;
1234  uint16 numMMissedEvents;
1235 } hciPER_t;
1236 
1239 /*
1240  * LOCAL VARIABLES
1241  */
1242 
1243 /*
1244  * GLOBAL VARIABLES
1245  */
1246 
1248 
1260 extern void *HCI_bm_alloc( uint16 size );
1261 
1263 
1264 
1280 extern uint8 HCI_ValidConnTimeParams( uint16 connIntervalMin,
1281  uint16 connIntervalMax,
1282  uint16 connLatency,
1283  uint16 connTimeout );
1284 
1291 extern void HCI_TestAppTaskRegister( uint8 taskID );
1292 
1299 extern void HCI_GAPTaskRegister( uint8 taskID );
1300 
1306 extern void HCI_L2CAPTaskRegister( uint8 taskID );
1307 
1313 extern void HCI_SMPTaskRegister( uint8 taskID );
1314 
1320 extern void HCI_ExtTaskRegister( uint8 taskID );
1321 
1348 extern hciStatus_t HCI_SendDataPkt( uint16 connHandle,
1349  uint8 pbFlag,
1350  uint16 pktLen,
1351  uint8 *pData );
1352 
1368 extern hciStatus_t HCI_DisconnectCmd( uint16 connHandle,
1369  uint8 reason );
1370 
1371 
1389 extern hciStatus_t HCI_ReadRemoteVersionInfoCmd( uint16 connHandle );
1390 
1391 
1406 extern hciStatus_t HCI_SetEventMaskCmd( uint8 *pMask );
1407 
1408 
1423 extern hciStatus_t HCI_SetEventMaskPage2Cmd( uint8 *pMask );
1424 
1425 
1434 extern hciStatus_t HCI_ResetCmd( void );
1435 
1447 extern hciStatus_t HCI_ReadTransmitPowerLevelCmd( uint16 connHandle,
1448  uint8 txPwrType );
1449 
1451 
1468 extern hciStatus_t HCI_SetControllerToHostFlowCtrlCmd( uint8 flowControlEnable );
1469 
1470 
1471 
1494 extern hciStatus_t HCI_HostBufferSizeCmd( uint16 hostAclPktLen,
1495  uint8 hostSyncPktLen,
1496  uint16 hostTotalNumAclPkts,
1497  uint16 hostTotalNumSyncPkts );
1498 
1500 
1533 extern hciStatus_t HCI_HostNumCompletedPktCmd( uint8 numHandles,
1534  uint16 *connHandles,
1535  uint16 *numCompletedPkts );
1536 
1537 
1550 extern hciStatus_t HCI_ReadAuthPayloadTimeoutCmd( uint16 connHandle,
1551  uint16 *aptoValue );
1552 
1553 
1565 extern hciStatus_t HCI_WriteAuthPayloadTimeoutCmd( uint16 connHandle,
1566  uint16 aptoValue );
1567 
1568 
1577 extern hciStatus_t HCI_ReadLocalVersionInfoCmd( void );
1578 
1579 
1588 extern hciStatus_t HCI_ReadLocalSupportedCommandsCmd( void );
1589 
1590 
1599 extern hciStatus_t HCI_ReadLocalSupportedFeaturesCmd( void );
1600 
1601 
1610 extern hciStatus_t HCI_ReadBDADDRCmd( void );
1611 
1612 
1630 extern hciStatus_t HCI_ReadRssiCmd( uint16 connHandle );
1631 
1646 extern hciStatus_t HCI_LE_SetEventMaskCmd( uint8 *pEventMask );
1647 
1648 
1657 extern hciStatus_t HCI_LE_ReadBufSizeCmd( void );
1658 
1659 
1668 extern hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd( void );
1669 
1670 
1682 extern hciStatus_t HCI_LE_SetRandomAddressCmd( uint8 *pRandAddr );
1683 
1684 
1703 extern hciStatus_t HCI_LE_SetAdvParamCmd( uint16 advIntervalMin,
1704  uint16 advIntervalMax,
1705  uint8 advType,
1706  uint8 ownAddrType,
1707  uint8 directAddrType,
1708  uint8 *directAddr,
1709  uint8 advChannelMap,
1710  uint8 advFilterPolicy );
1711 
1712 
1724 extern hciStatus_t HCI_LE_SetAdvDataCmd( uint8 dataLen,
1725  uint8 *pData );
1726 
1727 
1739 extern hciStatus_t HCI_LE_SetScanRspDataCmd( uint8 dataLen,
1740  uint8 *pData );
1741 
1742 
1753 extern hciStatus_t HCI_LE_SetAdvEnableCmd( uint8 advEnable );
1754 
1755 
1764 extern hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd( void );
1765 
1766 
1785 extern hciStatus_t HCI_LE_SetScanParamCmd( uint8 scanType,
1786  uint16 scanInterval,
1787  uint16 scanWindow,
1788  uint8 ownAddrType,
1789  uint8 filterPolicy );
1790 
1791 
1804 extern hciStatus_t HCI_LE_SetScanEnableCmd( uint8 scanEnable,
1805  uint8 filterDuplicates );
1806 
1807 
1834 extern hciStatus_t HCI_LE_CreateConnCmd( uint16 scanInterval,
1835  uint16 scanWindow,
1836  uint8 initFilterPolicy,
1837  uint8 addrTypePeer,
1838  uint8 *peerAddr,
1839  uint8 ownAddrType,
1840  uint16 connIntervalMin,
1841  uint16 connIntervalMax,
1842  uint16 connLatency,
1843  uint16 connTimeout,
1844  uint16 minLen,
1845  uint16 maxLen );
1846 
1847 
1856 extern hciStatus_t HCI_LE_CreateConnCancelCmd( void );
1857 
1858 
1867 extern hciStatus_t HCI_LE_ReadWhiteListSizeCmd( void );
1868 
1869 
1878 extern hciStatus_t HCI_LE_ClearWhiteListCmd( void );
1879 
1880 
1892 extern hciStatus_t HCI_LE_AddWhiteListCmd( uint8 addrType,
1893  uint8 *devAddr );
1894 
1895 
1908 extern hciStatus_t HCI_LE_RemoveWhiteListCmd( uint8 addrType,
1909  uint8 *devAddr );
1910 
1911 
1929 extern hciStatus_t HCI_LE_ConnUpdateCmd( uint16 connHandle,
1930  uint16 connIntervalMin,
1931  uint16 connIntervalMax,
1932  uint16 connLatency,
1933  uint16 connTimeout,
1934  uint16 minLen,
1935  uint16 maxLen );
1936 
1937 
1948 extern hciStatus_t HCI_LE_SetHostChanClassificationCmd( uint8 *chanMap );
1949 
1950 
1961 extern hciStatus_t HCI_LE_ReadChannelMapCmd( uint16 connHandle );
1962 
1963 
1975 extern hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd( uint16 connHandle );
1976 
1977 
1997 extern hciStatus_t HCI_LE_EncryptCmd( uint8 *key,
1998  uint8 *plainText );
1999 
2000 
2023 extern hciStatus_t HCI_LE_RandCmd( void );
2024 
2025 
2041 extern hciStatus_t HCI_LE_StartEncyptCmd( uint16 connHandle,
2042  uint8 *random,
2043  uint8 *encDiv,
2044  uint8 *ltk );
2045 
2046 
2058 extern hciStatus_t HCI_LE_LtkReqReplyCmd( uint16 connHandle,
2059  uint8 *ltk );
2060 
2061 
2072 extern hciStatus_t HCI_LE_LtkReqNegReplyCmd( uint16 connHandle );
2073 
2074 
2083 extern hciStatus_t HCI_LE_ReadSupportedStatesCmd( void );
2084 
2085 
2099 extern hciStatus_t HCI_LE_ReceiverTestCmd( uint8 rxChan );
2100 
2101 
2118 extern hciStatus_t HCI_LE_TransmitterTestCmd( uint8 txChan,
2119  uint8 dataLen,
2120  uint8 pktPayload );
2121 
2122 
2134 extern hciStatus_t HCI_LE_TestEndCmd( void );
2135 
2136 // V4.1
2137 
2159 extern hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd( uint16 connHandle,
2160  uint16 connIntervalMin,
2161  uint16 connIntervalMax,
2162  uint16 connLatency,
2163  uint16 connTimeout,
2164  uint16 minLen,
2165  uint16 maxLen );
2166 
2167 
2184 extern hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd( uint16 connHandle,
2185  uint8 reason );
2186 
2187 
2188 // V4.2 - Extended Data Length
2189 
2205 extern hciStatus_t HCI_LE_SetDataLenCmd( uint16 connHandle,
2206  uint16 txOctets,
2207  uint16 txTime );
2208 
2209 
2222 extern hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd( void );
2223 
2224 
2240 extern hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd( uint16 txOctets,
2241  uint16 txTime );
2242 
2243 
2255 extern hciStatus_t HCI_LE_ReadMaxDataLenCmd( void );
2256 
2257 
2258 // V4.2 - Privacy 1.2
2259 
2277 extern hciStatus_t HCI_LE_AddDeviceToResolvingListCmd( uint8 peerIdAddrType,
2278  uint8 *peerIdAddr,
2279  uint8 *peerIRK,
2280  uint8 *localIRK );
2281 
2282 
2298 extern hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd( uint8 peerIdAddrType,
2299  uint8 *peerIdAddr );
2300 
2301 
2314 extern hciStatus_t HCI_LE_ClearResolvingListCmd( void );
2315 
2316 
2329 extern hciStatus_t HCI_LE_ReadResolvingListSizeCmd( void );
2330 
2331 
2350 extern hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd( uint8 peerIdAddrType,
2351  uint8 *peerIdAddr );
2352 
2353 
2372 extern hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd( uint8 localIdAddrType,
2373  uint8 *localIdAddr );
2374 
2375 
2391 extern hciStatus_t HCI_LE_SetAddressResolutionEnableCmd( uint8 addrResolutionEnable );
2392 
2393 
2412 extern hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd( uint16 rpaTimeout );
2413 
2414 
2415 // V4.2 - Secure Connections
2416 
2432 extern hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd( void );
2433 
2434 
2454 extern hciStatus_t HCI_LE_GenerateDHKeyCmd( uint8 *publicKey );
2455 
2457 
2458 // V5.0 - 2Mbps PHY
2459 
2470 extern hciStatus_t HCI_LE_ReadPhyCmd( uint16 connHandle );
2471 
2472 
2491 extern hciStatus_t HCI_LE_SetDefaultPhyCmd( uint8 allPhys,
2492  uint8 txPhy,
2493  uint8 rxPhy );
2494 
2495 
2512 extern hciStatus_t HCI_LE_SetPhyCmd( uint16 connHandle,
2513  uint8 allPhys,
2514  uint8 txPhy,
2515  uint8 rxPhy );
2516 
2517 
2534 extern hciStatus_t HCI_LE_EnhancedRxTestCmd( uint8 rxChan,
2535  uint8 rxPhy,
2536  uint8 modIndex );
2537 
2538 
2556 extern hciStatus_t HCI_LE_EnhancedTxTestCmd( uint8 txChan,
2557  uint8 payloadLen,
2558  uint8 payloadType,
2559  uint8 txPhy );
2560 
2562 
2563 /*
2564 ** HCI Vendor Specific Commands: Link Layer Extensions
2565 */
2566 
2579 extern hciStatus_t HCI_EXT_SetRxGainCmd( uint8 rxGain );
2580 
2581 
2597 extern hciStatus_t HCI_EXT_SetTxPowerCmd( uint8 txPower );
2598 
2599 
2610 extern hciStatus_t HCI_EXT_OnePktPerEvtCmd( uint8 control );
2611 
2612 
2614 
2632 extern hciStatus_t HCI_EXT_ClkDivOnHaltCmd( uint8 control );
2633 
2654 extern hciStatus_t HCI_EXT_DeclareNvUsageCmd( uint8 mode );
2655 
2657 
2671 extern hciStatus_t HCI_EXT_DecryptCmd( uint8 *key,
2672  uint8 *encText );
2673 
2674 
2698 extern hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd( uint8 *localFeatures );
2699 
2700 
2725 extern hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd( uint8 control );
2726 
2728 
2747 extern hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd( uint8 control );
2748 
2750 
2773 extern hciStatus_t HCI_EXT_ModemTestTxCmd( uint8 cwMode,
2774  uint8 txChan );
2775 
2776 
2798 extern hciStatus_t HCI_EXT_ModemHopTestTxCmd( void );
2799 
2800 
2825 extern hciStatus_t HCI_EXT_ModemTestRxCmd( uint8 rxChan );
2826 
2827 
2839 extern hciStatus_t HCI_EXT_EndModemTestCmd( void );
2840 
2841 
2867 extern hciStatus_t HCI_EXT_SetBDADDRCmd( uint8 *bdAddr );
2868 
2869 
2892 extern hciStatus_t HCI_EXT_SetSCACmd( uint16 scaInPPM );
2893 
2894 
2908 extern hciStatus_t HCI_EXT_EnablePTMCmd( void );
2909 
2910 
2929 extern hciStatus_t HCI_EXT_SetFreqTuneCmd( uint8 step );
2930 
2931 
2945 extern hciStatus_t HCI_EXT_SaveFreqTuneCmd( void );
2946 
2947 
2967 extern hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd( uint8 txPower );
2968 
2970 
3010 extern hciStatus_t HCI_EXT_MapPmIoPortCmd( uint8 ioPort, uint8 ioPin );
3011 
3013 
3030 extern hciStatus_t HCI_EXT_DisconnectImmedCmd( uint16 connHandle );
3031 
3032 
3052 extern hciStatus_t HCI_EXT_PacketErrorRateCmd( uint16 connHandle, uint8 command );
3053 
3054 
3093 extern hciStatus_t HCI_EXT_PERbyChanCmd( uint16 connHandle, perByChan_t *perByChan );
3094 
3095 
3097 
3106 extern hciStatus_t HCI_EXT_ExtendRfRangeCmd( void );
3107 
3121 extern hciStatus_t HCI_EXT_HaltDuringRfCmd( uint8 mode );
3122 
3124 
3177 extern hciStatus_t HCI_EXT_AdvEventNoticeCmd( uint8 taskID, uint16 taskEvent );
3178 
3179 
3236 extern hciStatus_t HCI_EXT_ScanEventNoticeCmd( uint8 taskID, uint16 taskEvent );
3237 
3238 
3293 extern hciStatus_t HCI_EXT_ConnEventNoticeCmd( uint16 connHandle, uint8 taskID, uint16 taskEvent );
3294 
3295 
3317 extern hciStatus_t HCI_EXT_BuildRevisionCmd( uint8 mode, uint16 userRevNum );
3318 
3320 
3347 extern hciStatus_t HCI_EXT_DelaySleepCmd( uint16 delay );
3348 
3350 
3368 extern hciStatus_t HCI_EXT_ResetSystemCmd( uint8 mode );
3369 
3370 // @cond NODOC
3371 
3382 extern hciStatus_t HCI_EXT_LLTestModeCmd( uint8 testCase );
3383 
3385 
3387 
3398 extern hciStatus_t HCI_EXT_OverlappedProcessingCmd( uint8 mode );
3399 
3401 
3422 extern hciStatus_t HCI_EXT_NumComplPktsLimitCmd( uint8 limit,
3423  uint8 flushOnEvt );
3424 
3425 
3461 extern hciStatus_t HCI_EXT_GetConnInfoCmd( uint8 *numAllocConns,
3462  uint8 *numActiveConns,
3463  hciConnInfo_t *activeConnInfo );
3464 
3486 extern hciStatus_t HCI_EXT_GetActiveConnInfoCmd( uint8 connId, hciActiveConnInfo_t *activeConnInfo );
3487 
3505 extern hciStatus_t HCI_EXT_SetMaxDataLenCmd( uint16 txOctets,
3506  uint16 txTime,
3507  uint16 rxOctets,
3508  uint16 rxTime );
3509 
3560 extern hciStatus_t HCI_EXT_ScanReqRptCmd( uint8 mode );
3561 
3562 
3563 #ifdef __cplusplus
3564 }
3565 #endif
3566 
3567 #endif /* HCI_H */
3568 
hciStatus_t HCI_EXT_PacketErrorRateCmd(uint16 connHandle, uint8 command)
Packet Error Rate Command.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1077
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1000
uint8 status
status of event
Definition: hci.h:1013
This API allows the software components in the Z-Stack to be written independently of the specifics o...
uint8 eventType
scan request event type
Definition: hci.h:989
uint16 * pNumCompletedPackets
pointer to the number of completed packets array
Definition: hci.h:1044
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).
uint16 connHandle
connection handle
Definition: hci.h:1133
void HCI_TestAppTaskRegister(uint8 taskID)
HCI vendor specific registration for HCI Test Application.
uint8 status
status of event
Definition: hci.h:1001
uint8 status
status of event
Definition: hci.h:1122
uint8 addrType
public or random address type
Definition: hci.h:968
uint8 pktType
packet type
Definition: hci.h:1177
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1022
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:951
uint16 Interval_Min
minimum connection interval
Definition: hci.h:1111
HCI Packet event.
Definition: hci.h:1167
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1031
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:130
uint8 numHandles
number of handles
Definition: hci.h:1042
uint8 * pReturnParam
pointer to the return parameter
Definition: hci.h:1053
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd(uint16 connHandle)
Read the remote device&#39;s used features.
hciStatus_t HCI_LE_SetAddressResolutionEnableCmd(uint8 addrResolutionEnable)
Disable / Enable Address Resolution.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1021
uint16 dataPktLen
data packet length
Definition: hci.h:1162
Command Status Event.
Definition: hci.h:1066
uint16 connHandle
connection handle
Definition: hci.h:1123
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1131
osal_event_hdr_t hdr
osal event header
Definition: hci.h:987
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:1075
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.
uint8 peerAddrType
peer address type
Definition: hci.h:946
uint8 status
status of event
Definition: hci.h:1085
hciStatus_t HCI_LE_RandCmd(void)
Generate a random number.
LE Advertising Report Event.
Definition: hci.h:965
#define B_MAX_ADV_LEN
BLE Maximum Advertising Packet Length.
Definition: bcomdef.h:127
hciStatus_t HCI_LE_ReadResolvingListSizeCmd(void)
Read Resolving List Size.
LE Data Length Change Event.
Definition: hci.h:1129
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.
uint8 numDevices
number of discovered devices
Definition: hci.h:980
uint16 connectionHandle
connection handle
Definition: hci.h:928
uint16 connHandle
connection handle
Definition: hci.h:1178
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1132
hciStatus_t HCI_EXT_EnablePTMCmd(void)
Enable Production Test Mode.
hciStatus_t HCI_LE_SetDataLenCmd(uint16 connHandle, uint16 txOctets, uint16 txTime)
Set Data Length.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1011
hciStatus_t HCI_EXT_ScanReqRptCmd(uint8 mode)
Enable/disable Scan Request Reports.
LE Phy Update Complete Event.
Definition: hci.h:1118
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1100
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1041
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1108
uint8 BLEEventCode
BLE Event code.
Definition: hci.h:1144
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1059
hciStatus_t HCI_WriteAuthPayloadTimeoutCmd(uint16 connHandle, uint16 aptoValue)
Used to write the connection&#39;s Authenticated Payload Timeout value.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1084
hciStatus_t HCI_LE_SetHostChanClassificationCmd(uint8 *chanMap)
Update the current data channel map.
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1153
union _hciEvt_BLEConnComplete_u_ hciEvt_BLEConnComplete_u
LE Connection Complete Event.
uint16 connInterval
connection interval
Definition: hci.h:932
hciStatus_t HCI_LE_LtkReqReplyCmd(uint16 connHandle, uint8 *ltk)
Send a positive LTK reply to the controller.
uint16 Interval_Max
maximum connection interval
Definition: hci.h:1112
void HCI_ExtTaskRegister(uint8 taskID)
HCI vendor specific registration for Host extended commands.
uint8 length
length of parametric data, in bytes
Definition: hci.h:1060
hciStatus_t HCI_EXT_NumComplPktsLimitCmd(uint8 limit, uint8 flushOnEvt)
Set the Number of Completed Packets Limit.
uint16 connectionHandle
connection handle
Definition: hci.h:1014
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1121
uint16 maxRxTime
maximum receive time
Definition: hci.h:1137
hciStatus_t HCI_ReadRssiCmd(uint16 connHandle)
Read RSSI of last packet.
uint8 status
status
Definition: hci.h:1145
uint16 connectionHandle
connection handle
Definition: hci.h:944
hciStatus_t HCI_LE_CreateConnCancelCmd(void)
Cancel connection.
uint16 connTimeout
connection supervision timeout
Definition: hci.h:1005
uint8 encEnable
encryption enabled or not
Definition: hci.h:1025
uint16 Latency
slave latency
Definition: hci.h:1113
hciStatus_t HCI_LE_ReadSupportedStatesCmd(void)
TRead the Controller&#39;s supported states.
uint16 connLatency
connection latency
Definition: hci.h:949
uint8 linkType
synchronous or asynchronous buffer overflow
Definition: hci.h:1094
hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd(void)
Read local P-256 Public Key.
Vendor Specific Command Complete Event.
Definition: hci.h:1057
osal_event_hdr_t hdr
osal event header
Definition: hci.h:999
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:1159
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.
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:935
Disconnection Complete Event.
Definition: hci.h:1082
hciStatus_t HCI_EXT_SaveFreqTuneCmd(void)
Save the frequency tuning value to non-volatile memory.
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 ...
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.
osal_event_hdr_t hdr
OSAL Event header.
Definition: hci.h:1176
Authenticated Payload Timeout Expired Event.
Definition: hci.h:1098
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.
uint16 connHandle
connection handle
Definition: hci.h:1110
uint16 maxTxTime
maximum transmission time
Definition: hci.h:1135
hciStatus_t HCI_LE_SetEventMaskCmd(uint8 *pEventMask)
Set the HCI LE event mask.
int8 rssi
report RSSI
Definition: hci.h:972
uint16 connLatency
connection latency
Definition: hci.h:1004
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:979
uint8 * pData
data
Definition: hci.h:1181
hciStatus_t HCI_EXT_SetRxGainCmd(uint8 rxGain)
Set the receiver gain.
uint8 reason
reason
Definition: hci.h:1024
int8 rssi
report RSSI
Definition: hci.h:993
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1032
uint16 cmdOpcode
command opcode
Definition: hci.h:1071
hciStatus_t HCI_ReadRemoteVersionInfoCmd(uint16 connHandle)
Request version information from the remote device in a connection.
osal_event_hdr_t hdr
OSAL event header.
Definition: hci.h:1169
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.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1143
hciStatus_t HCI_EXT_ModemHopTestTxCmd(void)
Start Modem Hop Tx Test.
Command Complete Event.
Definition: hci.h:1048
uint8 rxPhy
RX PHY.
Definition: hci.h:1125
hciEvt_DevInfo_t * devInfo
pointer to the array of devInfo
Definition: hci.h:981
uint16 connHandle
connection handle
Definition: hci.h:1023
HCI Data Packet.
Definition: hci.h:1174
uint8 status
status
Definition: hci.h:1154
uint8 status
status of event
Definition: hci.h:927
uint16 connTimeout
connection supervision timeout
Definition: hci.h:950
uint16 Timeout
supervision timeout
Definition: hci.h:1114
LE Generate DHKey Complete Event.
Definition: hci.h:1150
uint16 * pConnectionHandle
pointer to the connection handle array
Definition: hci.h:1043
LE Remote Connection Parameter Request Event.
Definition: hci.h:1105
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.
uint16 connLatency
connection latency
Definition: hci.h:933
uint8 status
status of event
Definition: hci.h:1109
hciStatus_t HCI_ReadLocalSupportedCommandsCmd(void)
Read the locally supported commands.
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:988
hciStatus_t HCI_EXT_ModemTestRxCmd(uint8 rxChan)
Start Modem Hop RX Test.
uint16 connInterval
connection interval
Definition: hci.h:948
uint8 bleChan
BLE channel.
Definition: hci.h:992
uint8 eventType
advertisement or scan response event type
Definition: hci.h:967
osal_event_hdr_t hdr
osal event header
Definition: hci.h:925
hciEvt_BLEEnhConnComplete_t enhEvt
enhanced connection complete event
Definition: hci.h:961
hciStatus_t HCI_LE_SetAdvEnableCmd(uint8 advEnable)
Turn Advertising on or off.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:941
hciStatus_t HCI_LE_ClearResolvingListCmd(void)
Remove all devices from the whitelist.
hciStatus_t HCI_EXT_OnePktPerEvtCmd(uint8 control)
Set whether a connection will be limited to one packet per event.
uint16 connTimeout
connection supervision timeout
Definition: hci.h:934
Type definitions and macros for BLE stack.
VS LE Scan Request Report Event.
Definition: hci.h:985
hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd(uint8 control)
Set Fast TX Response Time.
LE Encryption Change Event.
Definition: hci.h:1019
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.
uint16 connInterval
connection interval
Definition: hci.h:1003
uint8 * pEventParam
event parameters
Definition: hci.h:1062
hciEvt_BLEConnComplete_t legEvt
connection complete event
Definition: hci.h:960
hciStatus_t HCI_ReadTransmitPowerLevelCmd(uint16 connHandle, uint8 txPwrType)
Read the transmit power level.
uint8 cmdStatus
command status
Definition: hci.h:1069
LE Enhanced Connection Complete Event.
Definition: hci.h:939
uint16 connHandle
connection handle
Definition: hci.h:1101
uint16 cmdOpcode
command opcode
Definition: hci.h:1052
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:926
Number of Completed Packets Event.
Definition: hci.h:1039
hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd(uint8 peerIdAddrType, uint8 *peerIdAddr)
Read the Peer Resolvable Address.
OSAL Event Header.
Definition: osal.h:92
hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd(uint8 *localFeatures)
Write this device&#39;s supported features.
hciStatus_t HCI_LE_ReceiverTestCmd(uint8 rxChan)
Start the receiver Direct Test Mode test.
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:942
uint8 txPhy
TX PHY.
Definition: hci.h:1124
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.
uint8 numDataPkts
number of data packets
Definition: hci.h:1163
uint16 pktLen
packet length
Definition: hci.h:1180
hciStatus_t HCI_EXT_SetBDADDRCmd(uint8 *bdAddr)
Set this device&#39;s BLE address (BDADDR).
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1152
uint8 peerAddrType
peer address type
Definition: hci.h:930
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1068
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.
uint16 cmdOpcode
command opcode
Definition: hci.h:1061
hciStatus_t HCI_EXT_ScanEventNoticeCmd(uint8 taskID, uint16 taskEvent)
Scan Event Notice Command.
uint8 reason
reason
Definition: hci.h:1087
uint8 numHciCmdPkt
number of HCI Command Packet
Definition: hci.h:1051
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1107
uint8 hardwareCode
hardware error code
Definition: hci.h:1078
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:112
Data Buffer Overflow Event.
Definition: hci.h:1091
uint8 role
role of connection
Definition: hci.h:945
LE Connection Complete Event.
Definition: hci.h:923
uint8 numHciCmdPkt
number of HCI command packets
Definition: hci.h:1070
uint16 encryptedDiversifier
encrypted diversifier
Definition: hci.h:1035
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:1009
hciStatus_t HCI_DisconnectCmd(uint16 connHandle, uint8 reason)
Terminate a connection.
hciStatus_t HCI_LE_SetAdvDataCmd(uint8 dataLen, uint8 *pData)
Set the Advertising data.
uint8 peerAddrType
peer address type
Definition: hci.h:990
hciStatus_t HCI_LE_SetRandomAddressCmd(uint8 *pRandAddr)
Set this device&#39;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&#39;s data channel map.
uint8 status
status of event
Definition: hci.h:1161
hciStatus_t HCI_LE_ClearWhiteListCmd(void)
Clear the white list.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1050
hciStatus_t HCI_LE_ReadMaxDataLenCmd(void)
Read max data length.
hciStatus_t HCI_EXT_SetSCACmd(uint16 scaInPPM)
Set this device&#39;s Sleep Clock Accuracy.
uint16 maxTxOctets
maximum transmission bytes
Definition: hci.h:1134
hciStatus_t HCI_ReadBDADDRCmd(void)
Read this device&#39;s BLE address (BDADDR).
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1120
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&#39;s Authenticated Payload Timeout value.
LE Connection Complete Event.
Definition: hci.h:958
LE Connection Update Complete Event.
Definition: hci.h:997
hciStatus_t HCI_EXT_SetTxPowerCmd(uint8 txPower)
Set the transmit power.
uint8 status
status of event
Definition: hci.h:943
hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd(uint16 txOctets, uint16 txTime)
Write Suggested Default Data Length.
LE Read P256 Public Key Complete Event.
Definition: hci.h:1141
hciStatus_t HCI_LE_SetScanEnableCmd(uint8 scanEnable, uint8 filterDuplicates)
Turn Scanning on or off.
uint8 dataLen
length of report data
Definition: hci.h:970
hciStatus_t HCI_SendDataPkt(uint16 connHandle, uint8 pbFlag, uint16 pktLen, uint8 *pData)
Send an ACL data packet over a connection.
uint8 * pData
data
Definition: hci.h:1170
LE Advertising Packet Report Event.
Definition: hci.h:976
hciStatus_t HCI_EXT_DisconnectImmedCmd(uint16 connHandle)
Disconnect the connection immediately.
uint16 connHandle
connection handle
Definition: hci.h:1086
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1012
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.
uint8 pbFlag
flag
Definition: hci.h:1179
uint16 maxRxOctets
maximum receive bytes
Definition: hci.h:1136
uint8 role
role of connection
Definition: hci.h:929
hciStatus_t HCI_ResetCmd(void)
Reset the Link Layer.
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1093
uint16 connectionHandle
connection handle
Definition: hci.h:1002
void HCI_GAPTaskRegister(uint8 taskID)
HCI vendor specific registration for Host GAP.
LE Long Term Key Requested Event.
Definition: hci.h:1029
osal_event_hdr_t hdr
osal event header
Definition: hci.h:978
uint16 connHandle
connection handle
Definition: hci.h:1033
hciStatus_t HCI_EXT_GetConnInfoCmd(uint8 *numAllocConns, uint8 *numActiveConns, hciConnInfo_t *activeConnInfo)
Get Connection Info.
Copyright 2017, Texas Instruments Incorporated