Control Surface  1.1.1
MIDI Control Surface library for Arduino
Macros
Debug.hpp File Reference
#include <AH/Settings/Warnings.hpp>
#include <AH/PrintStream/PrintStream.hpp>
#include <AH/Settings/SettingsWrapper.hpp>
#include "DebugVal.hpp"
Include dependency graph for Debug.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FLUSH_ON_EVERY_DEBUG_STATEMENT   0
 Should the output stream be flushed after each debug statement? Enabling this feature can slow things down significantly, and is not supported on ESP32 / ESP8266. More...
 
#define DEBUG_ENDL   "\r\n"
 
#define DEBUG_STR_HELPER(x)   #x
 
#define DEBUG_STR(x)   DEBUG_STR_HELPER(x)
 
#define DEBUG_FUNC_LOCATION   '[' << __PRETTY_FUNCTION__ << F(" @ line " DEBUG_STR(__LINE__) "]:\t")
 
#define DEBUG_LOCATION   "[" __FILE__ ":" DEBUG_STR(__LINE__) "]:\t"
 
#define NAMEDVALUE(x)   F(DEBUG_STR(x) " = ") << x
 Macro for printing an expression as a string, followed by its value. More...
 
#define DEBUG(x)
 Print an expression to the debug output if debugging is enabled. More...
 
#define DEBUGREF(x)
 Print an expression and its location (file and line number) to the debug output if debugging is enabled. More...
 
#define DEBUGFN(x)
 Print an expression and its function (function name and line number) to the debug output if debugging is enabled. More...
 
#define DEBUGTIME(x)
 Print an expression and the time since startup to the debug output if debugging is enabled. More...
 
#define DEBUGVAL(...)   DEBUGVALN(COUNT(__VA_ARGS__))(__VA_ARGS__)
 Print multiple expressions and their values to the debug output if debugging is enabled. More...
 

Macro Definition Documentation

◆ FLUSH_ON_EVERY_DEBUG_STATEMENT

#define FLUSH_ON_EVERY_DEBUG_STATEMENT   0

Should the output stream be flushed after each debug statement? Enabling this feature can slow things down significantly, and is not supported on ESP32 / ESP8266.

Todo:
I should probably use Streams instead of Prints, so Espressif boards can flush as well.

Definition at line 20 of file Debug.hpp.

◆ DEBUG_ENDL

#define DEBUG_ENDL   "\r\n"

Definition at line 48 of file Debug.hpp.

◆ DEBUG_STR_HELPER

#define DEBUG_STR_HELPER (   x)    #x

Definition at line 57 of file Debug.hpp.

◆ DEBUG_STR

#define DEBUG_STR (   x)    DEBUG_STR_HELPER(x)

Definition at line 58 of file Debug.hpp.

◆ DEBUG_FUNC_LOCATION

#define DEBUG_FUNC_LOCATION   '[' << __PRETTY_FUNCTION__ << F(" @ line " DEBUG_STR(__LINE__) "]:\t")

Definition at line 60 of file Debug.hpp.

◆ DEBUG_LOCATION

#define DEBUG_LOCATION   "[" __FILE__ ":" DEBUG_STR(__LINE__) "]:\t"

Definition at line 62 of file Debug.hpp.