#ifndef __DEBUG_H__ #define __DEBUG_H__ #ifdef NDEBUG #define DPRINT(str) #else #ifndef DSERIAL #define DSERIAL Serial #endif template inline void DPRINT(T str) { DSERIAL.print(str); } template inline void DPRINTLN(T str) { DPRINT(str); DPRINT(F("\r\n")); } inline void DHEX(uint8_t b) { if( b<0x10 ) DSERIAL.print('0'); DSERIAL.print(b,HEX); } inline void DHEX(uint16_t b) { if( b<0x10 ) DSERIAL.print(F("000")); else if( b<0x100 ) DSERIAL.print(F("00")); else if( b<0x1000 ) DSERIAL.print(F("0")); DSERIAL.print(b,HEX); } inline void DHEX(uint32_t b) { if( b<0x10 ) DSERIAL.print(F("0000000")); else if( b<0x100 ) DSERIAL.print(F("000000")); else if( b<0x1000 ) DSERIAL.print(F("00000")); else if( b<0x10000 ) DSERIAL.print(F("0000")); else if( b<0x100000 ) DSERIAL.print(F("000")); else if( b<0x1000000 ) DSERIAL.print(F("00")); else if( b<0x10000000 ) DSERIAL.print(F("0")); DSERIAL.print(b,HEX); } #endif #endif /*__DEBUG_H__*/