18 #include "sdk_errors.h"
19 #include "nordic_common.h"
20 #include "app_error_weak.h"
21 #ifdef ANT_STACK_SUPPORT_REQD
22 #include "ant_error.h"
23 #endif // ANT_STACK_SUPPORT_REQD
25 #include "sr3_config.h"
31 #define NRF_FAULT_ID_SDK_RANGE_START 0x00004000
35 #define NRF_FAULT_ID_SDK_ERROR NRF_FAULT_ID_SDK_RANGE_START + 1
36 #define NRF_FAULT_ID_SDK_ASSERT NRF_FAULT_ID_SDK_RANGE_START + 2
62 void app_error_handler(uint32_t error_code, uint32_t line_num,
const uint8_t * p_file_name);
91 static __INLINE
void app_error_log(uint32_t
id, uint32_t pc, uint32_t info)
126 static __INLINE
void app_error_print(uint32_t
id, uint32_t pc, uint32_t info)
128 unsigned int tmp = id;
129 printf(
"app_error_print():\r\n");
130 printf(
"Fault identifier: 0x%X\r\n", tmp);
131 printf(
"Program counter: 0x%X\r\n", tmp = pc);
132 printf(
"Fault information: 0x%X\r\n", tmp = info);
137 printf(
"Line Number: %u\r\n", tmp = ((
assert_info_t *)(info))->line_num);
138 printf(
"File Name: %s\r\n", ((
assert_info_t *)(info))->p_file_name);
142 printf(
"Line Number: %u\r\n", tmp = ((
error_info_t *)(info))->line_num);
143 printf(
"File Name: %s\r\n", ((
error_info_t *)(info))->p_file_name);
144 printf(
"Error Code: 0x%X\r\n", tmp = ((
error_info_t *)(info))->err_code);
155 #if CONFIG_DEBUG_ENABLED
156 #define APP_ERROR_HANDLER(ERR_CODE) \
159 app_error_handler((ERR_CODE), __LINE__, (uint8_t*) __FILE__); \
162 #define APP_ERROR_HANDLER(ERR_CODE) \
165 app_error_handler_bare((ERR_CODE)); \
172 #define APP_ERROR_CHECK(ERR_CODE) \
175 const uint32_t LOCAL_ERR_CODE = (ERR_CODE); \
176 if (LOCAL_ERR_CODE != NRF_SUCCESS) \
178 APP_ERROR_HANDLER(LOCAL_ERR_CODE); \
186 #define APP_ERROR_CHECK_BOOL(BOOLEAN_VALUE) \
189 const uint32_t LOCAL_BOOLEAN_VALUE = (BOOLEAN_VALUE); \
190 if (!LOCAL_BOOLEAN_VALUE) \
192 APP_ERROR_HANDLER(0); \
201 #endif // APP_ERROR_H__