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:
AnnaBridge
Date:
Thu Nov 09 11:14:10 2017 +0000
Revision:
157:e7ca05fa8600
Parent:
156:ff21514d8981
Child:
158:1c57384330a6
Release 155 of the mbed library.

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