The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
Anna Bridge
Date:
Wed Jan 17 16:13:02 2018 +0000
Revision:
160:5571c4ff569f
Parent:
158:1c57384330a6
Child:
170:e95d10626187
mbed library. Release version 158

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 156:ff21514d8981 1
AnnaBridge 156:ff21514d8981 2 /** \addtogroup platform */
AnnaBridge 156:ff21514d8981 3 /** @{*/
AnnaBridge 158:1c57384330a6 4 /**
AnnaBridge 158:1c57384330a6 5 * \defgroup platform_debug Debug functions
AnnaBridge 158:1c57384330a6 6 * @{
AnnaBridge 158:1c57384330a6 7 */
AnnaBridge 158:1c57384330a6 8
AnnaBridge 156:ff21514d8981 9 /* mbed Microcontroller Library
AnnaBridge 156:ff21514d8981 10 * Copyright (c) 2006-2013 ARM Limited
AnnaBridge 156:ff21514d8981 11 *
AnnaBridge 156:ff21514d8981 12 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 156:ff21514d8981 13 * you may not use this file except in compliance with the License.
AnnaBridge 156:ff21514d8981 14 * You may obtain a copy of the License at
AnnaBridge 156:ff21514d8981 15 *
AnnaBridge 156:ff21514d8981 16 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 156:ff21514d8981 17 *
AnnaBridge 156:ff21514d8981 18 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 156:ff21514d8981 19 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 156:ff21514d8981 20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 156:ff21514d8981 21 * See the License for the specific language governing permissions and
AnnaBridge 156:ff21514d8981 22 * limitations under the License.
AnnaBridge 156:ff21514d8981 23 */
AnnaBridge 156:ff21514d8981 24 #ifndef MBED_DEBUG_H
AnnaBridge 156:ff21514d8981 25 #define MBED_DEBUG_H
AnnaBridge 156:ff21514d8981 26 #if DEVICE_STDIO_MESSAGES
AnnaBridge 156:ff21514d8981 27 #include <stdio.h>
AnnaBridge 156:ff21514d8981 28 #include <stdarg.h>
AnnaBridge 156:ff21514d8981 29 #endif
AnnaBridge 156:ff21514d8981 30
AnnaBridge 156:ff21514d8981 31 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 32 extern "C" {
AnnaBridge 156:ff21514d8981 33 #endif
AnnaBridge 156:ff21514d8981 34
AnnaBridge 156:ff21514d8981 35
AnnaBridge 156:ff21514d8981 36 /** Output a debug message
AnnaBridge 156:ff21514d8981 37 *
AnnaBridge 156:ff21514d8981 38 * @param format printf-style format string, followed by variables
AnnaBridge 156:ff21514d8981 39 */
AnnaBridge 156:ff21514d8981 40 static inline void debug(const char *format, ...) {
AnnaBridge 156:ff21514d8981 41 #if DEVICE_STDIO_MESSAGES && !defined(NDEBUG)
AnnaBridge 156:ff21514d8981 42 va_list args;
AnnaBridge 156:ff21514d8981 43 va_start(args, format);
AnnaBridge 156:ff21514d8981 44 vfprintf(stderr, format, args);
AnnaBridge 156:ff21514d8981 45 va_end(args);
AnnaBridge 156:ff21514d8981 46 #endif
AnnaBridge 156:ff21514d8981 47 }
AnnaBridge 156:ff21514d8981 48
AnnaBridge 156:ff21514d8981 49
AnnaBridge 156:ff21514d8981 50 /** Conditionally output a debug message
AnnaBridge 156:ff21514d8981 51 *
AnnaBridge 156:ff21514d8981 52 * NOTE: If the condition is constant false (== 0) and the compiler optimization
AnnaBridge 156:ff21514d8981 53 * level is greater than 0, then the whole function will be compiled away.
AnnaBridge 156:ff21514d8981 54 *
AnnaBridge 156:ff21514d8981 55 * @param condition output only if condition is true (!= 0)
AnnaBridge 156:ff21514d8981 56 * @param format printf-style format string, followed by variables
AnnaBridge 156:ff21514d8981 57 */
AnnaBridge 156:ff21514d8981 58 static inline void debug_if(int condition, const char *format, ...) {
AnnaBridge 156:ff21514d8981 59 #if DEVICE_STDIO_MESSAGES && !defined(NDEBUG)
AnnaBridge 156:ff21514d8981 60 if (condition) {
AnnaBridge 156:ff21514d8981 61 va_list args;
AnnaBridge 156:ff21514d8981 62 va_start(args, format);
AnnaBridge 156:ff21514d8981 63 vfprintf(stderr, format, args);
AnnaBridge 156:ff21514d8981 64 va_end(args);
AnnaBridge 156:ff21514d8981 65 }
AnnaBridge 156:ff21514d8981 66 #endif
AnnaBridge 156:ff21514d8981 67 }
AnnaBridge 156:ff21514d8981 68
AnnaBridge 156:ff21514d8981 69
AnnaBridge 156:ff21514d8981 70 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 71 }
AnnaBridge 156:ff21514d8981 72 #endif
AnnaBridge 156:ff21514d8981 73
AnnaBridge 156:ff21514d8981 74 #endif
AnnaBridge 156:ff21514d8981 75
AnnaBridge 158:1c57384330a6 76 /**@}*/
AnnaBridge 158:1c57384330a6 77
AnnaBridge 158:1c57384330a6 78 /**@}*/
AnnaBridge 158:1c57384330a6 79