| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- * Copyright (c) 2006 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is confidential property of Nordic Semiconductor. The use,
- * copying, transfer or disclosure of such information is prohibited except by express written
- * agreement with Nordic Semiconductor.
- *
- */
- /** @file
- * @brief Utilities for verifying program logic
- */
- #ifndef NRF_ASSERT_H_
- #define NRF_ASSERT_H_
- #include <stdint.h>
- #include "nrf.h"
- #include "app_error.h"
- #if defined(DEBUG_NRF) || defined(DEBUG_NRF_USER)
- /** @brief Function for handling assertions.
- *
- *
- * @note
- * This function is called when an assertion has triggered.
- *
- *
- * @post
- * All hardware is put into an idle non-emitting state (in particular the radio is highly
- * important to switch off since the radio might be in a state that makes it send
- * packets continiously while a typical final infinit ASSERT loop is executing).
- *
- *
- * @param line_num The line number where the assertion is called
- * @param file_name Pointer to the file name
- */
- void assert_nrf_callback(uint16_t line_num, const uint8_t *file_name);
- /*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */
- /*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
- /** @brief Function for checking intended for production code.
- *
- * Check passes if "expr" evaluates to true. */
- #define ASSERT(expr) \
- if (expr) \
- { \
- } \
- else \
- { \
- assert_nrf_callback((uint16_t)__LINE__, (uint8_t *)__FILE__); \
- }
- #else
- #define ASSERT(expr) //!< Assert empty when disabled
- __WEAK void assert_nrf_callback(uint16_t line_num, const uint8_t *file_name);
- #endif /* defined(DEBUG_NRF) || defined(DEBUG_NRF_USER) */
- #endif /* NRF_ASSERT_H_ */
|