1 /****************************************************************************** 2 * @file ble_std.h 3 * @author MCD Application Team 4 * @brief BLE standard definitions 5 ****************************************************************************** 6 * @attention 7 * 8 * <h2><center>© Copyright (c) 2019 STMicroelectronics. 9 * All rights reserved.</center></h2> 10 * 11 * This software component is licensed by ST under Ultimate Liberty license 12 * SLA0044, the "License"; You may not use this file except in compliance with 13 * the License. You may obtain a copy of the License at: 14 * www.st.com/SLA0044 15 * 16 ****************************************************************************** 17 */ 18 19 #ifndef BLE_STD_H__ 20 #define BLE_STD_H__ 21 22 23 /* HCI packet type */ 24 #define HCI_COMMAND_PKT_TYPE 0x01 25 #define HCI_ACLDATA_PKT_TYPE 0x02 26 #define HCI_EVENT_PKT_TYPE 0x04 27 28 /* HCI packet header size */ 29 #define HCI_COMMAND_HDR_SIZE 4 30 #define HCI_ACLDATA_HDR_SIZE 5 31 #define HCI_EVENT_HDR_SIZE 3 32 33 /* HCI parameters length */ 34 #define HCI_COMMAND_MAX_PARAM_LEN 255 35 #define HCI_ACLDATA_MAX_DATA_LEN 251 /* HC_LE_Data_Packet_Length */ 36 #define HCI_EVENT_MAX_PARAM_LEN 255 37 38 /* HCI packet maximum size */ 39 #define HCI_COMMAND_PKT_MAX_SIZE \ 40 (HCI_COMMAND_HDR_SIZE + HCI_COMMAND_MAX_PARAM_LEN) 41 #define HCI_ACLDATA_PKT_MAX_SIZE \ 42 (HCI_ACLDATA_HDR_SIZE + HCI_ACLDATA_MAX_DATA_LEN) 43 #define HCI_EVENT_PKT_MAX_SIZE \ 44 (HCI_EVENT_HDR_SIZE + HCI_EVENT_MAX_PARAM_LEN) 45 46 /* HCI event code */ 47 #define HCI_DISCONNECTION_COMPLETE_EVT_CODE 0x05 48 #define HCI_ENCRYPTION_CHANGE_EVT_CODE 0x08 49 #define HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE_EVT_CODE 0x0C 50 #define HCI_COMMAND_COMPLETE_EVT_CODE 0x0E 51 #define HCI_COMMAND_STATUS_EVT_CODE 0x0F 52 #define HCI_HARDWARE_ERROR_EVT_CODE 0x10 53 #define HCI_NUMBER_OF_COMPLETED_PACKETS_EVT_CODE 0x13 54 #define HCI_DATA_BUFFER_OVERFLOW_EVT_CODE 0x1A 55 #define HCI_ENCRYPTION_KEY_REFRESH_COMPLETE_EVT_CODE 0x30 56 #define HCI_LE_META_EVT_CODE 0x3E 57 #define HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE 0xFF 58 59 /* HCI error code */ 60 #define HCI_SUCCESS_ERR_CODE 0x00 61 #define HCI_UNKNOWN_HCI_COMMAND_ERR_CODE 0x01 62 #define HCI_UNKNOWN_CONNECTION_IDENTIFIER_ERR_CODE 0x02 63 #define HCI_AUTHENTICATION_FAILURE_ERR_CODE 0x05 64 #define HCI_PIN_OR_KEY_MISSING_ERR_CODE 0x06 65 #define HCI_MEMORY_CAPACITY_EXCEEDED_ERR_CODE 0x07 66 #define HCI_CONNECTION_TIMEOUT_ERR_CODE 0x08 67 #define HCI_COMMAND_DISALLOWED_ERR_CODE 0x0C 68 #define HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE_ERR_CODE 0x11 69 #define HCI_INVALID_HCI_COMMAND_PARAMETERS_ERR_CODE 0x12 70 #define HCI_REMOTE_USER_TERMINATED_CONNECTION_ERR_CODE 0x13 71 #define HCI_CONNECTION_TERMINATED_BY_LOCAL_HOST_ERR_CODE 0x16 72 #define HCI_LMP_FEATURE_ERR_CODE 0x1A 73 #define HCI_INVALID_LL_PARAMETERS_ERR_CODE 0x1E 74 #define HCI_UNSPECIFIED_ERROR_ERR_CODE 0x1F 75 #define HCI_LL_RESPONSE_TIMEOUT_ERR_CODE 0x22 76 #define HCI_LL_PROCEDURE_COLLISION_ERR_CODE 0x23 77 #define HCI_LMP_PDU_NOT_ALLOWED_ERR_CODE 0x24 78 #define HCI_INSTANT_PASSED_ERR_CODE 0x28 79 #define HCI_DIFFERENT_TRANSACTION_COLLISION_ERR_CODE 0x2A 80 #define HCI_PARAMETER_OUT_OF_MANDATORY_RANGE_ERR_CODE 0x30 81 #define HCI_HOST_BUSY_PAIRING_ERR_CODE 0x38 82 #define HCI_CONTROLLER_BUSY_ERR_CODE 0x3A 83 #define HCI_ADVERTISING_TIMEOUT_ERR_CODE 0x3C 84 #define HCI_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE_ERR_CODE 0x3D 85 #define HCI_CONNECTION_FAILED_TO_BE_ESTABLISHED_ERR_CODE 0x3E 86 87 /* HCI_LE_Read_PHY */ 88 #define HCI_TX_PHY_LE_1M 0x01 89 #define HCI_TX_PHY_LE_2M 0x02 90 #define HCI_TX_PHY_LE_CODED 0x03 91 #define HCI_RX_PHY_LE_1M 0x01 92 #define HCI_RX_PHY_LE_2M 0x02 93 #define HCI_RX_PHY_LE_CODED 0x03 94 95 /* HCI_LE_Set_PHY */ 96 #define HCI_ALL_PHYS_TX_NO_PREF 0x01 97 #define HCI_ALL_PHYS_RX_NO_PREF 0x02 98 #define HCI_TX_PHYS_LE_1M_PREF 0x01 99 #define HCI_TX_PHYS_LE_2M_PREF 0x02 100 #define HCI_TX_PHYS_LE_CODED_PREF 0x04 101 #define HCI_RX_PHYS_LE_1M_PREF 0x01 102 #define HCI_RX_PHYS_LE_2M_PREF 0x02 103 #define HCI_RX_PHYS_LE_CODED_PREF 0x04 104 105 106 #endif /* BLE_STD_H__ */ 107 108 /*********************** (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 109