VitroIO SDK
Software development kit for Vitro Shard.
Loading...
Searching...
No Matches
debug.h
Go to the documentation of this file.
1#ifndef VITROIO_SDK_DEBUG_H
2#define VITROIO_SDK_DEBUG_H
3
24#include <mbed.h>
25
26#if defined(VITROIO_DEBUG_HINFO_LEVEL) || \
27 defined(VITROIO_DEBUG_INFO_LEVEL) || \
28 defined(VITROIO_DEBUG_WARNING_LEVEL) || \
29 defined(VITROIO_DEBUG_ERROR_LEVEL)
30
31 #define _VITROIO_DEBUG_PRINTF_(serial, level, module, format, ...) printf("[%s][%s]: " format "\n\r", level, module, ##__VA_ARGS__);
32
33#endif
34
35#if defined(VITROIO_DEBUG_HINFO_LEVEL)
36
37 extern BufferedSerial VITROIO_DEBUG_HINFO_LEVEL;
38
39 #define VITROIO_DEBUG_HINFO(module, format, ...) _VITROIO_DEBUG_PRINTF_(VITROIO_DEBUG_HINFO_LEVEL, "INFO", module, format, ##__VA_ARGS__)
40
41 #define VITROIO_DEBUG_INFO_LEVEL VITROIO_DEBUG_HINFO_LEVEL
42
43#else
44
45 #define VITROIO_DEBUG_HINFO(module, format, ...)
46
47#endif // VITROIO_DEBUG_HINFO_LEVEL
48
49#if defined(VITROIO_DEBUG_INFO_LEVEL)
50
51 #ifndef VITROIO_DEBUG_HINFO_LEVEL
52 extern BufferedSerial VITROIO_DEBUG_INFO_LEVEL;
53 #endif
54
55 #define VITROIO_DEBUG_INFO(module, format, ...) _VITROIO_DEBUG_PRINTF_(VITROIO_DEBUG_INFO_LEVEL, "INFO", module, format, ##__VA_ARGS__)
56
57 #define VITROIO_DEBUG_WARNING_LEVEL VITROIO_DEBUG_INFO_LEVEL
58
59#else
60
61 #define VITROIO_DEBUG_INFO(module, format, ...)
62
63#endif // VITROIO_DEBUG_INFO_LEVEL
64
65#if defined(VITROIO_DEBUG_WARNING_LEVEL)
66
67 #ifndef VITROIO_DEBUG_INFO_LEVEL
68 extern BufferedSerial VITROIO_DEBUG_WARNING_LEVEL;
69 #endif
70
71 #define VITROIO_DEBUG_WARNING(module, format, ...) _VITROIO_DEBUG_PRINTF_(VITROIO_DEBUG_WARNING_LEVEL, "WARNING", module, format, ##__VA_ARGS__)
72
73 #define VITROIO_DEBUG_ERROR_LEVEL VITROIO_DEBUG_WARNING_LEVEL
74
75#else
76
77 #define VITROIO_DEBUG_WARNING(module, format, ...)
78
79#endif // VITROIO_DEBUG_WARNING_LEVEL
80
81#if defined(VITROIO_DEBUG_ERROR_LEVEL)
82
83 #ifndef VITROIO_DEBUG_WARNING_LEVEL
84 extern BufferedSerial VITROIO_DEBUG_ERROR_LEVEL;
85 #endif
86
87 #define VITROIO_DEBUG_ERROR(module, format, ...) _VITROIO_DEBUG_PRINTF_(VITROIO_DEBUG_ERROR_LEVEL, "ERROR", module, format, ##__VA_ARGS__)
88
89#else
90
91 #define VITROIO_DEBUG_ERROR(module, format, ...)
92
93#endif // VITROIO_DEBUG_ERROR_LEVEL
94
95#endif // VITROIO_SDK_DEBUG_H