pin pong

Dependents:   SX1272PingPong

Fork of SX1276Lib by Semtech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers debug.h Source File

debug.h

Go to the documentation of this file.
00001 /* Copyright (c) 2012 mbed.org, MIT License
00002  *
00003  * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
00004  * and associated documentation files (the "Software"), to deal in the Software without restriction,
00005  * including without limitation the rights to use, copy, modify, merge, publish, distribute,
00006  * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
00007  * furnished to do so, subject to the following conditions:
00008  *
00009  * The above copyright notice and this permission notice shall be included in all copies or
00010  * substantial portions of the Software.
00011  *
00012  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
00013  * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00014  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
00015  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00016  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00017  */
00018  
00019 #ifndef DEBUG_H
00020 #define DEBUG_H
00021 
00022 /** @file debug.h */
00023 
00024 #include <stdarg.h>
00025 #include <stdio.h>
00026 
00027 #define NDEBUG
00028 #ifndef NDEBUG
00029 
00030 /** Output a debug message
00031  * 
00032  * @param format printf-style format string, followed by variables
00033  */
00034 static inline void debug(const char *format, ...) {
00035     va_list args;
00036     va_start(args, format);
00037     vfprintf(stderr, format, args);
00038     va_end(args);
00039 }
00040 
00041 #else
00042 static inline void debug(const char *format, ...) {}
00043 #endif
00044 
00045 
00046 //#define NDEBUG_IF
00047 #ifndef NDEBUG_IF
00048 
00049 /** Conditionally output a debug message
00050  * 
00051  * @param condition output only if condition is true
00052  * @param format printf-style format string, followed by variables
00053  */
00054 static inline void debug_if(bool condition, const char *format, ...) {
00055     if(condition) {
00056         va_list args;
00057         va_start(args, format);
00058         vfprintf(stderr, format, args);
00059         va_end(args);
00060     }
00061 }
00062 #else
00063 static inline void debug_if(bool condition, const char *format, ...) {}
00064 #endif
00065 
00066 #endif