7SegmentFastClockClient/src/DjDebug.h

53 lines
1.5 KiB
C++

#ifndef debug_h
#define debug_h
#include <Arduino.h>
#include <pgmspace.h>
#define logHeap() Debug::heapLogger(__FILE__,__LINE__,__func__)
class Debug {
public:
Debug();
Debug(int baudRate);
Debug(const char * outputChannel);
Debug(int baudRate, const char * outputChannel);
static void heapLogger(const char *fileName, const int line, const char *functionName);
static void out(int number);
static void outln(int number);
static void out(int number, int level);
static void outln(int number, int level);
static void out(const String& text, const int level);
static void out(const String& text);
static void outln(const String& text, const int level);
static void outln(const String& text);
static void out(const char * text, const int level);
static void out(const char * text);
static void outln(const char * text, const int level);
static void outln(const char * text);
static void out_p(PGM_P text, const int level);
static void out_p(PGM_P text);
static void outln_p(PGM_P text, const int level);
static void outln_p(PGM_P text);
static void setOutputUptoLevel(int level);
static void setDefaultDebugLevel(int level);
private:
static int outputUptoLevel;
static int defaultDebugLevel;
};
// Wieviele Informationen sollen über die serielle Schnittstelle ausgegeben werden?
#define DEBUG 3
// Definition der Debuglevel
#define DEBUG_ERROR 1
#define DEBUG_WARNING 2
#define DEBUG_MIN_INFO 3
#define DEBUG_MED_INFO 4
#define DEBUG_MAX_INFO 5
#endif