mbed library sources with internal temperature sensor for nucleo f401

Committer:
elessair
Date:
Sat Jan 17 18:03:58 2015 +0000
Revision:
0:7e2bd16f80af
nucleo f401re internal temperature added

Who changed what in which revision?

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