bugfix for duplicate symbol
Fork of nRF51822 by
nordic-sdk/components/libraries/util/sdk_errors.h@177:7a1917171a20, 2015-05-15 (annotated)
- Committer:
- finneyj
- Date:
- Fri May 15 12:12:21 2015 +0000
- Revision:
- 177:7a1917171a20
- Parent:
- 103:138bdc859cc9
- Child:
- 112:737b08b3b995
bug fix - redefined symbol
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rgrover1 | 103:138bdc859cc9 | 1 | /* Copyright (c) 2013 Nordic Semiconductor. All Rights Reserved. |
rgrover1 | 103:138bdc859cc9 | 2 | * |
rgrover1 | 103:138bdc859cc9 | 3 | * The information contained herein is property of Nordic Semiconductor ASA. |
rgrover1 | 103:138bdc859cc9 | 4 | * Terms and conditions of usage are described in detail in NORDIC |
rgrover1 | 103:138bdc859cc9 | 5 | * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT. |
rgrover1 | 103:138bdc859cc9 | 6 | * |
rgrover1 | 103:138bdc859cc9 | 7 | * Licensees are granted free, non-transferable use of the information. NO |
rgrover1 | 103:138bdc859cc9 | 8 | * WARRANTY of ANY KIND is provided. This heading must NOT be removed from |
rgrover1 | 103:138bdc859cc9 | 9 | * the file. |
rgrover1 | 103:138bdc859cc9 | 10 | * |
rgrover1 | 103:138bdc859cc9 | 11 | */ |
rgrover1 | 103:138bdc859cc9 | 12 | |
rgrover1 | 103:138bdc859cc9 | 13 | /**@file |
rgrover1 | 103:138bdc859cc9 | 14 | * |
rgrover1 | 103:138bdc859cc9 | 15 | * @defgroup sdk_error SDK Error codes |
rgrover1 | 103:138bdc859cc9 | 16 | * @{ |
rgrover1 | 103:138bdc859cc9 | 17 | * @ingroup app_common |
rgrover1 | 103:138bdc859cc9 | 18 | * @{ |
rgrover1 | 103:138bdc859cc9 | 19 | * @details Error codes are 32-bit unsigned integers with the most significant 16-bit reserved for |
rgrover1 | 103:138bdc859cc9 | 20 | * identifying the module where the error occurred while the least least significant LSB |
rgrover1 | 103:138bdc859cc9 | 21 | * are used to provide the cause or nature of error. Each module is assigned a 16-bit |
rgrover1 | 103:138bdc859cc9 | 22 | * unsigned integer. Which it will use to identify all errors that occurred in it. 16-bit |
rgrover1 | 103:138bdc859cc9 | 23 | * LSB range is with module id as the MSB in the 32-bit error code is reserved for the |
rgrover1 | 103:138bdc859cc9 | 24 | * module. As an example, if 0x8800 identifies a certain SDK module, all values from |
rgrover1 | 103:138bdc859cc9 | 25 | * 0x88000000 - 0x8800FFFF are reserved for this module. |
rgrover1 | 103:138bdc859cc9 | 26 | * It should be noted that common error reasons have been assigned values to make it |
rgrover1 | 103:138bdc859cc9 | 27 | * possible to decode error reason easily. As an example, lets module uninitialized has |
rgrover1 | 103:138bdc859cc9 | 28 | * been assigned an error code 0x000A0. Then, if application encounters an error code |
rgrover1 | 103:138bdc859cc9 | 29 | * 0xZZZZ00A0, it knows that it accessing a certain module without initializing it. |
rgrover1 | 103:138bdc859cc9 | 30 | * Apart from this, each module is allowed to define error codes that are not covered by |
rgrover1 | 103:138bdc859cc9 | 31 | * the common ones, however, these values are defined in a range that does not conflict |
rgrover1 | 103:138bdc859cc9 | 32 | * with common error values. For module, specific error however, it is possible that the |
rgrover1 | 103:138bdc859cc9 | 33 | * same error value is used by two different modules to indicated errors of very different |
rgrover1 | 103:138bdc859cc9 | 34 | * nature. If error is already defined by the NRF common error codes, these are reused. |
rgrover1 | 103:138bdc859cc9 | 35 | * A range is reserved for application as well, it can use this range for defining |
rgrover1 | 103:138bdc859cc9 | 36 | * application specific errors. |
rgrover1 | 103:138bdc859cc9 | 37 | * |
rgrover1 | 103:138bdc859cc9 | 38 | * @note Success code, NRF_SUCCESS, does not include any module identifier. |
rgrover1 | 103:138bdc859cc9 | 39 | |
rgrover1 | 103:138bdc859cc9 | 40 | */ |
rgrover1 | 103:138bdc859cc9 | 41 | |
rgrover1 | 103:138bdc859cc9 | 42 | #ifndef SDK_ERRORS_H__ |
rgrover1 | 103:138bdc859cc9 | 43 | #define SDK_ERRORS_H__ |
rgrover1 | 103:138bdc859cc9 | 44 | |
rgrover1 | 103:138bdc859cc9 | 45 | #include "nrf_error.h" |
rgrover1 | 103:138bdc859cc9 | 46 | |
rgrover1 | 103:138bdc859cc9 | 47 | /** |
rgrover1 | 103:138bdc859cc9 | 48 | * @defgroup sdk_err_base Base defined for SDK Modules |
rgrover1 | 103:138bdc859cc9 | 49 | * @{ |
rgrover1 | 103:138bdc859cc9 | 50 | */ |
rgrover1 | 103:138bdc859cc9 | 51 | #define SDK_ERROR_BASE (NRF_ERROR_BASE_NUM + 0x8000) /**< Base value defined for SDK module identifiers. */ |
rgrover1 | 103:138bdc859cc9 | 52 | #define SDK_COMMON_ERROR_BASE (NRF_ERROR_BASE_NUM + 0x0080) /**< Base error value to be used for SDK error values. */ |
rgrover1 | 103:138bdc859cc9 | 53 | /* @} */ |
rgrover1 | 103:138bdc859cc9 | 54 | |
rgrover1 | 103:138bdc859cc9 | 55 | /** |
rgrover1 | 103:138bdc859cc9 | 56 | * @defgroup sdk_module_codes Codes reserved as identification for module where the error occurred. |
rgrover1 | 103:138bdc859cc9 | 57 | * @{ |
rgrover1 | 103:138bdc859cc9 | 58 | */ |
rgrover1 | 103:138bdc859cc9 | 59 | #define DEVICE_MANAGER_ERR_BASE (0x8000) |
rgrover1 | 103:138bdc859cc9 | 60 | /* @} */ |
rgrover1 | 103:138bdc859cc9 | 61 | |
rgrover1 | 103:138bdc859cc9 | 62 | /** |
rgrover1 | 103:138bdc859cc9 | 63 | * @defgroup sdk_common_errors Codes reserved as identification for common errors. |
rgrover1 | 103:138bdc859cc9 | 64 | * @{ |
rgrover1 | 103:138bdc859cc9 | 65 | */ |
rgrover1 | 103:138bdc859cc9 | 66 | #define MODULE_NOT_INITIALZED (SDK_COMMON_ERROR_BASE+0x0000) |
rgrover1 | 103:138bdc859cc9 | 67 | #define MUTEX_INIT_FAILED (SDK_COMMON_ERROR_BASE+0x0001) |
rgrover1 | 103:138bdc859cc9 | 68 | #define MUTEX_LOCK_FAILED (SDK_COMMON_ERROR_BASE+0x0002) |
rgrover1 | 103:138bdc859cc9 | 69 | #define MUTEX_UNLOCK_FAILED (SDK_COMMON_ERROR_BASE+0x0003) |
rgrover1 | 103:138bdc859cc9 | 70 | #define MUTEX_COND_INIT_FAILED (SDK_COMMON_ERROR_BASE+0x0004) |
rgrover1 | 103:138bdc859cc9 | 71 | #define API_NOT_IMPLEMENTED (SDK_COMMON_ERROR_BASE+0x0010) |
rgrover1 | 103:138bdc859cc9 | 72 | #define FEATURE_NOT_ENABLED (SDK_COMMON_ERROR_BASE+0x0011) |
rgrover1 | 103:138bdc859cc9 | 73 | /* @} */ |
rgrover1 | 103:138bdc859cc9 | 74 | |
rgrover1 | 103:138bdc859cc9 | 75 | |
rgrover1 | 103:138bdc859cc9 | 76 | /** |
rgrover1 | 103:138bdc859cc9 | 77 | * @defgroup dm_specific_errors Error / status codes specific to device manager. |
rgrover1 | 103:138bdc859cc9 | 78 | * @{ |
rgrover1 | 103:138bdc859cc9 | 79 | */ |
rgrover1 | 103:138bdc859cc9 | 80 | #define DM_NO_APP_CONTEXT (DEVICE_MANAGER_ERR_BASE+0x0040) |
rgrover1 | 103:138bdc859cc9 | 81 | #define DM_SERVICE_CONTEXT_NOT_APPLIED (DEVICE_MANAGER_ERR_BASE+0x0041) |
rgrover1 | 103:138bdc859cc9 | 82 | #define DM_CONTEXT_INFO_LOST (DEVICE_MANAGER_ERR_BASE+0x0042) |
rgrover1 | 103:138bdc859cc9 | 83 | #define DM_DEVICE_CONTEXT_FULL (DEVICE_MANAGER_ERR_BASE+0x0043) |
rgrover1 | 103:138bdc859cc9 | 84 | /* @} */ |
rgrover1 | 103:138bdc859cc9 | 85 | |
rgrover1 | 103:138bdc859cc9 | 86 | /** |
rgrover1 | 103:138bdc859cc9 | 87 | * @brief API Result. |
rgrover1 | 103:138bdc859cc9 | 88 | * |
rgrover1 | 103:138bdc859cc9 | 89 | * @details Indicates success or failure of an API procedure. In case of failure, a comprehensive |
rgrover1 | 103:138bdc859cc9 | 90 | * error code indicating cause or reason for failure is provided. |
rgrover1 | 103:138bdc859cc9 | 91 | * |
rgrover1 | 103:138bdc859cc9 | 92 | * Though called an API result, it could used in Asynchronous notifications callback along |
rgrover1 | 103:138bdc859cc9 | 93 | * with asynchronous callback as event result. This mechanism is employed when an event |
rgrover1 | 103:138bdc859cc9 | 94 | * marks the end of procedure initiated using API. API result, in this case, will only be |
rgrover1 | 103:138bdc859cc9 | 95 | * an indicative of whether the procedure has been requested successfully. |
rgrover1 | 103:138bdc859cc9 | 96 | */ |
rgrover1 | 103:138bdc859cc9 | 97 | typedef uint32_t api_result_t; |
rgrover1 | 103:138bdc859cc9 | 98 | /** @} */ |
rgrover1 | 103:138bdc859cc9 | 99 | /** @} */ |
rgrover1 | 103:138bdc859cc9 | 100 | |
rgrover1 | 103:138bdc859cc9 | 101 | #endif // SDK_ERRORS_H__ |
rgrover1 | 103:138bdc859cc9 | 102 |