mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Jul 17 09:15:10 2015 +0100
Revision:
592:a274ee790e56
Parent:
579:53297373a894
Synchronized with git revision e7144f83a8d75df80c4877936b6ffe552b0be9e6

Full URL: https://github.com/mbedmicro/mbed/commit/e7144f83a8d75df80c4877936b6ffe552b0be9e6/

More API implementation for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 579:53297373a894 1 #ifndef STATUS_CODES_H_INCLUDED
mbed_official 579:53297373a894 2 #define STATUS_CODES_H_INCLUDED
mbed_official 579:53297373a894 3
mbed_official 579:53297373a894 4 #include <stdint.h>
mbed_official 579:53297373a894 5
mbed_official 579:53297373a894 6 /**
mbed_official 579:53297373a894 7 * \defgroup group_sam0_utils_status_codes Status Codes
mbed_official 579:53297373a894 8 *
mbed_official 579:53297373a894 9 * \ingroup group_sam0_utils
mbed_official 579:53297373a894 10 *
mbed_official 579:53297373a894 11 * @{
mbed_official 579:53297373a894 12 */
mbed_official 579:53297373a894 13
mbed_official 579:53297373a894 14 /** Mask to retrieve the error category of a status code. */
mbed_official 579:53297373a894 15 #define STATUS_CATEGORY_MASK 0xF0
mbed_official 579:53297373a894 16
mbed_official 579:53297373a894 17 /** Mask to retrieve the error code within the category of a status code. */
mbed_official 579:53297373a894 18 #define STATUS_ERROR_MASK 0x0F
mbed_official 579:53297373a894 19
mbed_official 579:53297373a894 20 /** Status code error categories. */
mbed_official 579:53297373a894 21 enum status_categories {
mbed_official 579:53297373a894 22 STATUS_CATEGORY_OK = 0x00,
mbed_official 579:53297373a894 23 STATUS_CATEGORY_COMMON = 0x10,
mbed_official 579:53297373a894 24 STATUS_CATEGORY_ANALOG = 0x30,
mbed_official 579:53297373a894 25 STATUS_CATEGORY_COM = 0x40,
mbed_official 579:53297373a894 26 STATUS_CATEGORY_IO = 0x50,
mbed_official 579:53297373a894 27 };
mbed_official 579:53297373a894 28
mbed_official 579:53297373a894 29 /**
mbed_official 579:53297373a894 30 * Status code that may be returned by shell commands and protocol
mbed_official 579:53297373a894 31 * implementations.
mbed_official 579:53297373a894 32 *
mbed_official 579:53297373a894 33 * \note Any change to these status codes and the corresponding
mbed_official 579:53297373a894 34 * message strings is strictly forbidden. New codes can be added,
mbed_official 579:53297373a894 35 * however, but make sure that any message string tables are updated
mbed_official 579:53297373a894 36 * at the same time.
mbed_official 579:53297373a894 37 */
mbed_official 579:53297373a894 38 enum status_code {
mbed_official 579:53297373a894 39 STATUS_OK = STATUS_CATEGORY_OK | 0x00,
mbed_official 579:53297373a894 40 STATUS_VALID_DATA = STATUS_CATEGORY_OK | 0x01,
mbed_official 579:53297373a894 41 STATUS_NO_CHANGE = STATUS_CATEGORY_OK | 0x02,
mbed_official 579:53297373a894 42 STATUS_ABORTED = STATUS_CATEGORY_OK | 0x04,
mbed_official 579:53297373a894 43 STATUS_BUSY = STATUS_CATEGORY_OK | 0x05,
mbed_official 579:53297373a894 44 STATUS_SUSPEND = STATUS_CATEGORY_OK | 0x06,
mbed_official 579:53297373a894 45
mbed_official 579:53297373a894 46 STATUS_ERR_IO = STATUS_CATEGORY_COMMON | 0x00,
mbed_official 579:53297373a894 47 STATUS_ERR_REQ_FLUSHED = STATUS_CATEGORY_COMMON | 0x01,
mbed_official 579:53297373a894 48 STATUS_ERR_TIMEOUT = STATUS_CATEGORY_COMMON | 0x02,
mbed_official 579:53297373a894 49 STATUS_ERR_BAD_DATA = STATUS_CATEGORY_COMMON | 0x03,
mbed_official 579:53297373a894 50 STATUS_ERR_NOT_FOUND = STATUS_CATEGORY_COMMON | 0x04,
mbed_official 579:53297373a894 51 STATUS_ERR_UNSUPPORTED_DEV = STATUS_CATEGORY_COMMON | 0x05,
mbed_official 579:53297373a894 52 STATUS_ERR_NO_MEMORY = STATUS_CATEGORY_COMMON | 0x06,
mbed_official 579:53297373a894 53 STATUS_ERR_INVALID_ARG = STATUS_CATEGORY_COMMON | 0x07,
mbed_official 579:53297373a894 54 STATUS_ERR_BAD_ADDRESS = STATUS_CATEGORY_COMMON | 0x08,
mbed_official 579:53297373a894 55 STATUS_ERR_BAD_FORMAT = STATUS_CATEGORY_COMMON | 0x0A,
mbed_official 579:53297373a894 56 STATUS_ERR_BAD_FRQ = STATUS_CATEGORY_COMMON | 0x0B,
mbed_official 579:53297373a894 57 STATUS_ERR_DENIED = STATUS_CATEGORY_COMMON | 0x0c,
mbed_official 579:53297373a894 58 STATUS_ERR_ALREADY_INITIALIZED = STATUS_CATEGORY_COMMON | 0x0d,
mbed_official 579:53297373a894 59 STATUS_ERR_OVERFLOW = STATUS_CATEGORY_COMMON | 0x0e,
mbed_official 579:53297373a894 60 STATUS_ERR_NOT_INITIALIZED = STATUS_CATEGORY_COMMON | 0x0f,
mbed_official 579:53297373a894 61
mbed_official 579:53297373a894 62 STATUS_ERR_SAMPLERATE_UNAVAILABLE = STATUS_CATEGORY_ANALOG | 0x00,
mbed_official 579:53297373a894 63 STATUS_ERR_RESOLUTION_UNAVAILABLE = STATUS_CATEGORY_ANALOG | 0x01,
mbed_official 579:53297373a894 64
mbed_official 579:53297373a894 65 STATUS_ERR_BAUDRATE_UNAVAILABLE = STATUS_CATEGORY_COM | 0x00,
mbed_official 579:53297373a894 66 STATUS_ERR_PACKET_COLLISION = STATUS_CATEGORY_COM | 0x01,
mbed_official 579:53297373a894 67 STATUS_ERR_PROTOCOL = STATUS_CATEGORY_COM | 0x02,
mbed_official 579:53297373a894 68
mbed_official 579:53297373a894 69 STATUS_ERR_PIN_MUX_INVALID = STATUS_CATEGORY_IO | 0x00,
mbed_official 579:53297373a894 70 };
mbed_official 579:53297373a894 71 typedef enum status_code status_code_genare_t;
mbed_official 579:53297373a894 72
mbed_official 579:53297373a894 73 /**
mbed_official 579:53297373a894 74 Status codes used by MAC stack.
mbed_official 579:53297373a894 75 */
mbed_official 579:53297373a894 76 enum status_code_wireless {
mbed_official 579:53297373a894 77 //STATUS_OK = 0, //!< Success
mbed_official 579:53297373a894 78 ERR_IO_ERROR = -1, //!< I/O error
mbed_official 579:53297373a894 79 ERR_FLUSHED = -2, //!< Request flushed from queue
mbed_official 579:53297373a894 80 ERR_TIMEOUT = -3, //!< Operation timed out
mbed_official 579:53297373a894 81 ERR_BAD_DATA = -4, //!< Data integrity check failed
mbed_official 579:53297373a894 82 ERR_PROTOCOL = -5, //!< Protocol error
mbed_official 579:53297373a894 83 ERR_UNSUPPORTED_DEV = -6, //!< Unsupported device
mbed_official 579:53297373a894 84 ERR_NO_MEMORY = -7, //!< Insufficient memory
mbed_official 579:53297373a894 85 ERR_INVALID_ARG = -8, //!< Invalid argument
mbed_official 579:53297373a894 86 ERR_BAD_ADDRESS = -9, //!< Bad address
mbed_official 579:53297373a894 87 ERR_BUSY = -10, //!< Resource is busy
mbed_official 579:53297373a894 88 ERR_BAD_FORMAT = -11, //!< Data format not recognized
mbed_official 579:53297373a894 89 ERR_NO_TIMER = -12, //!< No timer available
mbed_official 579:53297373a894 90 ERR_TIMER_ALREADY_RUNNING = -13, //!< Timer already running
mbed_official 579:53297373a894 91 ERR_TIMER_NOT_RUNNING = -14, //!< Timer not running
mbed_official 579:53297373a894 92
mbed_official 579:53297373a894 93 /**
mbed_official 579:53297373a894 94 * \brief Operation in progress
mbed_official 579:53297373a894 95 *
mbed_official 579:53297373a894 96 * This status code is for driver-internal use when an operation
mbed_official 579:53297373a894 97 * is currently being performed.
mbed_official 579:53297373a894 98 *
mbed_official 579:53297373a894 99 * \note Drivers should never return this status code to any
mbed_official 579:53297373a894 100 * callers. It is strictly for internal use.
mbed_official 579:53297373a894 101 */
mbed_official 579:53297373a894 102 OPERATION_IN_PROGRESS = -128,
mbed_official 579:53297373a894 103 };
mbed_official 579:53297373a894 104
mbed_official 579:53297373a894 105 typedef enum status_code_wireless status_code_t;
mbed_official 579:53297373a894 106
mbed_official 579:53297373a894 107 /** @} */
mbed_official 579:53297373a894 108
mbed_official 579:53297373a894 109 #endif /* STATUS_CODES_H_INCLUDED */