Committer:
jinu
Date:
Thu Feb 09 06:08:17 2017 +0000
Revision:
0:6ba9b94b8997
NRF51 serialization libraries for mDot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jinu 0:6ba9b94b8997 1 /* Copyright (c) Nordic Semiconductor ASA
jinu 0:6ba9b94b8997 2 * All rights reserved.
jinu 0:6ba9b94b8997 3 *
jinu 0:6ba9b94b8997 4 * Redistribution and use in source and binary forms, with or without modification,
jinu 0:6ba9b94b8997 5 * are permitted provided that the following conditions are met:
jinu 0:6ba9b94b8997 6 *
jinu 0:6ba9b94b8997 7 * 1. Redistributions of source code must retain the above copyright notice, this
jinu 0:6ba9b94b8997 8 * list of conditions and the following disclaimer.
jinu 0:6ba9b94b8997 9 *
jinu 0:6ba9b94b8997 10 * 2. Redistributions in binary form must reproduce the above copyright notice, this
jinu 0:6ba9b94b8997 11 * list of conditions and the following disclaimer in the documentation and/or
jinu 0:6ba9b94b8997 12 * other materials provided with the distribution.
jinu 0:6ba9b94b8997 13 *
jinu 0:6ba9b94b8997 14 * 3. Neither the name of Nordic Semiconductor ASA nor the names of other
jinu 0:6ba9b94b8997 15 * contributors to this software may be used to endorse or promote products
jinu 0:6ba9b94b8997 16 * derived from this software without specific prior written permission.
jinu 0:6ba9b94b8997 17 *
jinu 0:6ba9b94b8997 18 * 4. This software must only be used in a processor manufactured by Nordic
jinu 0:6ba9b94b8997 19 * Semiconductor ASA, or in a processor manufactured by a third party that
jinu 0:6ba9b94b8997 20 * is used in combination with a processor manufactured by Nordic Semiconductor.
jinu 0:6ba9b94b8997 21 *
jinu 0:6ba9b94b8997 22 *
jinu 0:6ba9b94b8997 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
jinu 0:6ba9b94b8997 24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
jinu 0:6ba9b94b8997 25 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
jinu 0:6ba9b94b8997 26 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
jinu 0:6ba9b94b8997 27 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
jinu 0:6ba9b94b8997 28 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
jinu 0:6ba9b94b8997 29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
jinu 0:6ba9b94b8997 30 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
jinu 0:6ba9b94b8997 31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
jinu 0:6ba9b94b8997 32 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
jinu 0:6ba9b94b8997 33 */
jinu 0:6ba9b94b8997 34
jinu 0:6ba9b94b8997 35 /** @file
jinu 0:6ba9b94b8997 36 *
jinu 0:6ba9b94b8997 37 * @defgroup app_error Common application error handler
jinu 0:6ba9b94b8997 38 * @{
jinu 0:6ba9b94b8997 39 * @ingroup app_common
jinu 0:6ba9b94b8997 40 *
jinu 0:6ba9b94b8997 41 * @brief Common application error handler and macros for utilizing a common error handler.
jinu 0:6ba9b94b8997 42 */
jinu 0:6ba9b94b8997 43
jinu 0:6ba9b94b8997 44 #ifndef APP_ERROR_H__
jinu 0:6ba9b94b8997 45 #define APP_ERROR_H__
jinu 0:6ba9b94b8997 46
jinu 0:6ba9b94b8997 47 #include <stdint.h>
jinu 0:6ba9b94b8997 48 #include <stdbool.h>
jinu 0:6ba9b94b8997 49 #include "nrf_error.h"
jinu 0:6ba9b94b8997 50
jinu 0:6ba9b94b8997 51 /**@brief Function for error handling, which is called when an error has occurred.
jinu 0:6ba9b94b8997 52 *
jinu 0:6ba9b94b8997 53 * @param[in] error_code Error code supplied to the handler.
jinu 0:6ba9b94b8997 54 * @param[in] line_num Line number where the handler is called.
jinu 0:6ba9b94b8997 55 * @param[in] p_file_name Pointer to the file name.
jinu 0:6ba9b94b8997 56 */
jinu 0:6ba9b94b8997 57 void app_error_handler(uint32_t error_code, uint32_t line_num, const uint8_t * p_file_name);
jinu 0:6ba9b94b8997 58
jinu 0:6ba9b94b8997 59 /**@brief Macro for calling error handler function.
jinu 0:6ba9b94b8997 60 *
jinu 0:6ba9b94b8997 61 * @param[in] ERR_CODE Error code supplied to the error handler.
jinu 0:6ba9b94b8997 62 */
jinu 0:6ba9b94b8997 63 #define APP_ERROR_HANDLER(ERR_CODE) \
jinu 0:6ba9b94b8997 64 // do \
jinu 0:6ba9b94b8997 65 // { \
jinu 0:6ba9b94b8997 66 // app_error_handler((ERR_CODE), __LINE__, (uint8_t*) __FILE__); \
jinu 0:6ba9b94b8997 67 // } while (0)
jinu 0:6ba9b94b8997 68
jinu 0:6ba9b94b8997 69 /**@brief Macro for calling error handler function if supplied error code any other than NRF_SUCCESS.
jinu 0:6ba9b94b8997 70 *
jinu 0:6ba9b94b8997 71 * @param[in] ERR_CODE Error code supplied to the error handler.
jinu 0:6ba9b94b8997 72 */
jinu 0:6ba9b94b8997 73 #define APP_ERROR_CHECK(ERR_CODE) \
jinu 0:6ba9b94b8997 74 do \
jinu 0:6ba9b94b8997 75 { \
jinu 0:6ba9b94b8997 76 const uint32_t LOCAL_ERR_CODE = (ERR_CODE); \
jinu 0:6ba9b94b8997 77 if (LOCAL_ERR_CODE != NRF_SUCCESS) \
jinu 0:6ba9b94b8997 78 { \
jinu 0:6ba9b94b8997 79 APP_ERROR_HANDLER(LOCAL_ERR_CODE); \
jinu 0:6ba9b94b8997 80 } \
jinu 0:6ba9b94b8997 81 } while (0)
jinu 0:6ba9b94b8997 82
jinu 0:6ba9b94b8997 83 /**@brief Macro for calling error handler function if supplied boolean value is false.
jinu 0:6ba9b94b8997 84 *
jinu 0:6ba9b94b8997 85 * @param[in] BOOLEAN_VALUE Boolean value to be evaluated.
jinu 0:6ba9b94b8997 86 */
jinu 0:6ba9b94b8997 87 #define APP_ERROR_CHECK_BOOL(BOOLEAN_VALUE) \
jinu 0:6ba9b94b8997 88 do \
jinu 0:6ba9b94b8997 89 { \
jinu 0:6ba9b94b8997 90 const bool LOCAL_BOOLEAN_VALUE = (BOOLEAN_VALUE); \
jinu 0:6ba9b94b8997 91 if (!LOCAL_BOOLEAN_VALUE) \
jinu 0:6ba9b94b8997 92 { \
jinu 0:6ba9b94b8997 93 APP_ERROR_HANDLER(0); \
jinu 0:6ba9b94b8997 94 } \
jinu 0:6ba9b94b8997 95 } while (0)
jinu 0:6ba9b94b8997 96
jinu 0:6ba9b94b8997 97 #endif // APP_ERROR_H__
jinu 0:6ba9b94b8997 98
jinu 0:6ba9b94b8997 99 /** @} */
jinu 0:6ba9b94b8997 100