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