Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: 1-RenBuggyTimed RenBED_RGB RenBED_RGB_PWM RenBED_RGB
Fork of mbed by
Revision 47:134def52cfa0, committed 2012-11-27
- Comitter:
- emimon01
- Date:
- Tue Nov 27 17:05:08 2012 +0000
- Parent:
- 46:890817bdcffb
- Child:
- 48:49c296715c73
- Commit message:
- Add a debug API
Changed in this revision
--- a/LPC11U24/device.h Mon Nov 26 10:13:56 2012 +0000 +++ b/LPC11U24/device.h Tue Nov 27 17:05:08 2012 +0000 @@ -53,7 +53,7 @@ #define DEVICE_DEBUG_AWARENESS 0 -#define DEVICE_STDIO_ERROR 1 +#define DEVICE_STDIO_MESSAGES 1 #include "objects.h"
--- a/LPC1768/device.h Mon Nov 26 10:13:56 2012 +0000 +++ b/LPC1768/device.h Tue Nov 27 17:05:08 2012 +0000 @@ -53,7 +53,7 @@ #define DEVICE_DEBUG_AWARENESS 1 -#define DEVICE_STDIO_ERROR 1 +#define DEVICE_STDIO_MESSAGES 1 #include "objects.h"
--- a/LPC2368/device.h Mon Nov 26 10:13:56 2012 +0000 +++ b/LPC2368/device.h Tue Nov 27 17:05:08 2012 +0000 @@ -53,7 +53,7 @@ #define DEVICE_DEBUG_AWARENESS 0 -#define DEVICE_STDIO_ERROR 1 +#define DEVICE_STDIO_MESSAGES 1 #include "objects.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/debug.h Tue Nov 27 17:05:08 2012 +0000
@@ -0,0 +1,72 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2012 ARM Limited
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#ifndef MBED_DEBUG_H
+#define MBED_DEBUG_H
+#include "device.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef DEVICE_STDIO_MESSAGES
+#include <stdio.h>
+#include <stdarg.h>
+
+/** Output a debug message
+ *
+ * @param format printf-style format string, followed by variables
+ */
+static inline void debug(const char *format, ...) {
+ va_list args;
+ va_start(args, format);
+ vfprintf(stderr, format, args);
+ va_end(args);
+}
+
+/** Conditionally output a debug message
+ *
+ * NOTE: If the condition is constant false (!= 1) and the compiler optimization
+ * level is greater than 0, then the whole function will be compiled away.
+ *
+ * @param condition output only if condition is true (== 1)
+ * @param format printf-style format string, followed by variables
+ */
+static inline void debug_if(int condition, const char *format, ...) {
+ if (condition == 1) {
+ va_list args;
+ va_start(args, format);
+ vfprintf(stderr, format, args);
+ va_end(args);
+ }
+}
+
+#else
+static inline void debug(const char *format, ...) {}
+static inline void debug_if(int condition, const char *format, ...) {}
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- a/error.h Mon Nov 26 10:13:56 2012 +0000
+++ b/error.h Tue Nov 27 17:05:08 2012 +0000
@@ -62,7 +62,7 @@
#include <stdlib.h>
#include "device.h"
-#ifdef DEVICE_STDIO_ERROR
+#ifdef DEVICE_STDIO_MESSAGES
#include <stdio.h>
#define error(...) (fprintf(stderr, __VA_ARGS__), exit(1))
#else
