mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
emilmont
Date:
Mon Jun 10 16:03:00 2013 +0100
Revision:
9:0ce32e54c9a7
Parent:
capi/mbed_debug.h@2:143cac498751
Child:
10:3bc89ef62ce7
Refactoring of the mbed SDK:
- Provide a well defined HAL and API
- Keep separated the HAL implementations for the different targets

Who changed what in which revision?

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