Lorenzo Invidia / target_st_bluenrg

Dependents:   ble-star-mbed

Committer:
lorevee
Date:
Tue Feb 20 11:07:16 2018 +0000
Revision:
0:ac0b0725c6fa
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lorevee 0:ac0b0725c6fa 1 /******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
lorevee 0:ac0b0725c6fa 2 * File Name : ble_status.h
lorevee 0:ac0b0725c6fa 3 * Author : AMS - HEA&RF BU
lorevee 0:ac0b0725c6fa 4 * Version : V1.0.0
lorevee 0:ac0b0725c6fa 5 * Date : 19-July-2012
lorevee 0:ac0b0725c6fa 6 * Description : Header file with BLE Stack status codes.
lorevee 0:ac0b0725c6fa 7 ********************************************************************************
lorevee 0:ac0b0725c6fa 8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
lorevee 0:ac0b0725c6fa 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
lorevee 0:ac0b0725c6fa 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
lorevee 0:ac0b0725c6fa 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
lorevee 0:ac0b0725c6fa 12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
lorevee 0:ac0b0725c6fa 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
lorevee 0:ac0b0725c6fa 14 *******************************************************************************/
lorevee 0:ac0b0725c6fa 15 #ifndef __BLE_STATUS_H__
lorevee 0:ac0b0725c6fa 16 #define __BLE_STATUS_H__
lorevee 0:ac0b0725c6fa 17
lorevee 0:ac0b0725c6fa 18 #include <ble_hal_types.h>
lorevee 0:ac0b0725c6fa 19
lorevee 0:ac0b0725c6fa 20 /** @addtogroup Middlewares
lorevee 0:ac0b0725c6fa 21 * @{
lorevee 0:ac0b0725c6fa 22 */
lorevee 0:ac0b0725c6fa 23
lorevee 0:ac0b0725c6fa 24 /** @defgroup ST
lorevee 0:ac0b0725c6fa 25 * @{
lorevee 0:ac0b0725c6fa 26 */
lorevee 0:ac0b0725c6fa 27
lorevee 0:ac0b0725c6fa 28 /** @defgroup SimpleBlueNRG_HCI
lorevee 0:ac0b0725c6fa 29 * @{
lorevee 0:ac0b0725c6fa 30 */
lorevee 0:ac0b0725c6fa 31
lorevee 0:ac0b0725c6fa 32 /** @defgroup ble_status Bluetooth Status/Error Codes
lorevee 0:ac0b0725c6fa 33 * @{
lorevee 0:ac0b0725c6fa 34 */
lorevee 0:ac0b0725c6fa 35
lorevee 0:ac0b0725c6fa 36 typedef uint8_t tBleStatus;
lorevee 0:ac0b0725c6fa 37
lorevee 0:ac0b0725c6fa 38 /* Error Codes as specified by the specification
lorevee 0:ac0b0725c6fa 39 * according to the spec the error codes range
lorevee 0:ac0b0725c6fa 40 * from 0x00 to 0x3F
lorevee 0:ac0b0725c6fa 41 */
lorevee 0:ac0b0725c6fa 42 /**
lorevee 0:ac0b0725c6fa 43 * @name Standard error codes
lorevee 0:ac0b0725c6fa 44 * @brief Standard error codes. See Core v 4.1, Vol. 2, part D.
lorevee 0:ac0b0725c6fa 45 * @{
lorevee 0:ac0b0725c6fa 46 */
lorevee 0:ac0b0725c6fa 47 #define ERR_CMD_SUCCESS (0x00)
lorevee 0:ac0b0725c6fa 48 #define BLE_STATUS_SUCCESS (0x00)
lorevee 0:ac0b0725c6fa 49 #define ERR_UNKNOWN_HCI_COMMAND (0x01)
lorevee 0:ac0b0725c6fa 50 #define ERR_UNKNOWN_CONN_IDENTIFIER (0x02)
lorevee 0:ac0b0725c6fa 51
lorevee 0:ac0b0725c6fa 52 #define ERR_AUTH_FAILURE (0x05)
lorevee 0:ac0b0725c6fa 53 #define ERR_PIN_OR_KEY_MISSING (0x06)
lorevee 0:ac0b0725c6fa 54 #define ERR_MEM_CAPACITY_EXCEEDED (0x07)
lorevee 0:ac0b0725c6fa 55 #define ERR_CONNECTION_TIMEOUT (0x08)
lorevee 0:ac0b0725c6fa 56
lorevee 0:ac0b0725c6fa 57 #define ERR_COMMAND_DISALLOWED (0x0C)
lorevee 0:ac0b0725c6fa 58
lorevee 0:ac0b0725c6fa 59 #define ERR_UNSUPPORTED_FEATURE (0x11)
lorevee 0:ac0b0725c6fa 60 #define ERR_INVALID_HCI_CMD_PARAMS (0x12)
lorevee 0:ac0b0725c6fa 61 #define ERR_RMT_USR_TERM_CONN (0x13)
lorevee 0:ac0b0725c6fa 62 #define ERR_RMT_DEV_TERM_CONN_LOW_RESRCES (0x14)
lorevee 0:ac0b0725c6fa 63 #define ERR_RMT_DEV_TERM_CONN_POWER_OFF (0x15)
lorevee 0:ac0b0725c6fa 64 #define ERR_LOCAL_HOST_TERM_CONN (0x16)
lorevee 0:ac0b0725c6fa 65
lorevee 0:ac0b0725c6fa 66 #define ERR_UNSUPP_RMT_FEATURE (0x1A)
lorevee 0:ac0b0725c6fa 67
lorevee 0:ac0b0725c6fa 68 #define ERR_INVALID_LMP_PARAM (0x1E)
lorevee 0:ac0b0725c6fa 69 #define ERR_UNSPECIFIED_ERROR (0x1F)
lorevee 0:ac0b0725c6fa 70
lorevee 0:ac0b0725c6fa 71 #define ERR_LL_RESP_TIMEOUT (0x22)
lorevee 0:ac0b0725c6fa 72 #define ERR_LMP_PDU_NOT_ALLOWED (0x24)
lorevee 0:ac0b0725c6fa 73
lorevee 0:ac0b0725c6fa 74 #define ERR_INSTANT_PASSED (0x28)
lorevee 0:ac0b0725c6fa 75
lorevee 0:ac0b0725c6fa 76 #define ERR_PAIR_UNIT_KEY_NOT_SUPP (0x29)
lorevee 0:ac0b0725c6fa 77 #define ERR_CONTROLLER_BUSY (0x3A)
lorevee 0:ac0b0725c6fa 78
lorevee 0:ac0b0725c6fa 79 #define ERR_DIRECTED_ADV_TIMEOUT (0x3C)
lorevee 0:ac0b0725c6fa 80
lorevee 0:ac0b0725c6fa 81 #define ERR_CONN_END_WITH_MIC_FAILURE (0x3D)
lorevee 0:ac0b0725c6fa 82
lorevee 0:ac0b0725c6fa 83 #define ERR_CONN_FAILED_TO_ESTABLISH (0x3E)
lorevee 0:ac0b0725c6fa 84
lorevee 0:ac0b0725c6fa 85
lorevee 0:ac0b0725c6fa 86 /**
lorevee 0:ac0b0725c6fa 87 * @}
lorevee 0:ac0b0725c6fa 88 */
lorevee 0:ac0b0725c6fa 89 /**
lorevee 0:ac0b0725c6fa 90 * @name Vendor-specific error codes
lorevee 0:ac0b0725c6fa 91 * @brief Error codes defined by ST related to BlueNRG stack
lorevee 0:ac0b0725c6fa 92 * @{
lorevee 0:ac0b0725c6fa 93 */
lorevee 0:ac0b0725c6fa 94 /**
lorevee 0:ac0b0725c6fa 95 * The command cannot be executed due to the current state of the device.
lorevee 0:ac0b0725c6fa 96 */
lorevee 0:ac0b0725c6fa 97 #define BLE_STATUS_FAILED (0x41)
lorevee 0:ac0b0725c6fa 98 /**
lorevee 0:ac0b0725c6fa 99 * Some parameters are invalid.
lorevee 0:ac0b0725c6fa 100 */
lorevee 0:ac0b0725c6fa 101 #define BLE_STATUS_INVALID_PARAMS (0x42)
lorevee 0:ac0b0725c6fa 102 /**
lorevee 0:ac0b0725c6fa 103 * It is not allowed to start the procedure (e.g. another the procedure is ongoing
lorevee 0:ac0b0725c6fa 104 * or cannot be started on the given handle).
lorevee 0:ac0b0725c6fa 105 */
lorevee 0:ac0b0725c6fa 106 #define BLE_STATUS_NOT_ALLOWED (0x46)
lorevee 0:ac0b0725c6fa 107 /**
lorevee 0:ac0b0725c6fa 108 * Unexpected error.
lorevee 0:ac0b0725c6fa 109 */
lorevee 0:ac0b0725c6fa 110 #define BLE_STATUS_ERROR (0x47)
lorevee 0:ac0b0725c6fa 111 #define BLE_STATUS_ADDR_NOT_RESOLVED (0x48)
lorevee 0:ac0b0725c6fa 112
lorevee 0:ac0b0725c6fa 113 #define FLASH_READ_FAILED (0x49)
lorevee 0:ac0b0725c6fa 114 #define FLASH_WRITE_FAILED (0x4A)
lorevee 0:ac0b0725c6fa 115 #define FLASH_ERASE_FAILED (0x4B)
lorevee 0:ac0b0725c6fa 116
lorevee 0:ac0b0725c6fa 117 #define BLE_STATUS_INVALID_CID (0x50)
lorevee 0:ac0b0725c6fa 118
lorevee 0:ac0b0725c6fa 119 #define TIMER_NOT_VALID_LAYER (0x54)
lorevee 0:ac0b0725c6fa 120 #define TIMER_INSUFFICIENT_RESOURCES (0x55)
lorevee 0:ac0b0725c6fa 121
lorevee 0:ac0b0725c6fa 122 #define BLE_STATUS_CSRK_NOT_FOUND (0x5A)
lorevee 0:ac0b0725c6fa 123 #define BLE_STATUS_IRK_NOT_FOUND (0x5B)
lorevee 0:ac0b0725c6fa 124 #define BLE_STATUS_DEV_NOT_FOUND_IN_DB (0x5C)
lorevee 0:ac0b0725c6fa 125 #define BLE_STATUS_SEC_DB_FULL (0x5D)
lorevee 0:ac0b0725c6fa 126 #define BLE_STATUS_DEV_NOT_BONDED (0x5E)
lorevee 0:ac0b0725c6fa 127 #define BLE_STATUS_DEV_IN_BLACKLIST (0x5F)
lorevee 0:ac0b0725c6fa 128
lorevee 0:ac0b0725c6fa 129 #define BLE_STATUS_INVALID_HANDLE (0x60)
lorevee 0:ac0b0725c6fa 130 #define BLE_STATUS_INVALID_PARAMETER (0x61)
lorevee 0:ac0b0725c6fa 131 #define BLE_STATUS_OUT_OF_HANDLE (0x62)
lorevee 0:ac0b0725c6fa 132 #define BLE_STATUS_INVALID_OPERATION (0x63)
lorevee 0:ac0b0725c6fa 133 #define BLE_STATUS_INSUFFICIENT_RESOURCES (0x64)
lorevee 0:ac0b0725c6fa 134 #define BLE_INSUFFICIENT_ENC_KEYSIZE (0x65)
lorevee 0:ac0b0725c6fa 135 #define BLE_STATUS_CHARAC_ALREADY_EXISTS (0x66)
lorevee 0:ac0b0725c6fa 136
lorevee 0:ac0b0725c6fa 137 /**
lorevee 0:ac0b0725c6fa 138 * Returned when no valid slots are available (e.g. when there are no available state machines).
lorevee 0:ac0b0725c6fa 139 */
lorevee 0:ac0b0725c6fa 140 #define BLE_STATUS_NO_VALID_SLOT (0x82)
lorevee 0:ac0b0725c6fa 141
lorevee 0:ac0b0725c6fa 142 /**
lorevee 0:ac0b0725c6fa 143 * Returned when a scan window shorter than minimum allowed value has been requested (i.e. 2ms)
lorevee 0:ac0b0725c6fa 144 */
lorevee 0:ac0b0725c6fa 145
lorevee 0:ac0b0725c6fa 146 #define BLE_STATUS_SCAN_WINDOW_SHORT (0x83)
lorevee 0:ac0b0725c6fa 147 /**
lorevee 0:ac0b0725c6fa 148 * Returned when the maximum requested interval to be allocated is shorter then the current
lorevee 0:ac0b0725c6fa 149 * anchor period and a there is no submultiple for the current anchor period that is between
lorevee 0:ac0b0725c6fa 150 * the minimum and the maximum requested intervals.
lorevee 0:ac0b0725c6fa 151 */
lorevee 0:ac0b0725c6fa 152
lorevee 0:ac0b0725c6fa 153 #define BLE_STATUS_NEW_INTERVAL_FAILED (0x84)
lorevee 0:ac0b0725c6fa 154 /**
lorevee 0:ac0b0725c6fa 155 * Returned when the maximum requested interval to be allocated is greater than the current anchor
lorevee 0:ac0b0725c6fa 156 * period and there is no multiple of the anchor period that is between the minimum and the maximum
lorevee 0:ac0b0725c6fa 157 * requested intervals.
lorevee 0:ac0b0725c6fa 158 */
lorevee 0:ac0b0725c6fa 159
lorevee 0:ac0b0725c6fa 160 #define BLE_STATUS_INTERVAL_TOO_LARGE (0x85)
lorevee 0:ac0b0725c6fa 161 /**
lorevee 0:ac0b0725c6fa 162 * Returned when the current anchor period or a new one can be found that is compatible to the
lorevee 0:ac0b0725c6fa 163 * interval range requested by the new slot but the maximum available length that can be allocated is
lorevee 0:ac0b0725c6fa 164 * less than the minimum requested slot length.
lorevee 0:ac0b0725c6fa 165 */
lorevee 0:ac0b0725c6fa 166
lorevee 0:ac0b0725c6fa 167 #define BLE_STATUS_LENGTH_FAILED (0x86)
lorevee 0:ac0b0725c6fa 168 /**
lorevee 0:ac0b0725c6fa 169 * @}
lorevee 0:ac0b0725c6fa 170 */
lorevee 0:ac0b0725c6fa 171
lorevee 0:ac0b0725c6fa 172 /**
lorevee 0:ac0b0725c6fa 173 * @name Library Error Codes
lorevee 0:ac0b0725c6fa 174 * @brief Error codes defined by ST related to MCU library.
lorevee 0:ac0b0725c6fa 175 * @{
lorevee 0:ac0b0725c6fa 176 */
lorevee 0:ac0b0725c6fa 177 #define BLE_STATUS_TIMEOUT (0xFF)
lorevee 0:ac0b0725c6fa 178 #define BLE_STATUS_PROFILE_ALREADY_INITIALIZED (0xF0)
lorevee 0:ac0b0725c6fa 179 #define BLE_STATUS_NULL_PARAM (0xF1)
lorevee 0:ac0b0725c6fa 180 /**
lorevee 0:ac0b0725c6fa 181 * @}
lorevee 0:ac0b0725c6fa 182 */
lorevee 0:ac0b0725c6fa 183
lorevee 0:ac0b0725c6fa 184 /**
lorevee 0:ac0b0725c6fa 185 * @}
lorevee 0:ac0b0725c6fa 186 */
lorevee 0:ac0b0725c6fa 187
lorevee 0:ac0b0725c6fa 188 #endif /* __BLE_STATUS_H__ */