Control Surface master MIDI Control Surface library for Arduino
Debug.ino

# Debug

This examples shows how use the debug macros for printing different kinds of debugging information

Boards:
AVR, AVR USB, Nano Every, Nano 33 IoT, Nano 33 BLE, Due, Teensy 3.x, ESP8266, ESP32

## Behavior

• Enable debugging by defining the DEBUG_OUT macro in src/AH/Settings/Settings.hpp or enable debugging globally as explained here
• Upload the sketch to the Arduino, and open the Serial Monitor (CTRL+Shift+M)
• Every five seconds, debugging information is printed, for example:
This is the result of DEBUG
[/home/pieter/GitHub/Arduino-Debugging/Example/Example.ino:12]: This is the result of DEBUGREF
[void loop() @ line 13]: This is the result of DEBUGFN
[0:2:11.085]: This is the result of DEBUGTIME
a = 1, b = 2, c = 3
log10(1000) - 2 = 1.00
millis() = 131085
[int someFunction(int) @ line 26]: parameter = 42
#define DEBUG(x)
Print an expression to the debug output if debugging is enabled.
Definition: Debug.hpp:98
#define DEBUGFN(x)
Print an expression and its function (function name and line number) to the debug output if debugging...
Definition: Debug.hpp:118
#define DEBUGTIME(x)
Print an expression and the time since startup to the debug output if debugging is enabled.
Definition: Debug.hpp:130
#define DEBUGREF(x)
Print an expression and its location (file and line number) to the debug output if debugging is enabl...
Definition: Debug.hpp:108
Debug for instructions on how to add an option in the Arduino IDE to easily enable and disable debugging globally without editing the settings file.

Written by PieterP, 2018-07-31
https://github.com/tttapa/Arduino-Helpers

void setup() {
Serial.begin(115200);
while (!Serial)
;
}
void loop() {
DEBUG("This is the result of DEBUG");
DEBUGREF("This is the result of DEBUGREF");
DEBUGFN("This is the result of DEBUGFN");
DEBUGTIME("This is the result of DEBUGTIME");
int a = 1, b = 2, c = 3;
DEBUGVAL(a, b, c);
DEBUGVAL(log10(1000) - 2);
DEBUGVAL(millis());
someFunction(42);
DEBUG("");
delay(5000);
}
int someFunction(int parameter) {
DEBUGFN(NAMEDVALUE(parameter));
return parameter;
}
Dummy header file for Arduino builder.
#define NAMEDVALUE(x)
Macro for printing an expression as a string, followed by its value.
Definition: Debug.hpp:92
#define DEBUGVAL(...)
Print multiple expressions and their values to the debug output if debugging is enabled.
Definition: Debug.hpp:178