Mutila: Mouse's Utilities for Arduino
Oft-used utilities: debouncing buttons, averaging samples, and so on.
MutilaDebug.h
1 #pragma once
2 
3 #include <Arduino.h>
4 
5 #ifndef DEBUGSTREAM
6 #define DEBUGSTREAM Serial
7 #endif
8 
9 #ifndef DEBUGBAUD
10 #define DEBUGBAUD 115200
11 #endif
12 
13 #ifdef DEBUG
14 #define DEBUG 1
15 #else
16 #define DEBUG 0
17 #endif
18 
19 #ifdef MUTILADEBUG
20 #define MUTILADEBUG 1
21 #else
22 #define MUTILADEBUG 0
23 #endif
24 
25 // This for internal Mutila use...
26 #define _DB(...) \
27  do { if (MUTILADEBUG) DEBUGSTREAM.print(__VA_ARGS__); } while (0)
28 
29 #define _DBF(...) \
30  do { if (MUTILADEBUG) DEBUGSTREAM.printf(__VA_ARGS__); } while (0)
31 
32 #define _DBLN(...) \
33  do { if (MUTILADEBUG) DEBUGSTREAM.println(__VA_ARGS__); } while (0)
34 
35 // For use in user apps...
36 #define DBBEGIN do { DEBUGSTREAM.begin(DEBUGBAUD); } while (0)
37 
38 #define DB(...) \
39  do { if (DEBUG) DEBUGSTREAM.print(__VA_ARGS__); } while (0)
40 
41 #define DBF(...) \
42  do { if (DEBUG) DEBUGSTREAM.printf(__VA_ARGS__); } while (0)
43 
44 #define DBLN(...) \
45  do { if (DEBUG) DEBUGSTREAM.println(__VA_ARGS__); } while (0)
46