/* Debug.h -- Utility macros for debug logging NOTE: Requires Serial.begin() to have been called previously or the messages will be lost. If DEBUG_LEVEL is 0 or undefined no logging occurs. Higher DEBUG_LEVEL values should cause more detail to be displayed. */ #ifndef __DEBUG_H__ #define __DEBUG_H__ #ifndef DEBUG_LEVEL #define DEBUG_LEVEL 0 #endif #if DEBUG_LEVEL == 0 #define DEBUG_LOG(level, message) #else // TODO: Store strings in PROGMEM? // TODO: Modify so lower level messages/conditionals aren't compiled at all? #define DEBUG_LOG(level, message) \ if (DEBUG_LEVEL >= level) {\ Serial.print(F("DEBUG: "));\ Serial.println(F(message));\ }; #endif #endif