Birkbeck College Mobile and Ubiquitous Computing IoT Lab Exercise 2

Dependencies:   BLE_API_Native_blog

Committer:
gkroussos
Date:
Sat Mar 07 16:34:53 2015 +0000
Revision:
0:e8fdba0ed044
MUC IoT Workshop v1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gkroussos 0:e8fdba0ed044 1 /*
gkroussos 0:e8fdba0ed044 2 * Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
gkroussos 0:e8fdba0ed044 3 *
gkroussos 0:e8fdba0ed044 4 * The information contained herein is confidential property of Nordic Semiconductor. The use,
gkroussos 0:e8fdba0ed044 5 * copying, transfer or disclosure of such information is prohibited except by express written
gkroussos 0:e8fdba0ed044 6 * agreement with Nordic Semiconductor.
gkroussos 0:e8fdba0ed044 7 *
gkroussos 0:e8fdba0ed044 8 */
gkroussos 0:e8fdba0ed044 9
gkroussos 0:e8fdba0ed044 10 /** @brief Utilities for verifying program logic
gkroussos 0:e8fdba0ed044 11 */
gkroussos 0:e8fdba0ed044 12
gkroussos 0:e8fdba0ed044 13 #ifndef SOFTDEVICE_ASSERT_H_
gkroussos 0:e8fdba0ed044 14 #define SOFTDEVICE_ASSERT_H_
gkroussos 0:e8fdba0ed044 15
gkroussos 0:e8fdba0ed044 16 #include <stdint.h>
gkroussos 0:e8fdba0ed044 17
gkroussos 0:e8fdba0ed044 18 /** @brief This function handles assertions.
gkroussos 0:e8fdba0ed044 19 *
gkroussos 0:e8fdba0ed044 20 *
gkroussos 0:e8fdba0ed044 21 * @note
gkroussos 0:e8fdba0ed044 22 * This function is called when an assertion has triggered.
gkroussos 0:e8fdba0ed044 23 *
gkroussos 0:e8fdba0ed044 24 *
gkroussos 0:e8fdba0ed044 25 * @param line_num The line number where the assertion is called
gkroussos 0:e8fdba0ed044 26 * @param file_name Pointer to the file name
gkroussos 0:e8fdba0ed044 27 */
gkroussos 0:e8fdba0ed044 28 void assert_softdevice_callback(uint16_t line_num, const uint8_t *file_name);
gkroussos 0:e8fdba0ed044 29
gkroussos 0:e8fdba0ed044 30
gkroussos 0:e8fdba0ed044 31 /*lint -emacro(506, ASSERT) */ /* Suppress "Constant value Boolean */
gkroussos 0:e8fdba0ed044 32 /*lint -emacro(774, ASSERT) */ /* Suppress "Boolean within 'if' always evaluates to True" */ \
gkroussos 0:e8fdba0ed044 33 /** @brief Check intended for production code
gkroussos 0:e8fdba0ed044 34 *
gkroussos 0:e8fdba0ed044 35 * Check passes if "expr" evaluates to true. */
gkroussos 0:e8fdba0ed044 36 #define ASSERT(expr) \
gkroussos 0:e8fdba0ed044 37 if (expr) \
gkroussos 0:e8fdba0ed044 38 { \
gkroussos 0:e8fdba0ed044 39 } \
gkroussos 0:e8fdba0ed044 40 else \
gkroussos 0:e8fdba0ed044 41 { \
gkroussos 0:e8fdba0ed044 42 assert_softdevice_callback((uint16_t)__LINE__, (uint8_t *)__FILE__); \
gkroussos 0:e8fdba0ed044 43 /*lint -unreachable */ \
gkroussos 0:e8fdba0ed044 44 }
gkroussos 0:e8fdba0ed044 45
gkroussos 0:e8fdba0ed044 46 #endif /* SOFTDEVICE_ASSERT_H_ */