TI BLE5-Stack API Documentation  9.11.01
hci_tl.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 
21 #ifndef HCI_TL_H
22 #define HCI_TL_H
23 
24 #ifdef __cplusplus
25 extern "C"
26 {
27 #endif
28 
29 /*******************************************************************************
30  * INCLUDES
31  */
32 
35 #include "ti/ble/controller/hci/hci_data.h"
36 #include "ti/ble/controller/hci/hci_event.h"
37 
39 extern uint8 hciTaskID;
40 extern uint8 hciTestTaskID;
41 extern uint8 hciGapTaskID;
42 extern uint8 hciL2capTaskID;
43 extern uint8 hciSmpTaskID;
45 
46 /*******************************************************************************
47  * MACROS
48  */
49 
52 #define HCI_ASSERT(condition) HAL_ASSERT(condition)
53  // end of HCI
56 
57 /*******************************************************************************
58  * CONSTANTS
59  */
60 
66 
68 // OSAL Task Events
69 #define HCI_TX_PROCESS_EVENT 0x0001
70 #define HCI_TEST_UART_SEND_EVENT 0x0002
71 #define HCI_BDADDR_UPDATED_EVENT 0x4000
72 
73 // OSAL Message Header Events
74 #define HCI_CTRL_TO_HOST_EVENT 0x01
75 #define HCI_HOST_TO_CTRL_CMD_EVENT 0x02
76 #define HCI_HOST_TO_CTRL_DATA_EVENT 0x03
77 
78 #define HCI_BDADDR_LEN 6
79 
80 // Max Allowed HCI Packet
81 #define HCI_MAX_CMD_PKT_SIZE 0xFF
82 #define HCI_MAX_DATA_PKT_SIZE 0xFFFF
83 
84 // Max Data Length in Packet
85 #define HCI_DATA_MAX_DATA_LENGTH 27
86 
87 
93 #define HCI_CMD_MIN_LENGTH 4
94 
101 #define HCI_EXT_CMD_MIN_LENGTH 5
102 
109 #define HCI_EVENT_MIN_LENGTH 3
110 
114 #define HCI_EVENT_STATUS_LENGTH 1
115 
119 #define HCI_EVENT_OPCODE_LENGTH 1
120 
127 #define HCI_EXT_GAP_ADV_EVENT_MIN_LENGTH 9
128 
135 #define HCI_DATA_MIN_LENGTH 5
136 
137 #define HCI_MAX_NUM_CONNECTIONS 0x03
138 
139 #define HCI_TX_DATA_ANY_CONNECTION 0xFF
140 
141 // HCI Packet Types
142 #define HCI_CMD_PACKET 0x01
143 #define HCI_ACL_DATA_PACKET 0x02
144 #define HCI_SCO_DATA_PACKET 0x03
145 #define HCI_EVENT_PACKET 0x04
146 #define HCI_EXTENDED_EVENT_PACKET 0x05
147 #define HCI_EXTENDED_CMD_PACKET 0x09
148 
149 
150 // States for Command and Data packet parser
151 #define HCI_PARSER_STATE_PKT_TYPE 0
152 #define HCI_CMD_PARSER_STATE_OPCODE 1
153 #define HCI_CMD_PARSER_STATE_LENGTH 2
154 #define HCI_CMD_PARSER_STATE_DATA 3
155 #define HCI_DATA_PARSER_STATE_HANDLE 4
156 #define HCI_DATA_PARSER_STATE_LENGTH 5
157 #define HCI_DATA_PARSER_STATE_DATA 6
158 
159 // HCI Command Subgroup
160 #define HCI_OPCODE_CSG_LINK_LAYER 0
161 #define HCI_OPCODE_CSG_CSG_L2CAP 1
162 #define HCI_OPCODE_CSG_CSG_ATT 2
163 #define HCI_OPCODE_CSG_CSG_GATT 3
164 #define HCI_OPCODE_CSG_CSG_GAP 4
165 #define HCI_OPCODE_CSG_CSG_SM 5
166 #define HCI_OPCODE_CSG_CSG_Reserved 6
167 #define HCI_OPCODE_CSG_CSG_USER_PROFILE 7
168 
169 // Vendor Specific OGF
170 #define VENDOR_SPECIFIC_OGF 0x3F
171 
172 
174 /*
175 ** HCI Command Opcodes
176 */
177 
178 // Link Control Commands
180 #define HCI_DISCONNECT 0x0406
181 #define HCI_READ_REMOTE_VERSION_INFO 0x041D
183 
184 // Controller and Baseband Commands
185 #define HCI_SET_EVENT_MASK 0x0C01
186 #define HCI_RESET 0x0C03
187 #define HCI_WRITE_LOCAL_NAME 0x0C13
189 #define HCI_READ_SCAN_ENABLE 0x0C19
190 #define HCI_WRITE_SCAN_ENABLE 0x0C1A
191 #define HCI_READ_CLASS_OF_DEVICE 0x0C23
192 #define HCI_WRITE_CLASS_OF_DEVICE 0x0C24
193 #define HCI_READ_TRANSMIT_POWER 0x0C2D
195 #define HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 0x0C31
197 #define HCI_HOST_BUFFER_SIZE 0x0C33
198 #define HCI_HOST_NUM_COMPLETED_PACKETS 0x0C35
200 #define HCI_WRITE_CURRENT_IAC_LAP 0x0C3A
202 #define HCI_SET_EVENT_MASK_PAGE_2 0x0C63
204 #define HCI_READ_LE_HOST_SUPPORT 0x0C6C
206 #define HCI_WRITE_LE_HOST_SUPPORT 0x0C6D
207 #define HCI_READ_AUTH_PAYLOAD_TIMEOUT 0x0C7B
209 #define HCI_WRITE_AUTH_PAYLOAD_TIMEOUT 0x0C7C
210 
211 // Information Parameters
212 #define HCI_READ_LOCAL_VERSION_INFO 0x1001
213 #define HCI_READ_LOCAL_SUPPORTED_COMMANDS 0x1002
214 #define HCI_READ_LOCAL_SUPPORTED_FEATURES 0x1003
215 #define HCI_READ_LOCAL_BUFFER_SIZE 0x1005
217 #define HCI_READ_BDADDR 0x1009
219 
220 // Status Parameters
221 #define HCI_READ_RSSI 0x1405
222 
223 // LE Commands
224 // V4.0
225 #define HCI_LE_SET_EVENT_MASK 0x2001
226 #define HCI_LE_READ_BUFFER_SIZE 0x2002
227 #define HCI_LE_READ_LOCAL_SUPPORTED_FEATURES 0x2003
228 #define HCI_LE_SET_RANDOM_ADDR 0x2005
230 #define HCI_LE_SET_ADV_PARAM 0x2006
231 #define HCI_LE_READ_ADV_CHANNEL_TX_POWER 0x2007
232 #define HCI_LE_SET_ADV_DATA 0x2008
233 #define HCI_LE_SET_SCAN_RSP_DATA 0x2009
234 #define HCI_LE_SET_ADV_ENABLE 0x200A
235 #define HCI_LE_SET_SCAN_PARAM 0x200B
236 #define HCI_LE_SET_SCAN_ENABLE 0x200C
237 #define HCI_LE_CREATE_CONNECTION 0x200D
238 #define HCI_LE_CREATE_CONNECTION_CANCEL 0x200E
239 #define HCI_LE_READ_ACCEPT_LIST_SIZE 0x200F
241 #define HCI_LE_CLEAR_ACCEPT_LIST 0x2010
242 #define HCI_LE_ADD_ACCEPT_LIST 0x2011
243 #define HCI_LE_REMOVE_ACCEPT_LIST 0x2012
244 #define HCI_LE_CONNECTION_UPDATE 0x2013
246 #define HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION 0x2014
248 #define HCI_LE_READ_CHANNEL_MAP 0x2015
249 #define HCI_LE_READ_REMOTE_USED_FEATURES 0x2016
250 #define HCI_LE_ENCRYPT 0x2017
251 #define HCI_LE_RAND 0x2018
252 #define HCI_LE_START_ENCRYPTION 0x2019
254 #define HCI_LE_LTK_REQ_REPLY 0x201A
255 #define HCI_LE_LTK_REQ_NEG_REPLY 0x201B
256 #define HCI_LE_READ_SUPPORTED_STATES 0x201C
258 #define HCI_LE_RECEIVER_TEST 0x201D
259 #define HCI_LE_TRANSMITTER_TEST 0x201E
260 #define HCI_LE_TEST_END 0x201F
261 // V4.1
262 #define HCI_LE_REMOTE_CONN_PARAM_REQ_REPLY 0x2020
264 #define HCI_LE_REMOTE_CONN_PARAM_REQ_NEG_REPLY 0x2021
265 // V4.2
267 #define HCI_LE_SET_DATA_LENGTH 0x2022
268 #define HCI_LE_READ_SUGGESTED_DEFAULT_DATA_LENGTH 0x2023
269 #define HCI_LE_WRITE_SUGGESTED_DEFAULT_DATA_LENGTH 0x2024
270 #define HCI_LE_READ_LOCAL_P256_PUBLIC_KEY 0x2025
272 #define HCI_LE_GENERATE_DHKEY 0x2026
273 #define HCI_LE_ADD_DEVICE_TO_RESOLVING_LIST 0x2027
275 #define HCI_LE_REMOVE_DEVICE_FROM_RESOLVING_LIST 0x2028
276 #define HCI_LE_CLEAR_RESOLVING_LIST 0x2029
277 #define HCI_LE_READ_RESOLVING_LIST_SIZE 0x202A
278 #define HCI_LE_READ_PEER_RESOLVABLE_ADDRESS 0x202B
279 #define HCI_LE_READ_LOCAL_RESOLVABLE_ADDRESS 0x202C
280 #define HCI_LE_SET_ADDRESS_RESOLUTION_ENABLE 0x202D
282 #define HCI_LE_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT 0x202E
284 #define HCI_LE_READ_MAX_DATA_LENGTH 0x202F
285 #define HCI_LE_SET_PRIVACY_MODE 0x204E
286 // V5.0
287 #define HCI_LE_READ_PHY 0x2030
288 #define HCI_LE_SET_DEFAULT_PHY 0x2031
289 #define HCI_LE_SET_PHY 0x2032
290 #define HCI_LE_ENHANCED_RECEIVER_TEST 0x2033
291 #define HCI_LE_ENHANCED_TRANSMITTER_TEST 0x2034
292 #define HCI_LE_READ_TX_POWER 0x204B
293 #define HCI_LE_READ_RF_PATH_COMPENSATION 0x204C
294 #define HCI_LE_WRITE_RF_PATH_COMPENSATION 0x204D
295 // @cond NODOC
296 #define HCI_LE_SET_ADV_SET_RANDOM_ADDRESS 0x2035
297 #define HCI_LE_SET_EXT_ADV_PARAMETERS 0x2036
298 #define HCI_LE_SET_EXT_ADV_DATA 0x2037
299 #define HCI_LE_SET_EXT_SCAN_RESPONSE_DATA 0x2038
300 #define HCI_LE_SET_EXT_ADV_ENABLE 0x2039
301 #define HCI_LE_READ_MAX_ADV_DATA_LENGTH 0x203A
302 #define HCI_LE_READ_NUM_SUPPORTED_ADV_SETS 0x203B
303 #define HCI_LE_REMOVE_ADV_SET 0x203C
304 #define HCI_LE_CLEAR_ADV_SETS 0x203D
305 #define HCI_LE_SET_PERIODIC_ADV_PARAMETERS 0x203E
306 #define HCI_LE_SET_PERIODIC_ADV_DATA 0x203F
307 #define HCI_LE_SET_PERIODIC_ADV_ENABLE 0x2040
308 #define HCI_LE_SET_EXT_SCAN_PARAMETERS 0x2041
309 #define HCI_LE_SET_EXT_SCAN_ENABLE 0x2042
310 #define HCI_LE_EXT_CREATE_CONN 0x2043
311 #define HCI_LE_PERIODIC_ADV_CREATE_SYNC 0x2044
312 #define HCI_LE_PERIODIC_ADV_CREATE_SYNC_CANCEL 0x2045
313 #define HCI_LE_PERIODIC_ADV_TERMINATE_SYNC 0x2046
314 #define HCI_LE_ADD_DEVICE_TO_PERIODIC_ADV_LIST 0x2047
315 #define HCI_LE_REMOVE_DEVICE_FROM_PERIODIC_ADV_LIST 0x2048
316 #define HCI_LE_CLEAR_PERIODIC_ADV_LIST 0x2049
317 #define HCI_LE_READ_PERIODIC_ADV_LIST_SIZE 0x204A
318 #define HCI_LE_SET_HOST_FEATURE 0x2074
319 // @endcond // NODOC
320 
321 /* Powe Control Commands
322 ** Taken from BLE Core Specification Core_v6.0, Vol 4, Part E:
323 ** Sections; 7.8.117, 7.8.118, 7.8.121
324 ** For the LE Controller commands, the OGF code is defined as 0x08
325 ** The OGF is the last 6 bits, the OCF is the first 10 bits
326 */
327 #define HCI_LE_ENHANCED_READ_TRANSMIT_POWER_LEVEL 0x2076
328 #define HCI_LE_READ_REMOTE_TRANSMIT_POWER_LEVEL 0x2077
329 #define HCI_LE_SET_TRANSMIT_POWER_REPORTING_ENABLE 0x207A
330 
331 // V5.1
332 // @cond NODOC
333 #define HCI_LE_ENHANCED_CTE_RECEIVER_TEST 0x204F
334 #define HCI_LE_ENHANCED_CTE_TRANSMITTER_TEST 0x2050
335 #define HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_PARAMS 0x2051
336 #define HCI_LE_SET_CONNECTIONLESS_CTE_TRANSMIT_ENABLE 0x2052
337 #define HCI_LE_SET_CONNECTIONLESS_IQ_SAMPLING_ENABLE 0x2053
338 #define HCI_LE_SET_CONNECTION_CTE_RECEIVE_PARAMS 0x2054
339 #define HCI_LE_SET_CONNECTION_CTE_TRANSMIT_PARAMS 0x2055
340 #define HCI_LE_SET_CONNECTION_CTE_REQUEST_ENABLE 0x2056
341 #define HCI_LE_SET_CONNECTION_CTE_RESPONSE_ENABLE 0x2057
342 #define HCI_LE_READ_ANTENNA_INFORMATION 0x2058
343 #define HCI_LE_SET_PERIODIC_ADV_RECEIVE_ENABLE 0x2059
344 // @endcond // NODOC
345 // V5.2
346 #define HCI_LE_GENERATE_DHKEY_V2 0x205E
347 
348 // LE Vendor Specific LL Extension Commands
350 #define HCI_EXT_SET_RX_GAIN 0xFC00
351 #define HCI_EXT_SET_TX_POWER 0xFC01
352 // Reserved and can be used: 0xFC2F
353 // Reserved and can be used: 0xFC30
354 
355 #define HCI_EXT_ONE_PKT_PER_EVT 0xFC02
356 #define HCI_EXT_CLK_DIVIDE_ON_HALT 0xFC03
358 #define HCI_EXT_DECLARE_NV_USAGE 0xFC04
359 #define HCI_EXT_DECRYPT 0xFC05
361 #define HCI_EXT_SET_LOCAL_SUPPORTED_FEATURES 0xFC06
362 #define HCI_EXT_SET_FAST_TX_RESP_TIME 0xFC07
363 #define HCI_EXT_MODEM_TEST_TX 0xFC08
364 #define HCI_EXT_MODEM_HOP_TEST_TX 0xFC09
365 #define HCI_EXT_MODEM_TEST_RX 0xFC0A
366 #define HCI_EXT_END_MODEM_TEST 0xFC0B
367 #define HCI_EXT_SET_BDADDR 0xFC0C
369 #define HCI_EXT_SET_SCA 0xFC0D
371 #define HCI_EXT_ENABLE_PTM 0xFC0E
372 #define HCI_EXT_MAP_PM_IO_PORT 0xFC12
374 #define HCI_EXT_DISCONNECT_IMMED 0xFC13
376 #define HCI_EXT_PER 0xFC14
377 #define HCI_EXT_PER_BY_CHAN 0xFC15
378 #define HCI_EXT_EXTEND_RF_RANGE 0xFC16
380 #define HCI_EXT_HALT_DURING_RF 0xFC19
383 #define HCI_EXT_OVERRIDE_PL 0xFC1A
385 #define HCI_EXT_BUILD_REVISION 0xFC1B
386 #define HCI_EXT_DELAY_SLEEP 0xFC1C
388 #define HCI_EXT_RESET_SYSTEM 0xFC1D
390 #define HCI_EXT_OVERLAPPED_PROCESSING 0xFC1E
392 #define HCI_EXT_NUM_COMPLETED_PKTS_LIMIT 0xFC1F
394 #define HCI_EXT_GET_CONNECTION_INFO 0xFC20
396 #define HCI_EXT_SET_MAX_DATA_LENGTH 0xFC21
398 #define HCI_EXT_SET_DTM_TX_PKT_CNT 0xFC24
399 #define HCI_EXT_READ_RAND_ADDR 0xFC25
401 #define HCI_EXT_ENHANCED_MODEM_TEST_TX 0xFC27
403 #define HCI_EXT_ENHANCED_MODEM_HOP_TEST_TX 0xFC28
404 #define HCI_EXT_ENHANCED_MODEM_TEST_RX 0xFC29
405 // @cond NODOC
406 #define HCI_EXT_SET_PIN_OUTPUT 0xFC2A
407 #define HCI_EXT_SET_LOCATIONING_ACCURACY 0xFC2B
408 #define HCI_EXT_GET_ACTIVE_CONNECTION_INFO 0xFC2C
409 #define HCI_EXT_COEX_ENABLE 0xFC2E
410 #define HCI_EXT_SET_TX_POWER_DBM 0xFC2F
411 #define HCI_EXT_SET_MAX_DTM_TX_POWER_DBM 0xFC30
412 #define HCI_EXT_GET_RX_STATS 0xFC31
413 #define HCI_EXT_GET_TX_STATS 0xFC32
414 #define HCI_EXT_GET_COEX_STATS 0xFC33
415 #define HCI_EXT_HOST_TO_CONTROLLER 0xFC34
416 
417 // Rssi Monitor Vendor Specific commands opcodes
418 #define HCI_EXT_RSSI_MON_REGISTER 0xFC35
419 #define HCI_EXT_RSSI_MON_UNREGISTER 0xFC36
420 #define HCI_EXT_RSSI_MON_SET_CONFIG 0xFC37
421 #define HCI_EXT_RSSI_MON_GET_CONFIG 0xFC38
422 #define HCI_EXT_RSSI_MON_GET_RSSI 0xFC39
423 
424 #define HCI_EXT_LL_TEST_MODE 0xFC70
425 
426 #define HCI_EXT_LE_SET_EXT_ADV_DATA 0xFC71
427 #define HCI_EXT_LE_SET_EXT_SCAN_RESPONSE_DATA 0xFC72
428 #define HCI_EXT_LE_SET_EXT_VIRTUAL_ADV_ADDRESS 0xFC73
429 #define HCI_EXT_SET_SCAN_CHAN 0xFC74
430 #define HCI_EXT_SET_QOS_PARAMETERS 0xFC75
431 #define HCI_EXT_SET_QOS_DEFAULT_PARAMETERS 0xFC76
432 #define HCI_LE_MAKE_DISCOVERABLE_DONE 0xFC77
433 #define HCI_LE_END_DISCOVERABLE_DONE 0xFC78
434 #define HCI_EXT_SET_HOST_DEFAULT_CHANNEL_CLASSIFICATION 0xFC79
435 #define HCI_EXT_SET_HOST_CONNECTION_CHANNEL_CLASSIFICATION 0xFC7A
436 #define HCI_EXT_SET_ADV_SET_RAND_ADDR 0xFC7B
437 // @endcond //NODOC
438 
439 // Power Control Vendor Specific command opcode
440 #define HCI_EXT_SEND_POWER_CONTROL_REQUEST 0xFC7C
441 
442 // Multiple Antennas Vendro Specific commands opcodes
443 #define HCI_EXT_SET_DEFAULT_ANTENNA 0xFC7D
444 
445 /*
446 ** HCI Event Codes
447 */
448 
449 // BT Events
450 #define HCI_DISCONNECTION_COMPLETE_EVENT_CODE 0x05
451 #define HCI_ENCRYPTION_CHANGE_EVENT_CODE 0x08
452 #define HCI_READ_REMOTE_INFO_COMPLETE_EVENT_CODE 0x0C
453 #define HCI_COMMAND_COMPLETE_EVENT_CODE 0x0E
454 #define HCI_COMMAND_STATUS_EVENT_CODE 0x0F
455 #define HCI_BLE_HARDWARE_ERROR_EVENT_CODE 0x10
456 #define HCI_NUM_OF_COMPLETED_PACKETS_EVENT_CODE 0x13
457 #define HCI_DATA_BUFFER_OVERFLOW_EVENT 0x1A
458 #define HCI_KEY_REFRESH_COMPLETE_EVENT_CODE 0x30
459 #define HCI_APTO_EXPIRED_EVENT_CODE 0x57
460 
461 // LE Event Code (for LE Meta Events)
462 #define HCI_LE_EVENT_CODE 0x3E
463 
464 // LE Meta Event Codes
465 #define HCI_BLE_CONNECTION_COMPLETE_EVENT 0x01
466 #define HCI_BLE_ADV_REPORT_EVENT 0x02
467 #define HCI_BLE_CONN_UPDATE_COMPLETE_EVENT 0x03
468 #define HCI_BLE_READ_REMOTE_FEATURE_COMPLETE_EVENT 0x04
469 #define HCI_BLE_LTK_REQUESTED_EVENT 0x05
470 // V4.1
471 #define HCI_BLE_REMOTE_CONN_PARAM_REQUEST_EVENT 0x06
472 // V4.2
473 #define HCI_BLE_DATA_LENGTH_CHANGE_EVENT 0x07
474 #define HCI_BLE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE_EVENT 0x08
475 #define HCI_BLE_GENERATE_DHKEY_COMPLETE_EVENT 0x09
476 #define HCI_BLE_ENHANCED_CONNECTION_COMPLETE_EVENT 0x0A
477 #define HCI_BLE_DIRECT_ADVERTISING_REPORT_EVENT 0x0B
478 // V5.0
479 #define HCI_BLE_PHY_UPDATE_COMPLETE_EVENT 0x0C
480 
481 #define HCI_BLE_EXTENDED_ADV_REPORT_EVENT 0x0D
483 #define HCI_BLE_PERIODIC_ADV_SYNCH_ESTABLISHED_EVENT 0x0E
484 #define HCI_BLE_PERIODIC_ADV_REPORT_EVENT 0x0F
485 #define HCI_BLE_PERIODIC_ADV_SYNCH_LOST_EVENT 0x10
486 #define HCI_BLE_SCAN_TIMEOUT_EVENT 0x11
488 #define HCI_BLE_ADV_SET_TERMINATED_EVENT 0x12
489 #define HCI_BLE_SCAN_REQUEST_RECEIVED_EVENT 0x13
490 #define HCI_BLE_CHANNEL_SELECTION_ALGORITHM_EVENT 0x14
491 #define HCI_BLE_CONNECTIONLESS_IQ_REPORT_EVENT 0x15
492 #define HCI_BLE_CONNECTION_IQ_REPORT_EVENT 0x16
493 #define HCI_BLE_CTE_REQUEST_FAILED_EVENT 0x17
494 
495 /* Powe Control events
496 ** Taken from BLE Core Specification Core_v6.0, Vol 4, Part E:
497 ** Section 7.8.1
498 */
499 #define HCI_BLE_TRANSMIT_POWER_REPORTING_EVENT 0x21
500 
501 // CS events
502 #define HCI_LE_CS_READ_REMOTE_SUPPORTED_CAPABILITIES_COMPLETE_EVENT 0x2C
503 #define HCI_LE_CS_READ_REMOTE_FAE_TABLE_COMPLETE_EVENT 0x2D
504 #define HCI_LE_CS_SECURITY_ENABLE_COMPLETE_EVENT 0x2E
505 #define HCI_LE_CS_CONFIG_COMPLETE_EVENT 0x2F
506 #define HCI_LE_CS_PROCEDURE_ENABLE_COMPLETE_EVENT 0x30
507 #define HCI_LE_CS_TEST_END_COMPLETE_EVENT 0x33
508 
509 // VS Meta Event Codes - Texas Instruments Inc specific!
510 #define HCI_BLE_SCAN_REQ_REPORT_EVENT 0x80
511 #define HCI_BLE_EXT_CONNECTION_IQ_REPORT_EVENT 0x81
512 #define HCI_BLE_CHANNEL_MAP_UPDATE_EVENT 0x82
513 #define HCI_BLE_CONN_UPDATE_REJECT_EVENT 0x83
514 #define HCI_BLE_EXT_CONNECTIONLESS_IQ_REPORT_EVENT 0x84
515 
516 #define HCI_TEST_EVENT_CODE 0xFE
517 #define HCI_VE_EVENT_CODE 0xFF
518 
519 // LE Vendor Specific LL Extension Events
520 #define HCI_EXT_SET_RX_GAIN_EVENT 0x0400
521 #define HCI_EXT_SET_TX_POWER_EVENT 0x0401
522 #define HCI_EXT_ONE_PKT_PER_EVT_EVENT 0x0402
523 #define HCI_EXT_CLK_DIVIDE_ON_HALT_EVENT 0x0403
525 #define HCI_EXT_DECLARE_NV_USAGE_EVENT 0x0404
526 #define HCI_EXT_DECRYPT_EVENT 0x0405
528 #define HCI_EXT_SET_LOCAL_SUPPORTED_FEATURES_EVENT 0x0406
529 #define HCI_EXT_SET_FAST_TX_RESP_TIME_EVENT 0x0407
530 #define HCI_EXT_MODEM_TEST_TX_EVENT 0x0408
531 #define HCI_EXT_MODEM_HOP_TEST_TX_EVENT 0x0409
532 #define HCI_EXT_MODEM_TEST_RX_EVENT 0x040A
533 #define HCI_EXT_END_MODEM_TEST_EVENT 0x040B
534 #define HCI_EXT_SET_BDADDR_EVENT 0x040C
536 #define HCI_EXT_SET_SCA_EVENT 0x040D
538 #define HCI_EXT_ENABLE_PTM_EVENT 0x040E
539 #define HCI_EXT_SET_MAX_DTM_TX_POWER_EVENT 0x0411
540 #define HCI_EXT_MAP_PM_IO_PORT_EVENT 0x0412
542 #define HCI_EXT_DISCONNECT_IMMED_EVENT 0x0413
544 #define HCI_EXT_PER_EVENT 0x0414
545 #define HCI_EXT_PER_BY_CHAN_EVENT 0x0415
546 #define HCI_EXT_EXTEND_RF_RANGE_EVENT 0x0416
548 #define HCI_EXT_HALT_DURING_RF_EVENT 0x0419
551 #define HCI_EXT_OVERRIDE_PL_EVENT 0x041A
552 #define HCI_EXT_BUILD_REVISION_EVENT 0x041B
554 #define HCI_EXT_DELAY_SLEEP_EVENT 0x041C
556 #define HCI_EXT_RESET_SYSTEM_EVENT 0x041D
558 #define HCI_EXT_OVERLAPPED_PROCESSING_EVENT 0x041E
560 #define HCI_EXT_NUM_COMPLETED_PKTS_LIMIT_EVENT 0x041F
562 #define HCI_EXT_GET_CONNECTION_INFO_EVENT 0x0420
564 #define HCI_EXT_SET_MAX_DATA_LENGTH_EVENT 0x0421
566 #define HCI_EXT_SET_DTM_TX_PKT_CNT_EVENT 0x0424
567 #define HCI_EXT_READ_RAND_ADDR_EVENT 0x0425
569 #define HCI_EXT_LE_ADV_EVENT 0x0425
571 #define HCI_EXT_LE_SCAN_EVENT 0x0426
572 
573 #define HCI_EXT_ENHANCED_MODEM_TEST_TX_EVENT 0x0427
574 #define HCI_EXT_ENHANCED_MODEM_HOP_TEST_TX_EVENT 0x0428
575 #define HCI_EXT_ENHANCED_MODEM_TEST_RX_EVENT 0x0429
576 // @cond NODOC
577 #define HCI_EXT_SET_PIN_OUTPUT_EVENT 0x042A
578 #define HCI_EXT_SET_LOCATIONING_ACCURACY_EVENT 0x042B
579 #define HCI_EXT_GET_ACTIVE_CONNECTION_INFO_EVENT 0x042C
580 #define HCI_EXT_SET_VIRTUAL_ADV_ADDRESS_EVENT 0x042D
581 #define HCI_EXT_COEX_ENABLE_EVENT 0x042E
582 #define HCI_EXT_SET_HOST_DEF_CHANNEL_CLASSIFICATION_EVENT 0x042F
583 #define HCI_EXT_SET_HOST_CONN_CHANNEL_CLASSIFICATION_EVENT 0x0430
584 #define HCI_EXT_GET_RX_STATS_EVENT 0x0431
585 #define HCI_EXT_GET_TX_STATS_EVENT 0x0432
586 #define HCI_EXT_GET_COEX_STATS_EVENT 0x0433
587 #define HCI_EXT_SET_ADV_SET_RAND_ADDR_EVENT 0x0434
588 #define HCI_EXT_SET_DEFAULT_ANTENNA_EVENT 0x0435
589 
590 // Rssi monitor vendor specific event - threshold passed
591 #define HCI_EXT_RSSI_MON_REGISTER_EVENT 0x0436U
592 #define HCI_EXT_RSSI_MON_GET_CONFIG_EVENT 0x0437U
593 #define HCI_EXT_RSSI_MON_RSSI_STATISTIC_EVENT 0x0438U
594 #define HCI_EXT_RSSI_MON_CB_EVENT 0x0439U
595 
596 
597 #define HCI_EXT_LL_TEST_MODE_EVENT 0x0470
598 
599 // @endcond // NODOC
600 
601 // Vendor Specific Event Mask - Texas Instruments Inc specific!
602 #define NO_FEATURES_ENABLED 0x00
603 #define PEER_PARAM_REJECT_ENABLED 0x01
604 
605 
606 // Channel Sounding Commands
607 #define HCI_LE_CS_READ_LOCAL_SUPPORTED_CAPABILITIES 0x2089
608 #define HCI_LE_CS_READ_REMOTE_SUPPORTED_CAPABILITIES 0x208A
609 #define HCI_LE_CS_SECURITY_ENABLE 0x208C
610 #define HCI_LE_CS_SET_DEFAULT_SETTINGS 0x208D
611 #define HCI_LE_CS_READ_REMOTE_FAE_TABLE 0x208E
612 #define HCI_LE_CS_WRITE_REMOTE_FAE_TABLE 0x208F
613 #define HCI_LE_CS_CREATE_CONFIG 0x2090
614 #define HCI_LE_CS_REMOVE_CONFIG 0x2091
615 #define HCI_LE_CS_SET_CHANNEL_CLASSIFICATION 0x2092
616 #define HCI_LE_CS_SET_PROCEDURE_PARAMS 0x2093
617 #define HCI_LE_CS_PROCEDURE_ENABLE 0x2094
618 #define HCI_LE_CS_TEST 0x2095
619 #define HCI_LE_CS_TEST_END 0x2096
620 
621  // end of HCI_Constants
622 
623 /*******************************************************************************
624  * TYPEDEFS
625  */
626 
627 typedef struct _hciRawData_t
628 {
629  uint16 pktLen;
630  uint8_t *pData;
631 } hciRawData_t;
632 
633 /*******************************************************************************
634  * LOCAL VARIABLES
635  */
636 
637 /*******************************************************************************
638  * GLOBAL VARIABLES
639  */
640 
641 extern uint8 hciVsEvtMask;
642 
643 /*
644 ** HCI OSAL API
645 */
646 
648 
656 extern void HCI_Init( uint8 taskID );
657 
658 
669 extern void HCI_ParamUpdateRjctEvtRegister();
670 
671 
680 extern void HCI_TL_getCmdResponderID( uint8 taskID );
681 
682 
693 extern uint32 HCI_ProcessEvent( uint8 task_id,
694  uint32 events );
695 
696 
698 
699 #ifdef __cplusplus
700 }
701 #endif
702 
703 #endif /* HCI_TL_H */
This API allows the software components in the Z-Stack to be written independently of the specifics o...
uint8 hciVsEvtMask
uint8_t * pData
Definition: hci_tl.h:630
Definition: hci_tl.h:627
uint16 pktLen
Definition: hci_tl.h:629
struct _hciRawData_t hciRawData_t
HCI layer interface.
© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale