HW layer for the Nucleo board, it only work with old BLE_API

Dependents:   Hello_BLE F446RE-BLE

Fork of X_NUCLEO_IDB0XA1 by ST

Committer:
Silvio Lucio Oliva
Date:
Mon Jun 08 17:08:01 2015 +0200
Revision:
70:d20d30f59b1c
Initial commit for mbed support

Signed-off-by: Silvio Lucio Oliva <silvio.oliva@st.com>

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Silvio Lucio Oliva 70:d20d30f59b1c 1 /******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
Silvio Lucio Oliva 70:d20d30f59b1c 2 * File Name : ble_status.h
Silvio Lucio Oliva 70:d20d30f59b1c 3 * Author : AMS - HEA&RF BU
Silvio Lucio Oliva 70:d20d30f59b1c 4 * Version : V1.0.0
Silvio Lucio Oliva 70:d20d30f59b1c 5 * Date : 19-July-2012
Silvio Lucio Oliva 70:d20d30f59b1c 6 * Description : Header file with BLE Stack status codes.
Silvio Lucio Oliva 70:d20d30f59b1c 7 ********************************************************************************
Silvio Lucio Oliva 70:d20d30f59b1c 8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
Silvio Lucio Oliva 70:d20d30f59b1c 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
Silvio Lucio Oliva 70:d20d30f59b1c 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
Silvio Lucio Oliva 70:d20d30f59b1c 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
Silvio Lucio Oliva 70:d20d30f59b1c 12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
Silvio Lucio Oliva 70:d20d30f59b1c 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
Silvio Lucio Oliva 70:d20d30f59b1c 14 *******************************************************************************/
Silvio Lucio Oliva 70:d20d30f59b1c 15 #ifndef __BLE_STATUS_H__
Silvio Lucio Oliva 70:d20d30f59b1c 16 #define __BLE_STATUS_H__
Silvio Lucio Oliva 70:d20d30f59b1c 17
Silvio Lucio Oliva 70:d20d30f59b1c 18 #include <hal_types.h>
Silvio Lucio Oliva 70:d20d30f59b1c 19
Silvio Lucio Oliva 70:d20d30f59b1c 20
Silvio Lucio Oliva 70:d20d30f59b1c 21 /** @defgroup ble_status Bluetooth Status/Error Codes
Silvio Lucio Oliva 70:d20d30f59b1c 22 * @{
Silvio Lucio Oliva 70:d20d30f59b1c 23 */
Silvio Lucio Oliva 70:d20d30f59b1c 24
Silvio Lucio Oliva 70:d20d30f59b1c 25 typedef uint8_t tBleStatus;
Silvio Lucio Oliva 70:d20d30f59b1c 26
Silvio Lucio Oliva 70:d20d30f59b1c 27 /* Error Codes as specified by the specification
Silvio Lucio Oliva 70:d20d30f59b1c 28 * according to the spec the error codes range
Silvio Lucio Oliva 70:d20d30f59b1c 29 * from 0x00 to 0x3F
Silvio Lucio Oliva 70:d20d30f59b1c 30 */
Silvio Lucio Oliva 70:d20d30f59b1c 31 #define ERR_CMD_SUCCESS (0x00)
Silvio Lucio Oliva 70:d20d30f59b1c 32 #define BLE_STATUS_SUCCESS (0x00)
Silvio Lucio Oliva 70:d20d30f59b1c 33 #define ERR_UNKNOWN_HCI_COMMAND (0x01)
Silvio Lucio Oliva 70:d20d30f59b1c 34 #define ERR_UNKNOWN_CONN_IDENTIFIER (0x02)
Silvio Lucio Oliva 70:d20d30f59b1c 35
Silvio Lucio Oliva 70:d20d30f59b1c 36 #define ERR_AUTH_FAILURE (0x05)
Silvio Lucio Oliva 70:d20d30f59b1c 37 #define ERR_PIN_OR_KEY_MISSING (0x06)
Silvio Lucio Oliva 70:d20d30f59b1c 38 #define ERR_MEM_CAPACITY_EXCEEDED (0x07)
Silvio Lucio Oliva 70:d20d30f59b1c 39 #define ERR_CONNECTION_TIMEOUT (0x08)
Silvio Lucio Oliva 70:d20d30f59b1c 40
Silvio Lucio Oliva 70:d20d30f59b1c 41 #define ERR_COMMAND_DISALLOWED (0x0C)
Silvio Lucio Oliva 70:d20d30f59b1c 42
Silvio Lucio Oliva 70:d20d30f59b1c 43 #define ERR_UNSUPPORTED_FEATURE (0x11)
Silvio Lucio Oliva 70:d20d30f59b1c 44 #define ERR_INVALID_HCI_CMD_PARAMS (0x12)
Silvio Lucio Oliva 70:d20d30f59b1c 45 #define ERR_RMT_USR_TERM_CONN (0x13)
Silvio Lucio Oliva 70:d20d30f59b1c 46 #define ERR_RMT_DEV_TERM_CONN_LOW_RESRCES (0x14)
Silvio Lucio Oliva 70:d20d30f59b1c 47 #define ERR_RMT_DEV_TERM_CONN_POWER_OFF (0x15)
Silvio Lucio Oliva 70:d20d30f59b1c 48 #define ERR_LOCAL_HOST_TERM_CONN (0x16)
Silvio Lucio Oliva 70:d20d30f59b1c 49
Silvio Lucio Oliva 70:d20d30f59b1c 50 #define ERR_UNSUPP_RMT_FEATURE (0x1A)
Silvio Lucio Oliva 70:d20d30f59b1c 51
Silvio Lucio Oliva 70:d20d30f59b1c 52 #define ERR_INVALID_LMP_PARAM (0x1E)
Silvio Lucio Oliva 70:d20d30f59b1c 53 #define ERR_UNSPECIFIED_ERROR (0x1F)
Silvio Lucio Oliva 70:d20d30f59b1c 54
Silvio Lucio Oliva 70:d20d30f59b1c 55 #define ERR_LL_RESP_TIMEOUT (0x22)
Silvio Lucio Oliva 70:d20d30f59b1c 56 #define ERR_LMP_PDU_NOT_ALLOWED (0x24)
Silvio Lucio Oliva 70:d20d30f59b1c 57
Silvio Lucio Oliva 70:d20d30f59b1c 58 #define ERR_INSTANT_PASSED (0x28)
Silvio Lucio Oliva 70:d20d30f59b1c 59
Silvio Lucio Oliva 70:d20d30f59b1c 60 #define ERR_PAIR_UNIT_KEY_NOT_SUPP (0x29)
Silvio Lucio Oliva 70:d20d30f59b1c 61 #define ERR_CONTROLLER_BUSY (0x3A)
Silvio Lucio Oliva 70:d20d30f59b1c 62
Silvio Lucio Oliva 70:d20d30f59b1c 63 #define ERR_DIRECTED_ADV_TIMEOUT (0x3C)
Silvio Lucio Oliva 70:d20d30f59b1c 64
Silvio Lucio Oliva 70:d20d30f59b1c 65 #define ERR_CONN_END_WITH_MIC_FAILURE (0x3D)
Silvio Lucio Oliva 70:d20d30f59b1c 66
Silvio Lucio Oliva 70:d20d30f59b1c 67 #define ERR_CONN_FAILED_TO_ESTABLISH (0x3E)
Silvio Lucio Oliva 70:d20d30f59b1c 68
Silvio Lucio Oliva 70:d20d30f59b1c 69
Silvio Lucio Oliva 70:d20d30f59b1c 70 #define BLE_STATUS_FAILED (0x41)
Silvio Lucio Oliva 70:d20d30f59b1c 71 #define BLE_STATUS_INVALID_PARAMS (0x42)
Silvio Lucio Oliva 70:d20d30f59b1c 72 #define BLE_STATUS_BUSY (0x43)
Silvio Lucio Oliva 70:d20d30f59b1c 73 #define BLE_STATUS_INVALID_LEN_PDU (0x44)
Silvio Lucio Oliva 70:d20d30f59b1c 74 #define BLE_STATUS_PENDING (0x45)
Silvio Lucio Oliva 70:d20d30f59b1c 75 #define BLE_STATUS_NOT_ALLOWED (0x46)
Silvio Lucio Oliva 70:d20d30f59b1c 76 #define BLE_STATUS_ERROR (0x47)
Silvio Lucio Oliva 70:d20d30f59b1c 77 #define BLE_STATUS_ADDR_NOT_RESOLVED (0x48)
Silvio Lucio Oliva 70:d20d30f59b1c 78
Silvio Lucio Oliva 70:d20d30f59b1c 79 #define FLASH_READ_FAILED (0x49)
Silvio Lucio Oliva 70:d20d30f59b1c 80 #define FLASH_WRITE_FAILED (0x4A)
Silvio Lucio Oliva 70:d20d30f59b1c 81 #define FLASH_ERASE_FAILED (0x4B)
Silvio Lucio Oliva 70:d20d30f59b1c 82
Silvio Lucio Oliva 70:d20d30f59b1c 83 #define BLE_STATUS_INVALID_CID (0x50)
Silvio Lucio Oliva 70:d20d30f59b1c 84
Silvio Lucio Oliva 70:d20d30f59b1c 85 #define TIMER_NOT_VALID_LAYER (0x54)
Silvio Lucio Oliva 70:d20d30f59b1c 86 #define TIMER_INSUFFICIENT_RESOURCES (0x55)
Silvio Lucio Oliva 70:d20d30f59b1c 87
Silvio Lucio Oliva 70:d20d30f59b1c 88 #define BLE_STATUS_CSRK_NOT_FOUND (0x5A)
Silvio Lucio Oliva 70:d20d30f59b1c 89 #define BLE_STATUS_IRK_NOT_FOUND (0x5B)
Silvio Lucio Oliva 70:d20d30f59b1c 90 #define BLE_STATUS_DEV_NOT_FOUND_IN_DB (0x5C)
Silvio Lucio Oliva 70:d20d30f59b1c 91 #define BLE_STATUS_SEC_DB_FULL (0x5D)
Silvio Lucio Oliva 70:d20d30f59b1c 92 #define BLE_STATUS_DEV_NOT_BONDED (0x5E)
Silvio Lucio Oliva 70:d20d30f59b1c 93 #define BLE_STATUS_DEV_IN_BLACKLIST (0x5F)
Silvio Lucio Oliva 70:d20d30f59b1c 94
Silvio Lucio Oliva 70:d20d30f59b1c 95 #define BLE_STATUS_INVALID_HANDLE (0x60)
Silvio Lucio Oliva 70:d20d30f59b1c 96 #define BLE_STATUS_INVALID_PARAMETER (0x61)
Silvio Lucio Oliva 70:d20d30f59b1c 97 #define BLE_STATUS_OUT_OF_HANDLE (0x62)
Silvio Lucio Oliva 70:d20d30f59b1c 98 #define BLE_STATUS_INVALID_OPERATION (0x63)
Silvio Lucio Oliva 70:d20d30f59b1c 99 #define BLE_STATUS_INSUFFICIENT_RESOURCES (0x64)
Silvio Lucio Oliva 70:d20d30f59b1c 100 #define BLE_INSUFFICIENT_ENC_KEYSIZE (0x65)
Silvio Lucio Oliva 70:d20d30f59b1c 101 #define BLE_STATUS_CHARAC_ALREADY_EXISTS (0x66)
Silvio Lucio Oliva 70:d20d30f59b1c 102
Silvio Lucio Oliva 70:d20d30f59b1c 103 /*
Silvio Lucio Oliva 70:d20d30f59b1c 104 * Library Error Codes
Silvio Lucio Oliva 70:d20d30f59b1c 105 */
Silvio Lucio Oliva 70:d20d30f59b1c 106 #define BLE_STATUS_TIMEOUT (0xFF)
Silvio Lucio Oliva 70:d20d30f59b1c 107 #define BLE_STATUS_PROFILE_ALREADY_INITIALIZED (0xF0)
Silvio Lucio Oliva 70:d20d30f59b1c 108 #define BLE_STATUS_NULL_PARAM (0xF1)
Silvio Lucio Oliva 70:d20d30f59b1c 109
Silvio Lucio Oliva 70:d20d30f59b1c 110 /**
Silvio Lucio Oliva 70:d20d30f59b1c 111 * @}
Silvio Lucio Oliva 70:d20d30f59b1c 112 */
Silvio Lucio Oliva 70:d20d30f59b1c 113
Silvio Lucio Oliva 70:d20d30f59b1c 114
Silvio Lucio Oliva 70:d20d30f59b1c 115 #endif /* __BLE_STATUS_H__ */