Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: mbed-os-example-ble-master/BLE_Thermometer/shields/TARGET_ST_BLUENRG/bluenrg/bluenrg-hci/ble_status.h
- Revision:
- 0:599bc564478b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os-example-ble-master/BLE_Thermometer/shields/TARGET_ST_BLUENRG/bluenrg/bluenrg-hci/ble_status.h Fri Jun 29 01:19:08 2018 +0000 @@ -0,0 +1,188 @@ +/******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** +* File Name : ble_status.h +* Author : AMS - HEA&RF BU +* Version : V1.0.0 +* Date : 19-July-2012 +* Description : Header file with BLE Stack status codes. +******************************************************************************** +* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS +* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. +* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, +* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE +* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING +* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +*******************************************************************************/ +#ifndef __BLE_STATUS_H__ +#define __BLE_STATUS_H__ + +#include <ble_hal_types.h> + +/** @addtogroup Middlewares + * @{ + */ + +/** @defgroup ST + * @{ + */ + +/** @defgroup SimpleBlueNRG_HCI + * @{ + */ + +/** @defgroup ble_status Bluetooth Status/Error Codes + * @{ + */ + +typedef uint8_t tBleStatus; + +/* Error Codes as specified by the specification + * according to the spec the error codes range + * from 0x00 to 0x3F + */ +/** + * @name Standard error codes + * @brief Standard error codes. See Core v 4.1, Vol. 2, part D. + * @{ + */ +#define ERR_CMD_SUCCESS (0x00) +#define BLE_STATUS_SUCCESS (0x00) +#define ERR_UNKNOWN_HCI_COMMAND (0x01) +#define ERR_UNKNOWN_CONN_IDENTIFIER (0x02) + +#define ERR_AUTH_FAILURE (0x05) +#define ERR_PIN_OR_KEY_MISSING (0x06) +#define ERR_MEM_CAPACITY_EXCEEDED (0x07) +#define ERR_CONNECTION_TIMEOUT (0x08) + +#define ERR_COMMAND_DISALLOWED (0x0C) + +#define ERR_UNSUPPORTED_FEATURE (0x11) +#define ERR_INVALID_HCI_CMD_PARAMS (0x12) +#define ERR_RMT_USR_TERM_CONN (0x13) +#define ERR_RMT_DEV_TERM_CONN_LOW_RESRCES (0x14) +#define ERR_RMT_DEV_TERM_CONN_POWER_OFF (0x15) +#define ERR_LOCAL_HOST_TERM_CONN (0x16) + +#define ERR_UNSUPP_RMT_FEATURE (0x1A) + +#define ERR_INVALID_LMP_PARAM (0x1E) +#define ERR_UNSPECIFIED_ERROR (0x1F) + +#define ERR_LL_RESP_TIMEOUT (0x22) +#define ERR_LMP_PDU_NOT_ALLOWED (0x24) + +#define ERR_INSTANT_PASSED (0x28) + +#define ERR_PAIR_UNIT_KEY_NOT_SUPP (0x29) +#define ERR_CONTROLLER_BUSY (0x3A) + +#define ERR_DIRECTED_ADV_TIMEOUT (0x3C) + +#define ERR_CONN_END_WITH_MIC_FAILURE (0x3D) + +#define ERR_CONN_FAILED_TO_ESTABLISH (0x3E) + + +/** + * @} + */ +/** + * @name Vendor-specific error codes + * @brief Error codes defined by ST related to BlueNRG stack + * @{ + */ +/** + * The command cannot be executed due to the current state of the device. + */ +#define BLE_STATUS_FAILED (0x41) +/** + * Some parameters are invalid. + */ +#define BLE_STATUS_INVALID_PARAMS (0x42) +/** + * It is not allowed to start the procedure (e.g. another the procedure is ongoing + * or cannot be started on the given handle). + */ +#define BLE_STATUS_NOT_ALLOWED (0x46) +/** + * Unexpected error. + */ +#define BLE_STATUS_ERROR (0x47) +#define BLE_STATUS_ADDR_NOT_RESOLVED (0x48) + +#define FLASH_READ_FAILED (0x49) +#define FLASH_WRITE_FAILED (0x4A) +#define FLASH_ERASE_FAILED (0x4B) + +#define BLE_STATUS_INVALID_CID (0x50) + +#define TIMER_NOT_VALID_LAYER (0x54) +#define TIMER_INSUFFICIENT_RESOURCES (0x55) + +#define BLE_STATUS_CSRK_NOT_FOUND (0x5A) +#define BLE_STATUS_IRK_NOT_FOUND (0x5B) +#define BLE_STATUS_DEV_NOT_FOUND_IN_DB (0x5C) +#define BLE_STATUS_SEC_DB_FULL (0x5D) +#define BLE_STATUS_DEV_NOT_BONDED (0x5E) +#define BLE_STATUS_DEV_IN_BLACKLIST (0x5F) + +#define BLE_STATUS_INVALID_HANDLE (0x60) +#define BLE_STATUS_INVALID_PARAMETER (0x61) +#define BLE_STATUS_OUT_OF_HANDLE (0x62) +#define BLE_STATUS_INVALID_OPERATION (0x63) +#define BLE_STATUS_INSUFFICIENT_RESOURCES (0x64) +#define BLE_INSUFFICIENT_ENC_KEYSIZE (0x65) +#define BLE_STATUS_CHARAC_ALREADY_EXISTS (0x66) + +/** + * Returned when no valid slots are available (e.g. when there are no available state machines). + */ +#define BLE_STATUS_NO_VALID_SLOT (0x82) + +/** + * Returned when a scan window shorter than minimum allowed value has been requested (i.e. 2ms) + */ + +#define BLE_STATUS_SCAN_WINDOW_SHORT (0x83) +/** + * Returned when the maximum requested interval to be allocated is shorter then the current + * anchor period and a there is no submultiple for the current anchor period that is between + * the minimum and the maximum requested intervals. + */ + +#define BLE_STATUS_NEW_INTERVAL_FAILED (0x84) +/** + * Returned when the maximum requested interval to be allocated is greater than the current anchor + * period and there is no multiple of the anchor period that is between the minimum and the maximum + * requested intervals. + */ + +#define BLE_STATUS_INTERVAL_TOO_LARGE (0x85) +/** + * Returned when the current anchor period or a new one can be found that is compatible to the + * interval range requested by the new slot but the maximum available length that can be allocated is + * less than the minimum requested slot length. + */ + +#define BLE_STATUS_LENGTH_FAILED (0x86) +/** + * @} + */ + +/** + * @name Library Error Codes + * @brief Error codes defined by ST related to MCU library. + * @{ + */ +#define BLE_STATUS_TIMEOUT (0xFF) +#define BLE_STATUS_PROFILE_ALREADY_INITIALIZED (0xF0) +#define BLE_STATUS_NULL_PARAM (0xF1) +/** + * @} + */ + +/** + * @} + */ + +#endif /* __BLE_STATUS_H__ */