Nordic stack and drivers for the mbed BLE API

Fork of nRF51822 by Nordic Semiconductor

Committer:
marcpl
Date:
Sat May 09 17:04:09 2015 +0000
Revision:
162:5fd73fb47b21
Parent:
103:138bdc859cc9
Add a quick and dirty workaround in the nRF51822 library in order to avoid duplicate definition of GPIOTE_IRQHandler.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 103:138bdc859cc9 1 /*
rgrover1 103:138bdc859cc9 2 * Copyright (c) 2006 Nordic Semiconductor. All Rights Reserved.
rgrover1 103:138bdc859cc9 3 *
rgrover1 103:138bdc859cc9 4 * The information contained herein is confidential property of Nordic Semiconductor. The use,
rgrover1 103:138bdc859cc9 5 * copying, transfer or disclosure of such information is prohibited except by express written
rgrover1 103:138bdc859cc9 6 * agreement with Nordic Semiconductor.
rgrover1 103:138bdc859cc9 7 *
rgrover1 103:138bdc859cc9 8 */
rgrover1 103:138bdc859cc9 9
rgrover1 103:138bdc859cc9 10 /** @file
rgrover1 103:138bdc859cc9 11 * @brief Utilities for verifying program logic
rgrover1 103:138bdc859cc9 12 */
rgrover1 103:138bdc859cc9 13
rgrover1 103:138bdc859cc9 14 #ifndef NRF_ASSERT_H_
rgrover1 103:138bdc859cc9 15 #define NRF_ASSERT_H_
rgrover1 103:138bdc859cc9 16
rgrover1 103:138bdc859cc9 17 #include <stdint.h>
rgrover1 103:138bdc859cc9 18 #include "compiler_abstraction.h"
rgrover1 103:138bdc859cc9 19 #ifdef __cplusplus
rgrover1 103:138bdc859cc9 20 extern "C" {
rgrover1 103:138bdc859cc9 21 #endif
rgrover1 103:138bdc859cc9 22
rgrover1 103:138bdc859cc9 23 #if defined(DEBUG_NRF) || defined(DEBUG_NRF_USER)
rgrover1 103:138bdc859cc9 24
rgrover1 103:138bdc859cc9 25 /** @brief Function for handling assertions.
rgrover1 103:138bdc859cc9 26 *
rgrover1 103:138bdc859cc9 27 *
rgrover1 103:138bdc859cc9 28 * @note
rgrover1 103:138bdc859cc9 29 * This function is called when an assertion has triggered.
rgrover1 103:138bdc859cc9 30 *
rgrover1 103:138bdc859cc9 31 *
rgrover1 103:138bdc859cc9 32 * @post
rgrover1 103:138bdc859cc9 33 * All hardware is put into an idle non-emitting state (in particular the radio is highly
rgrover1 103:138bdc859cc9 34 * important to switch off since the radio might be in a state that makes it send
rgrover1 103:138bdc859cc9 35 * packets continiously while a typical final infinit ASSERT loop is executing).
rgrover1 103:138bdc859cc9 36 *
rgrover1 103:138bdc859cc9 37 *
rgrover1 103:138bdc859cc9 38 * @param line_num The line number where the assertion is called
rgrover1 103:138bdc859cc9 39 * @param file_name Pointer to the file name
rgrover1 103:138bdc859cc9 40 */
rgrover1 103:138bdc859cc9 41 void assert_nrf_callback(uint16_t line_num, const uint8_t *file_name);
rgrover1 103:138bdc859cc9 42
rgrover1 103:138bdc859cc9 43 /*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */
rgrover1 103:138bdc859cc9 44 /*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
rgrover1 103:138bdc859cc9 45
rgrover1 103:138bdc859cc9 46 /** @brief Function for checking intended for production code.
rgrover1 103:138bdc859cc9 47 *
rgrover1 103:138bdc859cc9 48 * Check passes if "expr" evaluates to true. */
rgrover1 103:138bdc859cc9 49 #define ASSERT(expr) \
rgrover1 103:138bdc859cc9 50 if (expr) \
rgrover1 103:138bdc859cc9 51 { \
rgrover1 103:138bdc859cc9 52 } \
rgrover1 103:138bdc859cc9 53 else \
rgrover1 103:138bdc859cc9 54 { \
rgrover1 103:138bdc859cc9 55 assert_nrf_callback((uint16_t)__LINE__, (uint8_t *)__FILE__); \
rgrover1 103:138bdc859cc9 56 }
rgrover1 103:138bdc859cc9 57 #else
rgrover1 103:138bdc859cc9 58 #define ASSERT(expr) //!< Assert empty when disabled
rgrover1 103:138bdc859cc9 59 __WEAK void assert_nrf_callback(uint16_t line_num, const uint8_t *file_name);
rgrover1 103:138bdc859cc9 60 #endif /* defined(DEBUG_NRF) || defined(DEBUG_NRF_USER) */
rgrover1 103:138bdc859cc9 61
rgrover1 103:138bdc859cc9 62 #ifdef __cplusplus
rgrover1 103:138bdc859cc9 63 }
rgrover1 103:138bdc859cc9 64 #endif
rgrover1 103:138bdc859cc9 65
rgrover1 103:138bdc859cc9 66 #endif /* NRF_ASSERT_H_ */