TI BLE5-Stack API Documentation  2.02.09.00
hci.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Group: WCS, BTS
4  $Target Device: DEVICES $
5 
6  ******************************************************************************
7  $License: TI_TEXT 2009 $
8  ******************************************************************************
9  $Release Name: PACKAGE NAME $
10  $Release Date: PACKAGE RELEASE DATE $
11  *****************************************************************************/
12 
317 #ifndef HCI_H
318 #define HCI_H
319 
320 #ifdef __cplusplus
321 extern "C"
322 {
323 #endif
324 
325 /*
326  * INCLUDES
327  */
328 #include "bcomdef.h"
329 #include "osal.h"
330 #include "ll_common.h"
331 #include "ll_ae.h"
332 #include "hal_assert.h"
333 
334 /*
335  * MACROS
336  */
337 
338 /*
339  * CONSTANTS
340  */
341 
352 #define HCI_SUCCESS 0x00
353 #define HCI_ERROR_CODE_UNKNOWN_HCI_CMD 0x01
354 #define HCI_ERROR_CODE_UNKNOWN_CONN_ID 0x02
355 #define HCI_ERROR_CODE_HW_FAILURE 0x03
356 #define HCI_ERROR_CODE_PAGE_TIMEOUT 0x04
357 #define HCI_ERROR_CODE_AUTH_FAILURE 0x05
358 #define HCI_ERROR_CODE_PIN_KEY_MISSING 0x06
359 #define HCI_ERROR_CODE_MEM_CAP_EXCEEDED 0x07
360 #define HCI_ERROR_CODE_CONN_TIMEOUT 0x08
361 #define HCI_ERROR_CODE_CONN_LIMIT_EXCEEDED 0x09
362 #define HCI_ERROR_CODE_SYNCH_CONN_LIMIT_EXCEEDED 0x0A
363 #define HCI_ERROR_CODE_ACL_CONN_ALREADY_EXISTS 0x0B
364 #define HCI_ERROR_CODE_CMD_DISALLOWED 0x0C
365 #define HCI_ERROR_CODE_CONN_REJ_LIMITED_RESOURCES 0x0D
366 #define HCI_ERROR_CODE_CONN_REJECTED_SECURITY_REASONS 0x0E
367 #define HCI_ERROR_CODE_CONN_REJECTED_UNACCEPTABLE_BDADDR 0x0F
368 #define HCI_ERROR_CODE_CONN_ACCEPT_TIMEOUT_EXCEEDED 0x10
369 #define HCI_ERROR_CODE_UNSUPPORTED_FEATURE_PARAM_VALUE 0x11
370 #define HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS 0x12
371 #define HCI_ERROR_CODE_REMOTE_USER_TERM_CONN 0x13
372 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES 0x14
373 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF 0x15
374 #define HCI_ERROR_CODE_CONN_TERM_BY_LOCAL_HOST 0x16
375 #define HCI_ERROR_CODE_REPEATED_ATTEMPTS 0x17
376 #define HCI_ERROR_CODE_PAIRING_NOT_ALLOWED 0x18
377 #define HCI_ERROR_CODE_UNKNOWN_LMP_PDU 0x19
378 #define HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE 0x1A
379 #define HCI_ERROR_CODE_SCO_OFFSET_REJ 0x1B
380 #define HCI_ERROR_CODE_SCO_INTERVAL_REJ 0x1C
381 #define HCI_ERROR_CODE_SCO_AIR_MODE_REJ 0x1D
382 #define HCI_ERROR_CODE_INVALID_LMP_PARAMS 0x1E
383 #define HCI_ERROR_CODE_UNSPECIFIED_ERROR 0x1F
384 #define HCI_ERROR_CODE_UNSUPPORTED_LMP_PARAM_VAL 0x20
385 #define HCI_ERROR_CODE_ROLE_CHANGE_NOT_ALLOWED 0x21
386 #define HCI_ERROR_CODE_LMP_LL_RESP_TIMEOUT 0x22
387 #define HCI_ERROR_CODE_LMP_ERR_TRANSACTION_COLLISION 0x23
388 #define HCI_ERROR_CODE_LMP_PDU_NOT_ALLOWED 0x24
389 #define HCI_ERROR_CODE_ENCRYPT_MODE_NOT_ACCEPTABLE 0x25
390 #define HCI_ERROR_CODE_LINK_KEY_CAN_NOT_BE_CHANGED 0x26
391 #define HCI_ERROR_CODE_REQ_QOS_NOT_SUPPORTED 0x27
392 #define HCI_ERROR_CODE_INSTANT_PASSED 0x28
393 #define HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29
394 #define HCI_ERROR_CODE_DIFFERENT_TRANSACTION_COLLISION 0x2A
395 #define HCI_ERROR_CODE_RESERVED1 0x2B
396 #define HCI_ERROR_CODE_QOS_UNACCEPTABLE_PARAM 0x2C
397 #define HCI_ERROR_CODE_QOS_REJ 0x2D
398 #define HCI_ERROR_CODE_CHAN_ASSESSMENT_NOT_SUPPORTED 0x2E
399 #define HCI_ERROR_CODE_INSUFFICIENT_SECURITY 0x2F
400 #define HCI_ERROR_CODE_PARAM_OUT_OF_MANDATORY_RANGE 0x30
401 #define HCI_ERROR_CODE_RESERVED2 0x31
402 #define HCI_ERROR_CODE_ROLE_SWITCH_PENDING 0x32
403 #define HCI_ERROR_CODE_RESERVED3 0x33
404 #define HCI_ERROR_CODE_RESERVED_SLOT_VIOLATION 0x34
405 #define HCI_ERROR_CODE_ROLE_SWITCH_FAILED 0x35
406 #define HCI_ERROR_CODE_EXTENDED_INQUIRY_RESP_TOO_LARGE 0x36
407 #define HCI_ERROR_CODE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST 0x37
408 #define HCI_ERROR_CODE_HOST_BUSY_PAIRING 0x38
409 #define HCI_ERROR_CODE_CONN_REJ_NO_SUITABLE_CHAN_FOUND 0x39
410 #define HCI_ERROR_CODE_CONTROLLER_BUSY 0x3A
411 #define HCI_ERROR_CODE_UNACCEPTABLE_CONN_PARAMETERS 0x3B
412 #define HCI_ERROR_CODE_DIRECTED_ADV_TIMEOUT 0x3C
413 #define HCI_ERROR_CODE_CONN_TERM_MIC_FAILURE 0x3D
414 #define HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH 0x3E
415 #define HCI_ERROR_CODE_MAC_CONN_FAILED 0x3F
416 #define HCI_ERROR_CODE_COARSE_CLOCK_ADJUST_REJECTED 0x40
417 #define HCI_ERROR_CODE_TYPE0_SUBMAP_NOT_DEFINED 0x41
418 #define HCI_ERROR_CODE_UNKNOWN_ADVERTISING_IDENTIFIER 0x42
419 #define HCI_ERROR_CODE_LIMIT_REACHED 0x43
420 #define HCI_ERROR_CODE_OPERATION_CANCELLED_BY_HOST 0x44
421 
427 #define HCI_MAX_NUM_CMD_BUFFERS LL_MAX_NUM_CMD_BUFFERS
428 #if defined(CC2540) || defined(CC2541) || defined(CC2541S)
429 #define HCI_MAX_NUM_DATA_BUFFERS LL_MAX_NUM_DATA_BUFFERS //<! Max Num Data Buffers
430 #endif // CC2540 | CC2541 | CC2541S
431 
435 // Send Data Packet Boundary Flags
436 #define FIRST_PKT_HOST_TO_CTRL LL_DATA_FIRST_PKT_HOST_TO_CTRL
437 #define CONTINUING_PKT LL_DATA_CONTINUATION_PKT
438 #define FIRST_PKT_CTRL_TO_HOST LL_DATA_FIRST_PKT_CTRL_TO_HOST
439 
440 
442 #define HCI_RSSI_NOT_AVAILABLE LL_RSSI_NOT_AVAILABLE
443 
448 #define HCI_DISCONNECT_AUTH_FAILURE HCI_ERROR_CODE_AUTH_FAILURE
449 #define HCI_DISCONNECT_REMOTE_USER_TERM HCI_ERROR_CODE_REMOTE_USER_TERM_CONN
450 #define HCI_DISCONNECT_REMOTE_DEV_LOW_RESOURCES HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES
451 #define HCI_DISCONNECT_REMOTE_DEV_POWER_OFF HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF
452 #define HCI_DISCONNECT_UNSUPPORTED_REMOTE_FEATURE HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE
453 #define HCI_DISCONNECT_KEY_PAIRING_NOT_SUPPORTED HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
454 #define HCI_DISCONNECT_UNACCEPTABLE_CONN_INTERVAL HCI_ERROR_CODE_UNACCEPTABLE_CONN_INTERVAL
455 
461 // Tx Power Types
462 #define HCI_READ_CURRENT_TX_POWER_LEVEL LL_READ_CURRENT_TX_POWER_LEVEL
463 #define HCI_READ_MAX_TX_POWER_LEVEL LL_READ_MAX_TX_POWER_LEVEL
464 
470 #define HCI_CTRL_TO_HOST_FLOW_CTRL_OFF 0
471 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_OFF 1
472 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_OFF_SYNCH_ON 2
473 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_ON 3
474 
480 #define HCI_PUBLIC_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_PUBLIC
481 #define HCI_RANDOM_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_RANDOM
482 
488 #define HCI_CONNECTABLE_UNDIRECTED_ADV LL_ADV_CONNECTABLE_UNDIRECTED_EVT
489 #define HCI_CONNECTABLE_DIRECTED_HDC_ADV LL_ADV_CONNECTABLE_DIRECTED_HDC_EVT
490 #define HCI_SCANNABLE_UNDIRECTED LL_ADV_SCANNABLE_UNDIRECTED_EVT
491 #define HCI_NONCONNECTABLE_UNDIRECTED_ADV LL_ADV_NONCONNECTABLE_UNDIRECTED_EVT
492 #define HCI_CONNECTABLE_DIRECTED_LDC_ADV LL_ADV_CONNECTABLE_DIRECTED_LDC_EVT
493 
499 #define HCI_ADV_CHAN_37 LL_ADV_CHAN_37
500 #define HCI_ADV_CHAN_38 LL_ADV_CHAN_38
501 #define HCI_ADV_CHAN_39 LL_ADV_CHAN_39
502 #define HCI_ADV_CHAN_ALL (LL_ADV_CHAN_37 | LL_ADV_CHAN_38 | LL_ADV_CHAN_39)
503 
509 #define HCI_ADV_WL_POLICY_ANY_REQ LL_ADV_WL_POLICY_ANY_REQ
510 #define HCI_ADV_WL_POLICY_WL_SCAN_REQ LL_ADV_WL_POLICY_WL_SCAN_REQ
511 #define HCI_ADV_WL_POLICY_WL_CONNECT_IND LL_ADV_WL_POLICY_WL_CONNECT_IND
512 #define HCI_ADV_WL_POLICY_WL_ALL_REQ LL_ADV_WL_POLICY_WL_ALL_REQ
513 
519 #define HCI_ENABLE_ADV LL_ADV_MODE_ON
520 #define HCI_DISABLE_ADV LL_ADV_MODE_OFF
521 
527 #define HCI_SCAN_PASSIVE LL_SCAN_PASSIVE
528 #define HCI_SCAN_ACTIVE LL_SCAN_ACTIVE
529 
535 // Scan White List Policy
536 #define HCI_SCAN_WL_POLICY_ANY_ADV_PKTS LL_SCAN_WL_POLICY_ANY_ADV_PKTS
537 #define HCI_SCAN_WL_POLICY_USE_WHITE_LIST LL_SCAN_WL_POLICY_USE_WHITE_LIST
538 
544 // Scan Filtering
545 #define HCI_FILTER_REPORTS_DISABLE LL_FILTER_REPORTS_DISABLE
546 #define HCI_FILTER_REPORTS_ENABLE LL_FILTER_REPORTS_ENABLE
547 
553 // Scan Commands
554 #define HCI_SCAN_STOP LL_SCAN_STOP
555 #define HCI_SCAN_START LL_SCAN_START
556 
562 #define HCI_INIT_WL_POLICY_USE_PEER_ADDR LL_INIT_WL_POLICY_USE_PEER_ADDR
563 #define HCI_INIT_WL_POLICY_USE_WHITE_LIST LL_INIT_WL_POLICY_USE_WHITE_LIST
564 
570 #define HCI_ENCRYPTION_OFF LL_ENCRYPTION_OFF
571 #define HCI_ENCRYPTION_ON LL_ENCRYPTION_ON
572 
578 #define HCI_DIRECT_TEST_PAYLOAD_PRBS9 LL_DIRECT_TEST_PAYLOAD_PRBS9
579 #define HCI_DIRECT_TEST_PAYLOAD_0x0F LL_DIRECT_TEST_PAYLOAD_0x0F
580 #define HCI_DIRECT_TEST_PAYLOAD_0x55 LL_DIRECT_TEST_PAYLOAD_0x55
581 #define HCI_DIRECT_TEST_PAYLOAD_PRBS15 LL_DIRECT_TEST_PAYLOAD_PRBS15
582 #define HCI_DIRECT_TEST_PAYLOAD_0xFF LL_DIRECT_TEST_PAYLOAD_0xFF
583 #define HCI_DIRECT_TEST_PAYLOAD_0x00 LL_DIRECT_TEST_PAYLOAD_0x00
584 #define HCI_DIRECT_TEST_PAYLOAD_0xF0 LL_DIRECT_TEST_PAYLOAD_0xF0
585 #define HCI_DIRECT_TEST_PAYLOAD_0xAA LL_DIRECT_TEST_PAYLOAD_0xAA
586 
592 #define HCI_DTM_STANDARD_MODULATION_INDEX LL_DTM_STANDARD_MODULATION_INDEX
593 #define HCI_DTM_STABLE_MODULATION_INDEX LL_DTM_STABLE_MODULATION_INDEX
594 
600 #define HCI_EXT_DTM_TX_CONTINUOUS LL_EXT_DTM_TX_CONTINUOUS
601 
607 #define HCI_DISABLE_ADDR_RESOLUTION LL_DISABLE_ADDR_RESOLUTION
608 #define HCI_ENABLE_ADDR_RESOLUTION LL_ENABLE_ADDR_RESOLUTION
609 #define HCI_NETWORK_PRIVACY_MODE LL_NETWORK_PRIVACY_MODE
610 #define HCI_DEVICE_PRIVACY_MODE LL_DEVICE_PRIVACY_MODE
611 
617 #define HCI_PHY_USE_PHY_PARAM LL_PHY_USE_PHY_PARAM
618 #define HCI_PHY_USE_ANY_PHY LL_PHY_USE_ANY_PHY
619 #define HCI_PHY_1_MBPS LL_PHY_1_MBPS
620 #define HCI_PHY_2_MBPS LL_PHY_2_MBPS
621 #define HCI_PHY_CODED LL_PHY_CODED
622 
628 #define PHY_UPDATE_COMPLETE_EVENT_1M 1
629 #define PHY_UPDATE_COMPLETE_EVENT_2M 2
630 #define PHY_UPDATE_COMPLETE_EVENT_CODED 3
631 
637 #define HCI_EXT_RX_GAIN_STD LL_EXT_RX_GAIN_STD
638 #define HCI_EXT_RX_GAIN_HIGH LL_EXT_RX_GAIN_HIGH
639 
645 #if defined( CC26XX ) || defined( CC13XX )
646 #define HCI_EXT_TX_POWER_MINUS_20_DBM LL_EXT_TX_POWER_MINUS_20_DBM
647 #define HCI_EXT_TX_POWER_MINUS_18_DBM LL_EXT_TX_POWER_MINUS_18_DBM
648 #define HCI_EXT_TX_POWER_MINUS_15_DBM LL_EXT_TX_POWER_MINUS_15_DBM
649 #define HCI_EXT_TX_POWER_MINUS_12_DBM LL_EXT_TX_POWER_MINUS_12_DBM
650 #define HCI_EXT_TX_POWER_MINUS_10_DBM LL_EXT_TX_POWER_MINUS_10_DBM
651 #define HCI_EXT_TX_POWER_MINUS_9_DBM LL_EXT_TX_POWER_MINUS_9_DBM
652 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
653 #define HCI_EXT_TX_POWER_MINUS_5_DBM LL_EXT_TX_POWER_MINUS_5_DBM
654 #define HCI_EXT_TX_POWER_MINUS_3_DBM LL_EXT_TX_POWER_MINUS_3_DBM
655 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
656 #define HCI_EXT_TX_POWER_1_DBM LL_EXT_TX_POWER_1_DBM
657 #define HCI_EXT_TX_POWER_2_DBM LL_EXT_TX_POWER_2_DBM
658 #define HCI_EXT_TX_POWER_3_DBM LL_EXT_TX_POWER_3_DBM
659 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
660 #define HCI_EXT_TX_POWER_5_DBM LL_EXT_TX_POWER_5_DBM
661 #if defined( CC13X2P )
662 #define HCI_EXT_TX_POWER_P2_14_DBM_P4_6_DBM LL_EXT_TX_POWER_P2_14_DBM_P4_6_DBM
663 #define HCI_EXT_TX_POWER_P2_15_DBM_P4_7_DBM LL_EXT_TX_POWER_P2_15_DBM_P4_7_DBM
664 #define HCI_EXT_TX_POWER_P2_16_DBM_P4_8_DBM LL_EXT_TX_POWER_P2_16_DBM_P4_8_DBM
665 #define HCI_EXT_TX_POWER_P2_17_DBM_P4_9_DBM LL_EXT_TX_POWER_P2_17_DBM_P4_9_DBM
666 #define HCI_EXT_TX_POWER_P2_18_DBM_P4_10_DBM LL_EXT_TX_POWER_P2_18_DBM_P4_10_DBM
667 #define HCI_EXT_TX_POWER_P2_19_DBM LL_EXT_TX_POWER_P2_19_DBM
668 #define HCI_EXT_TX_POWER_P2_20_DBM LL_EXT_TX_POWER_P2_20_DBM
669 #endif // CC13X2P
670 #else // CC254x
671 #define HCI_EXT_TX_POWER_MINUS_23_DBM LL_EXT_TX_POWER_MINUS_23_DBM
672 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
673 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
674 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
675 #endif // CC26XX/CC13XX
676 
682 #define HCI_EXT_ENABLE_ONE_PKT_PER_EVT LL_EXT_ENABLE_ONE_PKT_PER_EVT
683 #define HCI_EXT_DISABLE_ONE_PKT_PER_EVT LL_EXT_DISABLE_ONE_PKT_PER_EVT
684 
686 
688 
692 #define HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT LL_EXT_ENABLE_CLK_DIVIDE_ON_HALT
693 #define HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT
694 
696 
698 
702 #define HCI_EXT_NV_IN_USE LL_EXT_NV_IN_USE
703 #define HCI_EXT_NV_NOT_IN_USE LL_EXT_NV_NOT_IN_USE
704 
710 #define HCI_EXT_ENABLE_FAST_TX_RESP_TIME LL_EXT_ENABLE_FAST_TX_RESP_TIME
711 #define HCI_EXT_DISABLE_FAST_TX_RESP_TIME LL_EXT_DISABLE_FAST_TX_RESP_TIME
712 
718 #define HCI_EXT_ENABLE_SL_OVERRIDE LL_EXT_ENABLE_SL_OVERRIDE
719 #define HCI_EXT_DISABLE_SL_OVERRIDE LL_EXT_DISABLE_SL_OVERRIDE
720 
726 #define HCI_EXT_TX_MODULATED_CARRIER LL_EXT_TX_MODULATED_CARRIER
727 #define HCI_EXT_TX_UNMODULATED_CARRIER LL_EXT_TX_UNMODULATED_CARRIER
728 
734 #define HCI_PTM_SET_FREQ_TUNE_DOWN LL_EXT_SET_FREQ_TUNE_DOWN
735 #define HCI_PTM_SET_FREQ_TUNE_UP LL_EXT_SET_FREQ_TUNE_UP
736 
738 
740 
744 #define HCI_EXT_PM_IO_PORT_P0 LL_EXT_PM_IO_PORT_P0
745 #define HCI_EXT_PM_IO_PORT_P1 LL_EXT_PM_IO_PORT_P1
746 #define HCI_EXT_PM_IO_PORT_P2 LL_EXT_PM_IO_PORT_P2
747 #define HCI_EXT_PM_IO_PORT_NONE LL_EXT_PM_IO_PORT_NONE
748 
749 #define HCI_EXT_PM_IO_PORT_PIN0 LL_EXT_PM_IO_PORT_PIN0
750 #define HCI_EXT_PM_IO_PORT_PIN1 LL_EXT_PM_IO_PORT_PIN1
751 #define HCI_EXT_PM_IO_PORT_PIN2 LL_EXT_PM_IO_PORT_PIN2
752 #define HCI_EXT_PM_IO_PORT_PIN3 LL_EXT_PM_IO_PORT_PIN3
753 #define HCI_EXT_PM_IO_PORT_PIN4 LL_EXT_PM_IO_PORT_PIN4
754 #define HCI_EXT_PM_IO_PORT_PIN5 LL_EXT_PM_IO_PORT_PIN5
755 #define HCI_EXT_PM_IO_PORT_PIN6 LL_EXT_PM_IO_PORT_PIN6
756 #define HCI_EXT_PM_IO_PORT_PIN7 LL_EXT_PM_IO_PORT_PIN7
757 
759 
765 #define HCI_EXT_PER_RESET LL_EXT_PER_RESET
766 #define HCI_EXT_PER_READ LL_EXT_PER_READ
767 
769 
771 
775 #define HCI_EXT_HALT_DURING_RF_DISABLE LL_EXT_HALT_DURING_RF_DISABLE
776 #define HCI_EXT_HALT_DURING_RF_ENABLE LL_EXT_HALT_DURING_RF_ENABLE
777 
779 
781 
785 #define HCI_EXT_SET_USER_REVISION LL_EXT_SET_USER_REVISION
786 #define HCI_EXT_READ_BUILD_REVISION LL_EXT_READ_BUILD_REVISION
787 
793 #define HCI_EXT_RESET_SYSTEM_HARD LL_EXT_RESET_SYSTEM_HARD
794 #define HCI_EXT_RESET_SYSTEM_SOFT LL_EXT_RESET_SYSTEM_SOFT
795 
797 
799 
803 #define HCI_EXT_DISABLE_OVERLAPPED_PROCESSING LL_EXT_DISABLE_OVERLAPPED_PROCESSING
804 #define HCI_EXT_ENABLE_OVERLAPPED_PROCESSING LL_EXT_ENABLE_OVERLAPPED_PROCESSING
805 
807 
809 
813 #define HCI_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT
814 #define HCI_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT
815 
821 #define HCI_EXT_DISABLE_SCAN_REQUEST_REPORT LL_EXT_DISABLE_SCAN_REQUEST_REPORT
822 #define HCI_EXT_ENABLE_SCAN_REQUEST_REPORT LL_EXT_ENABLE_SCAN_REQUEST_REPORT
823 
833 #define HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW 0
834 #define HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW 1
835 
843 #define HCI_EXT_RF_SETUP_1M_PHY LL_EXT_RF_SETUP_1M_PHY
844 #define HCI_EXT_RF_SETUP_2M_PHY LL_EXT_RF_SETUP_2M_PHY
845 #define HCI_EXT_RF_SETUP_CODED_S8_PHY LL_EXT_RF_SETUP_CODED_S8_PHY
846 #define HCI_EXT_RF_SETUP_CODED_S2_PHY LL_EXT_RF_SETUP_CODED_S2_PHY
847 
853  #define HCI_EXT_STATS_RESET LL_EXT_STATS_RESET
854  #define HCI_EXT_STATS_READ LL_EXT_STATS_READ
855 
859 /*
860  * TYPEDEFS
861  */
862 
864 typedef uint8 hciStatus_t;
866 
872 typedef struct
874 {
876  uint8 BLEEventCode;
877  uint8 status;
879  uint8 role;
880  uint8 peerAddrType;
881  uint8 peerAddr[B_ADDR_LEN];
882  uint16 connInterval;
883  uint16 connLatency;
884  uint16 connTimeout;
887 
889 typedef struct
890 {
892  uint8 BLEEventCode;
893  uint8 status;
895  uint8 role;
896  uint8 peerAddrType;
897  uint8 peerAddr[B_ADDR_LEN];
898  uint16 connInterval;
899  uint16 connLatency;
900  uint16 connTimeout;
902  // Note: These fields normally follow peerAddr. Put here for Host optimization.
903  uint8 localRPA[B_ADDR_LEN];
904  uint8 peerRPA[B_ADDR_LEN];
906 
909 {
913 
915 typedef struct
916 {
917  uint8 eventType;
918  uint8 addrType;
919  uint8 addr[B_ADDR_LEN];
920  uint8 dataLen;
921  uint8 rspData[B_MAX_ADV_LEN];
922  int8 rssi;
924 
926 typedef struct
927 {
929  uint8 BLEEventCode;
930  uint8 numDevices;
933 
935 typedef struct
936 {
938  uint8 BLEEventCode;
939  uint8 eventType;
940  uint8 peerAddrType;
941  uint8 peerAddr[B_ADDR_LEN];
942  uint8 bleChan;
943  int8 rssi;
945 
947 typedef struct
948 {
950  uint8 BLEEventCode;
951  uint16 connHandle;
952  uint8 nextDataChan;
953  uint8 newChanMap[LL_NUM_BYTES_FOR_CHAN_MAP];
955 
957 typedef struct
958 {
960  uint8 BLEEventCode;
961  uint8 status;
963  uint16 connInterval;
964  uint16 connLatency;
965  uint16 connTimeout;
967 
969 typedef struct
970 {
972  uint8 BLEEventCode;
973  uint8 status;
975  uint8 features[8];
977 
979 typedef struct
980 {
982  uint8 BLEEventCode;
983  uint16 connHandle;
984  uint8 reason;
985  uint8 encEnable;
987 
989 typedef struct
990 {
992  uint8 BLEEventCode;
993  uint16 connHandle;
994  uint8 random[B_RANDOM_NUM_SIZE];
997 
999 typedef struct
1000 {
1002  uint8 numHandles;
1006 
1008 typedef struct
1009 {
1012  uint16 cmdOpcode;
1013  uint8 *pReturnParam;
1015 
1017 typedef struct
1018 {
1020  uint8 length;
1021  uint16 cmdOpcode;
1022  uint8 *pEventParam;
1024 
1026 typedef struct
1027 {
1029  uint8 cmdStatus;
1031  uint16 cmdOpcode;
1033 
1035 typedef struct
1036 {
1040 
1042 typedef struct
1043 {
1045  uint8 status;
1046  uint16 connHandle;
1047  uint8 reason;
1049 
1051 typedef struct
1052 {
1054  uint8 linkType;
1056 
1058 typedef struct
1059 {
1061  uint16 connHandle;
1063 
1065 typedef struct
1066 {
1068  uint16 connHandle;
1069  uint16 cid;
1071 
1073 typedef struct
1074 {
1077  uint8 status;
1078  uint16 connHandle;
1079  uint16 Interval_Min;
1080  uint16 Interval_Max;
1081  uint16 Latency;
1082  uint16 Timeout;
1084 
1086 typedef struct
1087 {
1090  uint8 status;
1091  uint16 connHandle;
1092  uint8 txPhy;
1093  uint8 rxPhy;
1095 
1097 typedef struct
1098 {
1101  uint16 connHandle;
1102  uint16 maxTxOctets;
1103  uint16 maxTxTime;
1104  uint16 maxRxOctets;
1105  uint16 maxRxTime;
1107 
1109 typedef struct
1110 {
1113  uint8 status;
1114  uint8 p256Key[LL_SC_P256_KEY_LEN];
1116 
1118 typedef struct
1119 {
1122  uint8 status;
1123  uint8 dhKey[LL_SC_DHKEY_LEN];
1125 
1127 typedef struct
1128 {
1131  uint16 connHandle;
1132  uint8 phy;
1133  uint8 dataChIndex;
1134  uint16 rssi;
1135  uint8 rssiAntenna;
1136  uint8 cteType;
1138  uint8 status;
1139  uint16 connEvent;
1140  uint8 sampleCount;
1141  int8 *iqSamples;
1143 
1145 typedef struct
1146 {
1149  uint8 status;
1150  uint16 connHandle;
1152 
1154 typedef struct
1155 {
1158  uint16 totalDataLen;
1159  uint8 eventIndex;
1160  uint16 connHandle;
1161  uint8 phy;
1162  uint8 dataChIndex;
1163  uint16 rssi;
1164  uint8 rssiAntenna;
1165  uint8 cteType;
1167  uint8 status;
1168  uint16 connEvent;
1169  uint8 dataLen;
1170  uint8 sampleRate;
1171  uint8 sampleSize;
1172  uint8 sampleCtrl;
1173  void *iqSamples;
1175 
1177 typedef struct
1178 {
1181  uint16 syncHandle;
1183  uint16 rssi;
1184  uint8 rssiAntenna;
1185  uint8 cteType;
1187  uint8 status;
1188  uint16 eventCounter;
1189  uint8 sampleCount;
1190  int8 *iqSamples;
1192 
1194 typedef struct
1195 {
1198  uint16 totalDataLen;
1199  uint8 eventIndex;
1200  uint16 syncHandle;
1202  uint16 rssi;
1203  uint8 rssiAntenna;
1204  uint8 cteType;
1206  uint8 status;
1207  uint16 eventCounter;
1208  uint8 dataLen;
1209  uint8 sampleRate;
1210  uint8 sampleSize;
1211  uint8 sampleCtrl;
1212  void *iqSamples;
1214 
1216 typedef struct
1217 {
1220  uint8 status;
1221  uint16 syncHandle;
1222  uint8 sid;
1223  uint8 addrType;
1224  uint8 address[B_ADDR_LEN];
1225  uint8 phy;
1229 
1231 typedef struct
1232 {
1235  uint16 syncHandle;
1236  int8 txPower;
1237  int8 rssi;
1238  uint8 cteType;
1239  uint8 dataStatus;
1240  uint8 dataLen;
1241  uint8 *data;
1243 
1245 typedef struct
1246 {
1249  uint16 syncHandle;
1251 
1252 
1254 typedef struct
1255 {
1256  uint8 status;
1257  uint16 dataPktLen;
1258  uint8 numDataPkts;
1260 
1262 typedef struct
1263 {
1266  uint16 connHandle;
1267  uint8 chSelAlgo;
1269 
1271 typedef struct
1272 {
1274  uint8 *pData;
1275 } hciPacket_t;
1276 
1278 typedef struct
1279 {
1281  uint8 pktType;
1282  uint16 connHandle;
1283  uint8 pbFlag;
1284  uint16 pktLen;
1285  uint8 *pData;
1286 } hciDataPacket_t;
1287 
1289 
1290 // OSAL HCI_DATA_EVENT message format. This message is used to forward incoming
1291 // data messages up to an application
1292 typedef struct
1293 {
1294  osal_event_hdr_t hdr;
1295  uint16 connHandle;
1296  uint8 pbFlag;
1297  uint16 len;
1298  uint8 *pData;
1299 } hciDataEvent_t;
1300 
1302 
1303 #if defined( CC26XX ) || defined( CC13XX )
1304 PACKED_TYPEDEF_STRUCT
1305 #else // CC254x
1306 typedef struct
1307 #endif // CC26XX/CC13XX
1308 {
1309  uint8 connId;
1310  uint8 role;
1311  uint8 addr[LL_DEVICE_ADDR_LEN];
1312  uint8 addrType;
1313 } hciConnInfo_t;
1314 
1315 #if defined( CC26XX ) || defined( CC13XX )
1316 PACKED_TYPEDEF_STRUCT
1317 #else // CC254x
1318 typedef struct
1319 #endif // CC26XX/CC13XX
1320 {
1321  uint32_t accessAddr;
1322  uint16_t connInterval;
1323  uint8_t hopValue;
1324  uint16_t mSCA;
1325  uint8_t nextChan;
1326  uint8_t chanMap[LL_NUM_BYTES_FOR_CHAN_MAP];
1327  uint8_t crcInit[LL_PKT_CRC_LEN];
1328  uint8_t ownAddrType;
1329 }hciActiveConnInfo_t;
1330 
1331 #if defined( CC26XX ) || defined( CC13XX )
1332 PACKED_TYPEDEF_STRUCT
1333 #else // CC254x
1334 typedef struct
1335 #endif // CC26XX/CC13XX
1336 {
1337  uint16 numPkts;
1338  uint16 numCrcErr;
1339  uint16 numEvents;
1340  uint16 numMMissedEvents;
1341 } hciPER_t;
1342 
1345 /*
1346  * LOCAL VARIABLES
1347  */
1348 
1349 /*
1350  * GLOBAL VARIABLES
1351  */
1352 
1354 
1365 extern void *HCI_bm_alloc( uint16 size );
1366 
1377 extern void HCI_bm_free( uint8* pBuf );
1378 
1392 extern uint8 HCI_ValidConnTimeParams( uint16 connIntervalMin,
1393  uint16 connIntervalMax,
1394  uint16 connLatency,
1395  uint16 connTimeout );
1396 
1402 extern void HCI_TestAppTaskRegister( uint8 taskID );
1403 
1409 extern void HCI_GAPTaskRegister( uint8 taskID );
1410 
1416 extern void HCI_L2CAPTaskRegister( uint8 taskID );
1417 
1423 extern void HCI_SMPTaskRegister( uint8 taskID );
1424 
1430 extern void HCI_ExtTaskRegister( uint8 taskID );
1431 
1456 extern hciStatus_t HCI_SendDataPkt( uint16 connHandle,
1457  uint8 pbFlag,
1458  uint16 pktLen,
1459  uint8 *pData );
1460 
1476 extern hciStatus_t HCI_DisconnectCmd( uint16 connHandle,
1477  uint8 reason );
1478 
1480 
1498 extern hciStatus_t HCI_ReadRemoteVersionInfoCmd( uint16 connHandle );
1499 
1500 
1514 extern hciStatus_t HCI_SetEventMaskCmd( uint8 *pMask );
1515 
1516 
1530 extern hciStatus_t HCI_SetEventMaskPage2Cmd( uint8 *pMask );
1531 
1540 extern hciStatus_t HCI_ResetCmd( void );
1541 
1553 extern hciStatus_t HCI_ReadTransmitPowerLevelCmd( uint16 connHandle,
1554  uint8 txPwrType );
1555 
1557 
1571 extern hciStatus_t HCI_SetControllerToHostFlowCtrlCmd( uint8 flowControlEnable );
1572 
1592 extern hciStatus_t HCI_HostBufferSizeCmd( uint16 hostAclPktLen,
1593  uint8 hostSyncPktLen,
1594  uint16 hostTotalNumAclPkts,
1595  uint16 hostTotalNumSyncPkts );
1596 
1598 
1627 extern hciStatus_t HCI_HostNumCompletedPktCmd( uint8 numHandles,
1628  uint16 *connHandles,
1629  uint16 *numCompletedPkts );
1630 
1642 extern hciStatus_t HCI_ReadAuthPayloadTimeoutCmd( uint16 connHandle,
1643  uint16 *aptoValue );
1644 
1656 extern hciStatus_t HCI_WriteAuthPayloadTimeoutCmd( uint16 connHandle,
1657  uint16 aptoValue );
1658 
1667 extern hciStatus_t HCI_ReadLocalVersionInfoCmd( void );
1668 
1677 extern hciStatus_t HCI_ReadLocalSupportedCommandsCmd( void );
1678 
1687 extern hciStatus_t HCI_ReadLocalSupportedFeaturesCmd( void );
1688 
1697 extern hciStatus_t HCI_ReadBDADDRCmd( void );
1698 
1715 extern hciStatus_t HCI_ReadRssiCmd( uint16 connHandle );
1716 
1730 extern hciStatus_t HCI_LE_SetEventMaskCmd( uint8 *pEventMask );
1731 
1740 extern hciStatus_t HCI_LE_ReadBufSizeCmd( void );
1741 
1751 extern hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd( void );
1752 
1764 extern hciStatus_t HCI_LE_SetRandomAddressCmd( uint8 *pRandAddr );
1765 
1783 extern hciStatus_t HCI_LE_SetAdvParamCmd( uint16 advIntervalMin,
1784  uint16 advIntervalMax,
1785  uint8 advType,
1786  uint8 ownAddrType,
1787  uint8 directAddrType,
1788  uint8 *directAddr,
1789  uint8 advChannelMap,
1790  uint8 advFilterPolicy );
1791 
1803 extern hciStatus_t HCI_LE_SetAdvDataCmd( uint8 dataLen,
1804  uint8 *pData );
1817 hciStatus_t HCI_LE_SetExtAdvData( aeSetDataCmd_t *pCmdParams );
1818 
1831 hciStatus_t HCI_LE_SetExtScanRspData( aeSetDataCmd_t *pCmdParams );
1832 
1846 hciStatus_t HCI_LE_SetAdvStatus( aeEnableCmd_t *pCmdParams );
1847 
1859 extern hciStatus_t HCI_LE_SetScanRspDataCmd( uint8 dataLen,
1860  uint8 *pData );
1861 
1872 extern hciStatus_t HCI_LE_SetAdvEnableCmd( uint8 advEnable );
1873 
1882 extern hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd( void );
1883 
1900 extern hciStatus_t HCI_LE_SetScanParamCmd( uint8 scanType,
1901  uint16 scanInterval,
1902  uint16 scanWindow,
1903  uint8 ownAddrType,
1904  uint8 filterPolicy );
1905 
1918 extern hciStatus_t HCI_LE_SetScanEnableCmd( uint8 scanEnable,
1919  uint8 filterDuplicates );
1920 
1945 extern hciStatus_t HCI_LE_CreateConnCmd( uint16 scanInterval,
1946  uint16 scanWindow,
1947  uint8 initFilterPolicy,
1948  uint8 addrTypePeer,
1949  uint8 *peerAddr,
1950  uint8 ownAddrType,
1951  uint16 connIntervalMin,
1952  uint16 connIntervalMax,
1953  uint16 connLatency,
1954  uint16 connTimeout,
1955  uint16 minLen,
1956  uint16 maxLen );
1957 
1966 extern hciStatus_t HCI_LE_CreateConnCancelCmd( void );
1967 
1976 extern hciStatus_t HCI_LE_ReadWhiteListSizeCmd( void );
1977 
1978 
1987 extern hciStatus_t HCI_LE_ClearWhiteListCmd( void );
1988 
1989 
2001 extern hciStatus_t HCI_LE_AddWhiteListCmd( uint8 addrType,
2002  uint8 *devAddr );
2003 
2004 
2016 extern hciStatus_t HCI_LE_RemoveWhiteListCmd( uint8 addrType,
2017  uint8 *devAddr );
2018 
2036 extern hciStatus_t HCI_LE_ConnUpdateCmd( uint16 connHandle,
2037  uint16 connIntervalMin,
2038  uint16 connIntervalMax,
2039  uint16 connLatency,
2040  uint16 connTimeout,
2041  uint16 minLen,
2042  uint16 maxLen );
2043 
2054 extern hciStatus_t HCI_LE_SetHostChanClassificationCmd( uint8 *chanMap );
2055 
2066 extern hciStatus_t HCI_EXT_SetHostDefChanClassificationCmd( uint8 *chanMap );
2067 
2079 extern hciStatus_t HCI_EXT_SetHostConnChanClassificationCmd( uint8 *chanMap , uint16 connID );
2080 
2091 extern hciStatus_t HCI_LE_ReadChannelMapCmd( uint16 connHandle );
2092 
2105 extern hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd( uint16 connHandle );
2106 
2127 extern hciStatus_t HCI_LE_EncryptCmd( uint8 *key,
2128  uint8 *plainText );
2129 
2152 extern hciStatus_t HCI_LE_RandCmd( void );
2153 
2169 extern hciStatus_t HCI_LE_StartEncyptCmd( uint16 connHandle,
2170  uint8 *random,
2171  uint8 *encDiv,
2172  uint8 *ltk );
2173 
2185 extern hciStatus_t HCI_LE_LtkReqReplyCmd( uint16 connHandle,
2186  uint8 *ltk );
2187 
2188 
2199 extern hciStatus_t HCI_LE_LtkReqNegReplyCmd( uint16 connHandle );
2200 
2209 extern hciStatus_t HCI_LE_ReadSupportedStatesCmd( void );
2210 
2223 extern hciStatus_t HCI_LE_ReceiverTestCmd( uint8 rxChan );
2224 
2241 extern hciStatus_t HCI_LE_TransmitterTestCmd( uint8 txChan,
2242  uint8 dataLen,
2243  uint8 pktPayload );
2244 
2255 extern hciStatus_t HCI_LE_TestEndCmd( void );
2256 
2257 // V4.1
2258 
2280 extern hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd( uint16 connHandle,
2281  uint16 connIntervalMin,
2282  uint16 connIntervalMax,
2283  uint16 connLatency,
2284  uint16 connTimeout,
2285  uint16 minLen,
2286  uint16 maxLen );
2287 
2304 extern hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd( uint16 connHandle,
2305  uint8 reason );
2306 
2307 // V4.2 Extended Data Length
2308 
2324 extern hciStatus_t HCI_LE_SetDataLenCmd( uint16 connHandle,
2325  uint16 txOctets,
2326  uint16 txTime );
2327 
2339 extern hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd( void );
2340 
2356 extern hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd( uint16 txOctets,
2357  uint16 txTime );
2358 
2370 extern hciStatus_t HCI_LE_ReadMaxDataLenCmd( void );
2371 
2372 // V4.2 Privacy 1.2
2373 
2390 extern hciStatus_t HCI_LE_AddDeviceToResolvingListCmd( uint8 peerIdAddrType,
2391  uint8 *peerIdAddr,
2392  uint8 *peerIRK,
2393  uint8 *localIRK );
2394 
2409 extern hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd( uint8 peerIdAddrType,
2410  uint8 *peerIdAddr );
2411 
2423 extern hciStatus_t HCI_LE_ClearResolvingListCmd( void );
2424 
2436 extern hciStatus_t HCI_LE_ReadResolvingListSizeCmd( void );
2437 
2455 extern hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd( uint8 peerIdAddrType,
2456  uint8 *peerIdAddr );
2457 
2476 extern hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd( uint8 localIdAddrType,
2477  uint8 *localIdAddr );
2478 
2493 extern hciStatus_t HCI_LE_SetAddressResolutionEnableCmd( uint8 addrResolutionEnable );
2494 
2510 extern hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd( uint16 rpaTimeout );
2511 
2528 extern hciStatus_t HCI_LE_SetPrivacyModeCmd( uint8 peerIdAddrType,
2529  uint8 *peerIdAddr,
2530  uint8 privacyMode );
2531 
2532 // V4.2 Secure Connections
2533 
2549 extern hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd( void );
2550 
2569 extern hciStatus_t HCI_LE_GenerateDHKeyCmd( uint8 *publicKey );
2570 
2571 // V5.0 2M and Coded PHY
2572 
2588 extern hciStatus_t HCI_LE_ReadPhyCmd( uint16 connHandle );
2589 
2605 extern hciStatus_t HCI_LE_SetDefaultPhyCmd( uint8 allPhys,
2606  uint8 txPhy,
2607  uint8 rxPhy );
2608 
2609 
2624 extern hciStatus_t HCI_LE_SetPhyCmd( uint16 connHandle,
2625  uint8 allPhys,
2626  uint8 txPhy,
2627  uint8 rxPhy,
2628  uint16 phyOpts );
2629 
2630 
2646 extern hciStatus_t HCI_LE_EnhancedRxTestCmd( uint8 rxChan,
2647  uint8 rxPhy,
2648  uint8 modIndex );
2649 
2650 
2667 extern hciStatus_t HCI_LE_EnhancedTxTestCmd( uint8 txChan,
2668  uint8 payloadLen,
2669  uint8 payloadType,
2670  uint8 txPhy );
2691 extern hciStatus_t HCI_LE_EnhancedCteRxTestCmd( uint8 rxChan,
2692  uint8 rxPhy,
2693  uint8 modIndex,
2694  uint8 expectedCteLength,
2695  uint8 expectedCteType,
2696  uint8 slotDurations,
2697  uint8 length,
2698  uint8 *pAntenna);
2699 
2720 extern hciStatus_t HCI_LE_EnhancedCteTxTestCmd( uint8 txChan,
2721  uint8 payloadLen,
2722  uint8 payloadType,
2723  uint8 txPhy,
2724  uint8 cteLength,
2725  uint8 cteType,
2726  uint8 length,
2727  uint8 *pAntenna);
2736 extern hciStatus_t HCI_LE_ReadTxPowerCmd( void );
2737 
2746 extern hciStatus_t HCI_LE_ReadRfPathCompCmd( void );
2747 
2759 extern hciStatus_t HCI_LE_WriteRfPathCompCmd( int16 txPathParam,
2760  int16 rxPathParam );
2761 
2780 extern hciStatus_t HCI_LE_SetConnectionCteReceiveParamsCmd( uint16 connHandle,
2781  uint8 samplingEnable,
2782  uint8 slotDurations,
2783  uint8 length,
2784  uint8 *pAntenna);
2785 
2786 
2803 extern hciStatus_t HCI_LE_SetConnectionCteTransmitParamsCmd( uint16 connHandle,
2804  uint8 types,
2805  uint8 length,
2806  uint8 *pAntenna);
2807 
2824 extern hciStatus_t HCI_LE_SetConnectionCteRequestEnableCmd( uint16 connHandle,
2825  uint8 enable,
2826  uint16 interval,
2827  uint8 length,
2828  uint8 type);
2829 
2843 extern hciStatus_t HCI_LE_SetConnectionCteResponseEnableCmd( uint16 connHandle,
2844  uint8 enable);
2845 
2856 extern hciStatus_t HCI_LE_ReadAntennaInformationCmd( void );
2857 
2877 extern hciStatus_t HCI_LE_SetPeriodicAdvParamsCmd( uint8 advHandle,
2878  uint16 periodicAdvIntervalMin,
2879  uint16 periodicAdvIntervalMax,
2880  uint16 periodicAdvProp );
2881 
2882 
2905 extern hciStatus_t HCI_LE_SetPeriodicAdvDataCmd( uint8 advHandle,
2906  uint8 operation,
2907  uint8 dataLength,
2908  uint8 *data );
2909 
2925 extern hciStatus_t HCI_LE_SetPeriodicAdvEnableCmd( uint8 enable,
2926  uint8 advHandle );
2927 
2945 extern hciStatus_t HCI_LE_SetConnectionlessCteTransmitParamsCmd( uint8 advHandle,
2946  uint8 cteLen,
2947  uint8 cteType,
2948  uint8 cteCount,
2949  uint8 length,
2950  uint8 *pAntenna);
2951 
2966 extern hciStatus_t HCI_LE_SetConnectionlessCteTransmitEnableCmd( uint8 advHandle,
2967  uint8 enable );
2968 
2998 extern hciStatus_t HCI_LE_PeriodicAdvCreateSyncCmd( uint8 options,
2999  uint8 advSID,
3000  uint8 advAddrType,
3001  uint8 *advAddress,
3002  uint16 skip,
3003  uint16 syncTimeout,
3004  uint8 syncCteType );
3005 
3016 extern hciStatus_t HCI_LE_PeriodicAdvCreateSyncCancelCmd( void );
3017 
3033 extern hciStatus_t HCI_LE_PeriodicAdvTerminateSyncCmd( uint16 syncHandle );
3034 
3051 extern hciStatus_t HCI_LE_AddDeviceToPeriodicAdvListCmd( uint8 advAddrType,
3052  uint8 *advAddress,
3053  uint8 advSID );
3054 
3072 extern hciStatus_t HCI_LE_RemoveDeviceFromPeriodicAdvListCmd( uint8 advAddrType,
3073  uint8 *advAddress,
3074  uint8 advSID );
3075 
3086 extern hciStatus_t HCI_LE_ClearPeriodicAdvListCmd( void );
3087 
3099 extern hciStatus_t HCI_LE_ReadPeriodicAdvListSizeCmd( void );
3100 
3118 extern hciStatus_t HCI_LE_SetPeriodicAdvReceiveEnableCmd( uint16 syncHandle,
3119  uint8 enable );
3120 
3138 extern hciStatus_t HCI_LE_SetConnectionlessIqSamplingEnableCmd( uint16 syncHandle,
3139  uint8 samplingEnable,
3140  uint8 slotDurations,
3141  uint8 maxSampledCtes,
3142  uint8 length,
3143  uint8 *pAntenna);
3144 
3145 /*
3146 ** HCI Vendor Specific Commands: Link Layer Extensions
3147 */
3148 
3161 extern hciStatus_t HCI_EXT_SetRxGainCmd( uint8 rxGain );
3162 
3163 
3181 extern hciStatus_t HCI_EXT_SetTxPowerCmd( uint8 txPower );
3182 
3183 
3196 extern hciStatus_t HCI_EXT_OnePktPerEvtCmd( uint8 control );
3197 
3199 
3218 extern hciStatus_t HCI_EXT_ClkDivOnHaltCmd( uint8 control );
3219 
3241 extern hciStatus_t HCI_EXT_DeclareNvUsageCmd( uint8 mode );
3242 
3244 
3258 extern hciStatus_t HCI_EXT_DecryptCmd( uint8 *key,
3259  uint8 *encText );
3260 
3283 extern hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd( uint8 *localFeatures );
3284 
3310 extern hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd( uint8 control );
3311 
3312 
3331 extern hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd( uint8 control );
3332 
3333 
3357 extern hciStatus_t HCI_EXT_ModemTestTxCmd( uint8 cwMode,
3358  uint8 txChan );
3359 
3381 extern hciStatus_t HCI_EXT_ModemHopTestTxCmd( void );
3382 
3405 extern hciStatus_t HCI_EXT_ModemTestRxCmd( uint8 rxChan );
3406 
3431 extern hciStatus_t HCI_EXT_EnhancedModemTestTxCmd( uint8 cwMode,
3432  uint8 rfPhy,
3433  uint8 rfChan );
3434 
3462 extern hciStatus_t HCI_EXT_EnhancedModemHopTestTxCmd( uint8 payloadLen,
3463  uint8 payloadType,
3464  uint8 rfPhy );
3465 
3489 extern hciStatus_t HCI_EXT_EnhancedModemTestRxCmd( uint8 rfPhy,
3490  uint8 rfChan );
3491 
3502 extern hciStatus_t HCI_EXT_EndModemTestCmd( void );
3503 
3526 extern hciStatus_t HCI_EXT_SetBDADDRCmd( uint8 *bdAddr );
3527 
3553 extern hciStatus_t HCI_EXT_SetSCACmd( uint16 scaInPPM );
3554 
3570 extern hciStatus_t HCI_EXT_EnablePTMCmd( void );
3571 
3591 extern hciStatus_t HCI_EXT_SetFreqTuneCmd( uint8 step );
3592 
3607 extern hciStatus_t HCI_EXT_SaveFreqTuneCmd( void );
3608 
3629 extern hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd( uint8 txPower );
3630 
3632 
3672 extern hciStatus_t HCI_EXT_MapPmIoPortCmd( uint8 ioPort, uint8 ioPin );
3673 
3675 
3691 extern hciStatus_t HCI_EXT_DisconnectImmedCmd( uint16 connHandle );
3692 
3711 extern hciStatus_t HCI_EXT_PacketErrorRateCmd( uint16 connHandle, uint8 command );
3712 
3754 extern hciStatus_t HCI_EXT_PERbyChanCmd( uint16 connHandle, perByChan_t *perByChan );
3755 
3757 
3766 extern hciStatus_t HCI_EXT_ExtendRfRangeCmd( void );
3767 
3780 extern hciStatus_t HCI_EXT_HaltDuringRfCmd( uint8 mode );
3781 
3783 
3785 
3839 extern hciStatus_t HCI_EXT_AdvEventNoticeCmd( uint8 taskID, uint16 taskEvent );
3840 
3842 
3897 extern hciStatus_t HCI_EXT_ConnEventNoticeCmd( uint16 connHandle, uint8 taskID, uint16 taskEvent );
3898 
3920 extern hciStatus_t HCI_EXT_BuildRevisionCmd( uint8 mode, uint16 userRevNum );
3921 
3923 
3955 extern hciStatus_t HCI_EXT_DelaySleepCmd( uint16 delay );
3956 
3958 
3977 extern hciStatus_t HCI_EXT_ResetSystemCmd( uint8 mode );
3978 
3979 // @cond NODOC
3980 
3991 extern hciStatus_t HCI_EXT_LLTestModeCmd( uint8 testCase );
3992 
3993 
4004 extern hciStatus_t HCI_EXT_OverlappedProcessingCmd( uint8 mode );
4005 
4007 
4028 extern hciStatus_t HCI_EXT_NumComplPktsLimitCmd( uint8 limit,
4029  uint8 flushOnEvt );
4030 
4063 extern hciStatus_t HCI_EXT_GetConnInfoCmd( uint8 *numAllocConns,
4064  uint8 *numActiveConns,
4065  hciConnInfo_t *activeConnInfo );
4066 
4083 extern hciStatus_t HCI_EXT_SetMaxDataLenCmd( uint16 txOctets,
4084  uint16 txTime,
4085  uint16 rxOctets,
4086  uint16 rxTime );
4087 
4100 extern hciStatus_t HCI_EXT_SetDtmTxPktCntCmd( uint16 txPktCnt );
4101 
4102 
4111 extern hciStatus_t HCI_EXT_ReadRandAddrCmd( void );
4112 
4113 
4125 extern hciStatus_t HCI_EXT_SetPinOutputCmd( uint8 dio,
4126  uint8 value );
4127 
4150 extern hciStatus_t HCI_EXT_SetLocationingAccuracyCmd( uint16 handle,
4151  uint8 sampleRate1M,
4152  uint8 sampleSize1M,
4153  uint8 sampleRate2M,
4154  uint8 sampleSize2M,
4155  uint8 sampleCtrl);
4156 
4178 extern hciStatus_t HCI_EXT_GetActiveConnInfoCmd( uint8 connId, hciActiveConnInfo_t *activeConnInfo );
4179 
4180 
4202 extern hciStatus_t HCI_EXT_SetVirtualAdvAddrCmd( uint8 advHandle, uint8 *bdAddr );
4203 
4227 extern hciStatus_t HCI_EXT_SetExtScanChannels( uint8 extScanChannelsMap );
4228 
4279 extern hciStatus_t HCI_EXT_SetQOSParameters( uint8 taskType,
4280  uint8 paramType,
4281  uint32 ParamVal,
4282  uint16 taskHandle);
4283 
4316 extern hciStatus_t HCI_EXT_SetQOSDefaultParameters(uint32 paramDefaultVal,
4317  uint8 paramType,
4318  uint8 taskType);
4319 
4330 extern hciStatus_t HCI_EXT_CoexEnableCmd( uint8 enable );
4331 
4340 extern hciStatus_t HCI_EXT_GetRxStatisticsCmd( uint16 connHandle, uint8 command );
4341 
4350 extern hciStatus_t HCI_EXT_GetTxStatisticsCmd( uint16 connHandle, uint8 command );
4351 
4359 extern hciStatus_t HCI_EXT_GetCoexStatisticsCmd( uint8 command );
4360 
4361 #ifdef __cplusplus
4362 }
4363 #endif
4364 
4365 #endif /* HCI_H */
4366 
hciStatus_t HCI_EXT_PacketErrorRateCmd(uint16 connHandle, uint8 command)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1037
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1148
uint8 status
packet status (success or CRC error)
Definition: hci.h:1138
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:960
uint8 sampleCount
number of samples
Definition: hci.h:1140
uint8 status
status of event
Definition: hci.h:973
hciStatus_t HCI_LE_EnhancedCteTxTestCmd(uint8 txChan, uint8 payloadLen, uint8 payloadType, uint8 txPhy, uint8 cteLength, uint8 cteType, uint8 length, uint8 *pAntenna)
LE Extended CTE Connectionless IQ Report Event.
Definition: hci.h:1194
This API allows the software components in the Z-Stack to be written independently of the specifics o...
hciStatus_t HCI_EXT_SetQOSParameters(uint8 taskType, uint8 paramType, uint32 ParamVal, uint16 taskHandle)
This API is used to set the QOS Parameters according to the entered parameter type.
uint8 eventType
scan request event type
Definition: hci.h:939
uint16 * pNumCompletedPackets
pointer to the number of completed packets array
Definition: hci.h:1004
hciStatus_t HCI_EXT_SetMaxDataLenCmd(uint16 txOctets, uint16 txTime, uint16 rxOctets, uint16 rxTime)
hciStatus_t HCI_EXT_SetPinOutputCmd(uint8 dio, uint8 value)
uint16 connHandle
connection handle
Definition: hci.h:1101
uint8 status
status of event
Definition: hci.h:961
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1248
uint8 status
status of event
Definition: hci.h:1090
uint8 phy
current phy
Definition: hci.h:1132
uint8 addrType
public or random address type
Definition: hci.h:918
uint8 pktType
packet type
Definition: hci.h:1281
hciStatus_t HCI_LE_SetExtAdvData(aeSetDataCmd_t *pCmdParams)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:982
hciStatus_t HCI_EXT_SetVirtualAdvAddrCmd(uint8 advHandle, uint8 *bdAddr)
This API is used to set the advertiser&#39;s virtual public address.
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:901
uint16 rssi
current rssi
Definition: hci.h:1183
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1264
uint16 Interval_Min
minimum connection interval
Definition: hci.h:1079
hciStatus_t HCI_LE_SetDefaultPhyCmd(uint8 allPhys, uint8 txPhy, uint8 rxPhy)
hciStatus_t HCI_LE_PeriodicAdvCreateSyncCancelCmd(void)
hciStatus_t HCI_LE_ReadPeriodicAdvListSizeCmd(void)
HCI Packet event.
Definition: hci.h:1271
osal_event_hdr_t hdr
osal event header
Definition: hci.h:991
hciStatus_t HCI_EXT_SetExtScanChannels(uint8 extScanChannelsMap)
This API is used to set the scan channels mapping.
L2CAP data length exceed Event.
Definition: hci.h:1065
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:127
uint8 numHandles
number of handles
Definition: hci.h:1002
uint8 * pReturnParam
pointer to the return parameter
Definition: hci.h:1013
hciStatus_t HCI_LE_SetConnectionCteTransmitParamsCmd(uint16 connHandle, uint8 types, uint8 length, uint8 *pAntenna)
hciStatus_t HCI_LE_RemoveDeviceFromPeriodicAdvListCmd(uint8 advAddrType, uint8 *advAddress, uint8 advSID)
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd(uint16 connHandle)
LE CTE Connectionless IQ Report Event.
Definition: hci.h:1177
hciStatus_t HCI_LE_SetAddressResolutionEnableCmd(uint8 addrResolutionEnable)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:981
uint16 dataPktLen
data packet length
Definition: hci.h:1257
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:950
uint16 rssi
current rssi
Definition: hci.h:1134
Command Status Event.
Definition: hci.h:1026
void * iqSamples
list of interleaved I/Q samples (list size is dataLen*2)
Definition: hci.h:1173
hciStatus_t HCI_LE_SetPeriodicAdvParamsCmd(uint8 advHandle, uint16 periodicAdvIntervalMin, uint16 periodicAdvIntervalMax, uint16 periodicAdvProp)
uint16 connHandle
connection handle
Definition: hci.h:1091
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1099
osal_event_hdr_t hdr
osal event header
Definition: hci.h:937
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1196
hciStatus_t HCI_EXT_CoexEnableCmd(uint8 enable)
hciStatus_t HCI_LE_AddDeviceToPeriodicAdvListCmd(uint8 advAddrType, uint8 *advAddress, uint8 advSID)
hciStatus_t HCI_LE_TestEndCmd(void)
hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd(uint16 rpaTimeout)
uint8 sampleRate
sample rate (1/2/3/4 MHz)
Definition: hci.h:1209
hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd(uint8 txPower)
hciStatus_t HCI_LE_LtkReqNegReplyCmd(uint16 connHandle)
Hardware Error Event.
Definition: hci.h:1035
hciStatus_t HCI_EXT_ModemTestTxCmd(uint8 cwMode, uint8 txChan)
hciStatus_t HCI_LE_TransmitterTestCmd(uint8 txChan, uint8 dataLen, uint8 pktPayload)
uint8 peerAddrType
peer address type
Definition: hci.h:896
uint16 connHandle
connection handle
Definition: hci.h:1150
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1130
uint8 status
status of event
Definition: hci.h:1045
int8 txPower
Tx Power information.
Definition: hci.h:1236
hciStatus_t HCI_LE_RandCmd(void)
uint8 clockAccuracy
Peer Clock Accuracy.
Definition: hci.h:1227
LE Advertising Report Event.
Definition: hci.h:915
uint8 sampleCount
number of samples
Definition: hci.h:1189
uint8 dataChIndex
index of data channel
Definition: hci.h:1133
hciStatus_t HCI_EXT_ReadRandAddrCmd(void)
hciStatus_t HCI_LE_ReadRfPathCompCmd(void)
uint8 status
status of event
Definition: hci.h:1220
#define B_MAX_ADV_LEN
BLE Maximum Advertising Packet Length.
Definition: bcomdef.h:124
uint8 nextDataChan
next channel
Definition: hci.h:952
uint8 dataChIndex
index of data channel
Definition: hci.h:1162
hciStatus_t HCI_LE_ReadResolvingListSizeCmd(void)
uint8 cteType
cte type
Definition: hci.h:1165
LE CTE Connection IQ Report Event.
Definition: hci.h:1127
LE Data Length Change Event.
Definition: hci.h:1097
hciStatus_t HCI_SetEventMaskPage2Cmd(uint8 *pMask)
hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd(void)
hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd(uint16 connHandle, uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout, uint16 minLen, uint16 maxLen)
hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd(void)
uint8 numDevices
number of discovered devices
Definition: hci.h:930
uint8 cteType
cte type
Definition: hci.h:1204
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1219
uint16 syncHandle
sync handle in periodic adv
Definition: hci.h:1181
uint16 connectionHandle
connection handle
Definition: hci.h:878
uint16 connHandle
connection handle
Definition: hci.h:1282
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1100
hciStatus_t HCI_EXT_EnablePTMCmd(void)
hciStatus_t HCI_LE_SetDataLenCmd(uint16 connHandle, uint16 txOctets, uint16 txTime)
hciStatus_t HCI_LE_SetConnectionCteReceiveParamsCmd(uint16 connHandle, uint8 samplingEnable, uint8 slotDurations, uint8 length, uint8 *pAntenna)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:971
uint8 sampleCtrl
sample control - default filtering or RAW_RF
Definition: hci.h:1211
hciStatus_t HCI_LE_EnhancedCteRxTestCmd(uint8 rxChan, uint8 rxPhy, uint8 modIndex, uint8 expectedCteLength, uint8 expectedCteType, uint8 slotDurations, uint8 length, uint8 *pAntenna)
LE Phy Update Complete Event.
Definition: hci.h:1086
uint16 connEvent
connection event
Definition: hci.h:1168
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1060
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1147
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1001
uint8 status
packet status (success or CRC error)
Definition: hci.h:1167
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1076
hciStatus_t HCI_LE_EnhancedRxTestCmd(uint8 rxChan, uint8 rxPhy, uint8 modIndex)
uint8 rssiAntenna
antenna ID
Definition: hci.h:1135
uint8 dataStatus
Periodic data status.
Definition: hci.h:1239
hciStatus_t HCI_LE_ReadAntennaInformationCmd(void)
uint8 BLEEventCode
BLE Event code.
Definition: hci.h:1112
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1019
hciStatus_t HCI_WriteAuthPayloadTimeoutCmd(uint16 connHandle, uint16 aptoValue)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1044
uint8 slotDuration
sampling slot 1us or 2us
Definition: hci.h:1186
hciStatus_t HCI_LE_SetHostChanClassificationCmd(uint8 *chanMap)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1121
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1179
hciStatus_t HCI_EXT_SetHostConnChanClassificationCmd(uint8 *chanMap, uint16 connID)
union _hciEvt_BLEConnComplete_u_ hciEvt_BLEConnComplete_u
LE Connection Complete Event.
uint16 connInterval
connection interval
Definition: hci.h:882
hciStatus_t HCI_LE_LtkReqReplyCmd(uint16 connHandle, uint8 *ltk)
uint16 Interval_Max
maximum connection interval
Definition: hci.h:1080
uint8 length
length of parametric data, in bytes
Definition: hci.h:1020
hciStatus_t HCI_EXT_NumComplPktsLimitCmd(uint8 limit, uint8 flushOnEvt)
hciStatus_t HCI_LE_SetPeriodicAdvDataCmd(uint8 advHandle, uint8 operation, uint8 dataLength, uint8 *data)
Used to set the advertiser data used in periodic advertising PDUs. This command may be issued at any ...
uint16 connectionHandle
connection handle
Definition: hci.h:974
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1089
uint16 maxRxTime
maximum receive time
Definition: hci.h:1105
hciStatus_t HCI_ReadRssiCmd(uint16 connHandle)
uint8 status
status
Definition: hci.h:1113
hciStatus_t HCI_LE_PeriodicAdvCreateSyncCmd(uint8 options, uint8 advSID, uint8 advAddrType, uint8 *advAddress, uint16 skip, uint16 syncTimeout, uint8 syncCteType)
uint16 connectionHandle
connection handle
Definition: hci.h:894
uint8 sampleSize
sample size (8 or 16 bit)
Definition: hci.h:1171
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1233
hciStatus_t HCI_LE_CreateConnCancelCmd(void)
uint8 rssiAntenna
antenna ID
Definition: hci.h:1203
uint16 cid
L2CAP channel ID.
Definition: hci.h:1069
uint16 connTimeout
connection supervision timeout
Definition: hci.h:965
uint8 encEnable
encryption enabled or not
Definition: hci.h:985
uint8 eventIndex
event number
Definition: hci.h:1159
uint16 Latency
slave latency
Definition: hci.h:1081
hciStatus_t HCI_LE_ReadSupportedStatesCmd(void)
uint16 connLatency
connection latency
Definition: hci.h:899
uint8 slotDuration
sampling slot 1us or 2us
Definition: hci.h:1166
uint8 eventIndex
event number
Definition: hci.h:1199
uint8 linkType
synchronous or asynchronous buffer overflow
Definition: hci.h:1054
hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd(void)
Vendor Specific Command Complete Event.
Definition: hci.h:1017
osal_event_hdr_t hdr
osal event header
Definition: hci.h:959
hciStatus_t HCI_EXT_DecryptCmd(uint8 *key, uint8 *encText)
hciStatus_t HCI_EXT_SetFreqTuneCmd(uint8 step)
hciStatus_t HCI_EXT_SetDtmTxPktCntCmd(uint16 txPktCnt)
Data structure for HCI Command Complete Event Return Parameter.
Definition: hci.h:1254
hciStatus_t HCI_EXT_GetRxStatisticsCmd(uint16 connHandle, uint8 command)
This API is used to get RX statistics.
hciStatus_t HCI_LE_SetAdvParamCmd(uint16 advIntervalMin, uint16 advIntervalMax, uint8 advType, uint8 ownAddrType, uint8 directAddrType, uint8 *directAddr, uint8 advChannelMap, uint8 advFilterPolicy)
uint8 slotDuration
sampling slot 1us or 2us
Definition: hci.h:1137
void * iqSamples
list of interleaved I/Q samples (list size is dataLen*2)
Definition: hci.h:1212
uint16 totalDataLen
samples data length includes in all next events
Definition: hci.h:1198
hciStatus_t HCI_LE_EnhancedTxTestCmd(uint8 txChan, uint8 payloadLen, uint8 payloadType, uint8 txPhy)
hciStatus_t HCI_SetEventMaskCmd(uint8 *pMask)
hciStatus_t HCI_LE_SetPeriodicAdvEnableCmd(uint8 enable, uint8 advHandle)
Used to request the advertiser to enable or disable the periodic advertising for the advertising set...
hciStatus_t HCI_LE_AddWhiteListCmd(uint8 addrType, uint8 *devAddr)
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:885
Disconnection Complete Event.
Definition: hci.h:1042
hciStatus_t HCI_EXT_SaveFreqTuneCmd(void)
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)
hciStatus_t HCI_EXT_ResetSystemCmd(uint8 mode)
hciStatus_t HCI_LE_SetConnectionCteRequestEnableCmd(uint16 connHandle, uint8 enable, uint16 interval, uint8 length, uint8 type)
osal_event_hdr_t hdr
OSAL Event header.
Definition: hci.h:1280
Authenticated Payload Timeout Expired Event.
Definition: hci.h:1058
hciStatus_t HCI_EXT_EnhancedModemTestTxCmd(uint8 cwMode, uint8 rfPhy, uint8 rfChan)
uint8 sid
Peer SID.
Definition: hci.h:1222
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)
uint16 periodicInterval
Periodic interval.
Definition: hci.h:1226
hciStatus_t HCI_LE_ReadWhiteListSizeCmd(void)
uint16 connHandle
connection handle
Definition: hci.h:1078
uint8 sampleSize
sample size (8 or 16 bit)
Definition: hci.h:1210
hciStatus_t HCI_LE_SetExtScanRspData(aeSetDataCmd_t *pCmdParams)
uint16 maxTxTime
maximum transmission time
Definition: hci.h:1103
hciStatus_t HCI_LE_SetEventMaskCmd(uint8 *pEventMask)
int8 rssi
report RSSI
Definition: hci.h:922
uint16 connLatency
connection latency
Definition: hci.h:964
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:929
hciStatus_t HCI_EXT_SetQOSDefaultParameters(uint32 paramDefaultVal, uint8 paramType, uint8 taskType)
This API is used to set the Default QOS Parameters Values.
uint8 * pData
data
Definition: hci.h:1285
hciStatus_t HCI_EXT_SetRxGainCmd(uint8 rxGain)
uint8 reason
reason
Definition: hci.h:984
int8 rssi
report RSSI
Definition: hci.h:943
Periodic Advertising Sync Lost Event.
Definition: hci.h:1245
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:992
uint16 cmdOpcode
command opcode
Definition: hci.h:1031
hciStatus_t HCI_LE_SetPeriodicAdvReceiveEnableCmd(uint16 syncHandle, uint8 enable)
uint8 chSelAlgo
channel selection algorithm
Definition: hci.h:1267
LE CTE Request Failed Event.
Definition: hci.h:1145
hciStatus_t HCI_ReadRemoteVersionInfoCmd(uint16 connHandle)
uint8 * data
Periodic data received from peer.
Definition: hci.h:1241
osal_event_hdr_t hdr
OSAL event header.
Definition: hci.h:1273
uint8 channelIndex
index of channel
Definition: hci.h:1201
hciStatus_t HCI_EXT_EndModemTestCmd(void)
hciStatus_t HCI_LE_ReadTxPowerCmd(void)
hciStatus_t HCI_LE_EncryptCmd(uint8 *key, uint8 *plainText)
hciStatus_t HCI_ReadLocalVersionInfoCmd(void)
hciStatus_t HCI_LE_ReadBufSizeCmd(void)
hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd(uint8 localIdAddrType, uint8 *localIdAddr)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1157
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1111
hciStatus_t HCI_EXT_ModemHopTestTxCmd(void)
Command Complete Event.
Definition: hci.h:1008
uint8 rxPhy
RX PHY.
Definition: hci.h:1093
uint16 syncHandle
sync handle
Definition: hci.h:1235
hciStatus_t HCI_EXT_GetCoexStatisticsCmd(uint8 command)
This API is used to get COEX statistics.
hciEvt_DevInfo_t * devInfo
pointer to the array of devInfo
Definition: hci.h:931
LE Channel Selection Algorithm Event.
Definition: hci.h:1262
uint16 connHandle
connection handle
Definition: hci.h:983
HCI Data Packet.
Definition: hci.h:1278
uint8 status
status
Definition: hci.h:1122
uint8 status
status of event
Definition: hci.h:877
uint16 connTimeout
connection supervision timeout
Definition: hci.h:900
uint16 Timeout
supervision timeout
Definition: hci.h:1082
LE Generate DHKey Complete Event.
Definition: hci.h:1118
uint16 connHandle
connection handle
Definition: hci.h:1068
hciStatus_t HCI_EXT_EnhancedModemHopTestTxCmd(uint8 payloadLen, uint8 payloadType, uint8 rfPhy)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1156
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1247
uint16 * pConnectionHandle
pointer to the connection handle array
Definition: hci.h:1003
uint16 eventCounter
periodic adv event counter
Definition: hci.h:1207
LE Remote Connection Parameter Request Event.
Definition: hci.h:1073
hciStatus_t HCI_EXT_PERbyChanCmd(uint16 connHandle, perByChan_t *perByChan)
uint8 status
packet status (success or CRC error)
Definition: hci.h:1206
uint16 connEvent
connection event
Definition: hci.h:1139
uint16 connLatency
connection latency
Definition: hci.h:883
uint8 status
status of event
Definition: hci.h:1077
hciStatus_t HCI_ReadLocalSupportedCommandsCmd(void)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:938
hciStatus_t HCI_EXT_ModemTestRxCmd(uint8 rxChan)
uint16 connInterval
connection interval
Definition: hci.h:898
uint8 bleChan
BLE channel.
Definition: hci.h:942
uint8 eventType
advertisement or scan response event type
Definition: hci.h:917
osal_event_hdr_t hdr
osal event header
Definition: hci.h:875
hciEvt_BLEEnhConnComplete_t enhEvt
enhanced connection complete event
Definition: hci.h:911
int8 rssi
RSSI of the received packet.
Definition: hci.h:1237
int8 * iqSamples
list of interleaved I/Q samples
Definition: hci.h:1190
uint16 connHandle
connection handle
Definition: hci.h:1160
hciStatus_t HCI_LE_SetAdvEnableCmd(uint8 advEnable)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:891
hciStatus_t HCI_LE_ClearPeriodicAdvListCmd(void)
hciStatus_t HCI_LE_ClearResolvingListCmd(void)
hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd(uint8 control)
hciStatus_t HCI_EXT_OnePktPerEvtCmd(uint8 control)
hciStatus_t HCI_EXT_SetLocationingAccuracyCmd(uint16 handle, uint8 sampleRate1M, uint8 sampleSize1M, uint8 sampleRate2M, uint8 sampleSize2M, uint8 sampleCtrl)
uint16 connTimeout
connection supervision timeout
Definition: hci.h:884
Type definitions and macros for BLE stack.
VS LE Scan Request Report Event.
Definition: hci.h:935
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1129
hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd(uint8 control)
LE Encryption Change Event.
Definition: hci.h:979
hciStatus_t HCI_EXT_BuildRevisionCmd(uint8 mode, uint16 userRevNum)
hciStatus_t HCI_LE_ReadPhyCmd(uint16 connHandle)
uint16 syncHandle
sync handle
Definition: hci.h:1221
hciStatus_t HCI_LE_SetScanRspDataCmd(uint8 dataLen, uint8 *pData)
uint16 connInterval
connection interval
Definition: hci.h:963
uint8 phy
current phy
Definition: hci.h:1161
uint8 * pEventParam
event parameters
Definition: hci.h:1022
uint8 channelIndex
index of channel
Definition: hci.h:1182
hciEvt_BLEConnComplete_t legEvt
connection complete event
Definition: hci.h:910
hciStatus_t HCI_ReadTransmitPowerLevelCmd(uint16 connHandle, uint8 txPwrType)
uint8 cmdStatus
command status
Definition: hci.h:1029
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1067
LE Enhanced Connection Complete Event.
Definition: hci.h:889
hciStatus_t HCI_LE_SetPhyCmd(uint16 connHandle, uint8 allPhys, uint8 txPhy, uint8 rxPhy, uint16 phyOpts)
uint16 connHandle
connection handle
Definition: hci.h:1061
uint16 cmdOpcode
command opcode
Definition: hci.h:1012
hciStatus_t HCI_LE_SetConnectionlessCteTransmitEnableCmd(uint8 advHandle, uint8 enable)
Used by the Host to request that the Controller enables or disables the use of Constant Tone Extensio...
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:876
Number of Completed Packets Event.
Definition: hci.h:999
hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd(uint8 peerIdAddrType, uint8 *peerIdAddr)
OSAL Event Header.
Definition: osal.h:92
uint8 cteType
CTE type received.
Definition: hci.h:1238
hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd(uint8 *localFeatures)
hciStatus_t HCI_LE_ReceiverTestCmd(uint8 rxChan)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:892
uint8 txPhy
TX PHY.
Definition: hci.h:1092
hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd(uint8 peerIdAddrType, uint8 *peerIdAddr)
hciStatus_t HCI_LE_RemoveWhiteListCmd(uint8 addrType, uint8 *devAddr)
uint8 numDataPkts
number of data packets
Definition: hci.h:1258
uint16 connHandle
connection handle
Definition: hci.h:951
uint16 rssi
current rssi
Definition: hci.h:1202
LE Periodic Advertising Report event.
Definition: hci.h:1231
hciStatus_t HCI_EXT_EnhancedModemTestRxCmd(uint8 rfPhy, uint8 rfChan)
uint16 pktLen
packet length
Definition: hci.h:1284
hciStatus_t HCI_EXT_SetBDADDRCmd(uint8 *bdAddr)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1120
uint8 peerAddrType
peer address type
Definition: hci.h:880
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1028
hciStatus_t HCI_LE_PeriodicAdvTerminateSyncCmd(uint16 syncHandle)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1234
hciStatus_t HCI_LE_StartEncyptCmd(uint16 connHandle, uint8 *random, uint8 *encDiv, uint8 *ltk)
uint8 phy
Peer PHY.
Definition: hci.h:1225
hciStatus_t HCI_EXT_ConnEventNoticeCmd(uint16 connHandle, uint8 taskID, uint16 taskEvent)
uint16 cmdOpcode
command opcode
Definition: hci.h:1021
uint8 reason
reason
Definition: hci.h:1047
uint8 numHciCmdPkt
number of HCI Command Packet
Definition: hci.h:1011
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1075
LE Extended CTE Connection IQ Report Event.
Definition: hci.h:1154
uint8 hardwareCode
hardware error code
Definition: hci.h:1038
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:102
Data Buffer Overflow Event.
Definition: hci.h:1051
uint8 role
role of connection
Definition: hci.h:895
LE Connection Complete Event.
Definition: hci.h:873
uint8 numHciCmdPkt
number of HCI command packets
Definition: hci.h:1030
uint8 dataLen
Periodic data length.
Definition: hci.h:1240
uint16 encryptedDiversifier
encrypted diversifier
Definition: hci.h:995
int8 * iqSamples
list of interleaved I/Q samples
Definition: hci.h:1141
uint8 slotDuration
sampling slot 1us or 2us
Definition: hci.h:1205
hciStatus_t HCI_LE_AddDeviceToResolvingListCmd(uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 *peerIRK, uint8 *localIRK)
LE Read Remote Used Features Complete Event.
Definition: hci.h:969
hciStatus_t HCI_LE_SetAdvDataCmd(uint8 dataLen, uint8 *pData)
uint16 eventCounter
periodic adv event counter
Definition: hci.h:1188
uint8 peerAddrType
peer address type
Definition: hci.h:940
uint16 syncHandle
sync handle
Definition: hci.h:1249
hciStatus_t HCI_LE_SetRandomAddressCmd(uint8 *pRandAddr)
uint16 totalDataLen
samples data length includes in all next events
Definition: hci.h:1158
hciStatus_t HCI_LE_SetScanParamCmd(uint8 scanType, uint16 scanInterval, uint16 scanWindow, uint8 ownAddrType, uint8 filterPolicy)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1197
VS LE Channel Map Update Event.
Definition: hci.h:947
hciStatus_t HCI_ReadLocalSupportedFeaturesCmd(void)
uint8 sampleRate
sample rate (1/2/3/4 MHz)
Definition: hci.h:1170
hciStatus_t HCI_LE_ReadChannelMapCmd(uint16 connHandle)
uint16 connHandle
connection handle
Definition: hci.h:1266
uint8 status
status of event
Definition: hci.h:1256
osal_event_hdr_t hdr
osal event header
Definition: hci.h:949
hciStatus_t HCI_LE_ClearWhiteListCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1010
LE Periodic Advertising Sync Established event.
Definition: hci.h:1216
hciStatus_t HCI_LE_ReadMaxDataLenCmd(void)
hciStatus_t HCI_EXT_SetSCACmd(uint16 scaInPPM)
uint16 connHandle
connection handle
Definition: hci.h:1131
hciStatus_t HCI_LE_SetConnectionlessCteTransmitParamsCmd(uint8 advHandle, uint8 cteLen, uint8 cteType, uint8 cteCount, uint8 length, uint8 *pAntenna)
Used by the Host to set the type, length, and antenna switching pattern for the transmission of Const...
uint8 cteType
cte type
Definition: hci.h:1136
uint16 maxTxOctets
maximum transmission bytes
Definition: hci.h:1102
hciStatus_t HCI_LE_SetConnectionlessIqSamplingEnableCmd(uint16 syncHandle, uint8 samplingEnable, uint8 slotDurations, uint8 maxSampledCtes, uint8 length, uint8 *pAntenna)
uint8 addrType
Peer address type.
Definition: hci.h:1223
uint16 rssi
current rssi
Definition: hci.h:1163
hciStatus_t HCI_ReadBDADDRCmd(void)
uint8 status
packet status (success or CRC error)
Definition: hci.h:1187
uint8 rssiAntenna
antenna ID
Definition: hci.h:1164
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1088
hciStatus_t HCI_HostNumCompletedPktCmd(uint8 numHandles, uint16 *connHandles, uint16 *numCompletedPkts)
hciStatus_t HCI_LE_GenerateDHKeyCmd(uint8 *publicKey)
hciStatus_t HCI_EXT_GetTxStatisticsCmd(uint16 connHandle, uint8 command)
This API is used to get TX statistics.
hciStatus_t HCI_ReadAuthPayloadTimeoutCmd(uint16 connHandle, uint16 *aptoValue)
LE Connection Complete Event.
Definition: hci.h:908
hciStatus_t HCI_LE_SetConnectionCteResponseEnableCmd(uint16 connHandle, uint8 enable)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1180
LE Connection Update Complete Event.
Definition: hci.h:957
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1265
hciStatus_t HCI_EXT_SetTxPowerCmd(uint8 txPower)
uint8 status
status of event
Definition: hci.h:893
hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd(uint16 txOctets, uint16 txTime)
LE Read P256 Public Key Complete Event.
Definition: hci.h:1109
hciStatus_t HCI_LE_SetScanEnableCmd(uint8 scanEnable, uint8 filterDuplicates)
uint8 dataLen
samples data length
Definition: hci.h:1208
uint8 dataLen
length of report data
Definition: hci.h:920
uint8 dataLen
samples data length
Definition: hci.h:1169
uint8 status
status
Definition: hci.h:1149
uint8 * pData
data
Definition: hci.h:1274
uint8 cteType
cte type
Definition: hci.h:1185
LE Advertising Packet Report Event.
Definition: hci.h:926
uint8 rssiAntenna
antenna ID
Definition: hci.h:1184
uint16 syncHandle
sync handle in periodic adv
Definition: hci.h:1200
hciStatus_t HCI_EXT_DisconnectImmedCmd(uint16 connHandle)
uint16 connHandle
connection handle
Definition: hci.h:1046
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:972
hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd(uint16 connHandle, uint8 reason)
hciStatus_t HCI_LE_WriteRfPathCompCmd(int16 txPathParam, int16 rxPathParam)
hciStatus_t HCI_LE_ConnUpdateCmd(uint16 connHandle, uint16 connIntervalMin, uint16 connIntervalMax, uint16 connLatency, uint16 connTimeout, uint16 minLen, uint16 maxLen)
hciStatus_t HCI_LE_SetAdvStatus(aeEnableCmd_t *pCmdParams)
uint8 pbFlag
flag
Definition: hci.h:1283
uint16 maxRxOctets
maximum receive bytes
Definition: hci.h:1104
uint8 role
role of connection
Definition: hci.h:879
hciStatus_t HCI_ResetCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1053
hciStatus_t HCI_EXT_SetHostDefChanClassificationCmd(uint8 *chanMap)
hciStatus_t HCI_LE_SetPrivacyModeCmd(uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 privacyMode)
uint16 connectionHandle
connection handle
Definition: hci.h:962
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1218
LE Long Term Key Requested Event.
Definition: hci.h:989
osal_event_hdr_t hdr
osal event header
Definition: hci.h:928
uint8 sampleCtrl
sample control - default filtering or RAW_RF
Definition: hci.h:1172
uint16 connHandle
connection handle
Definition: hci.h:993
hciStatus_t HCI_EXT_GetConnInfoCmd(uint8 *numAllocConns, uint8 *numActiveConns, hciConnInfo_t *activeConnInfo)
© Copyright 1995-2024, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale