extern "C" { #include #include #include "wiring_private.h" #include "WConstants.h" #include } #ifndef staticPrint_H #define staticPrint_H #ifndef SPrint #define SPrint(str) SPrint_P(PSTR(str)) #endif #ifndef SPrintln #define SPrintln(str) SPrintln_P(PSTR(str)) #endif static inline void SPrint_P(const char *data) { char ch; for (;;) { ch = pgm_read_byte( data++ ); if ( !ch ) return; #if defined(__AVR_ATmega8__) while (!(UCSRA & (1 << UDRE))) ; UDR = ch; #else while (!(UCSR0A & (1 << UDRE0))) ; UDR0 = ch; #endif } } static inline void SPrintln_P(const char *data) { SPrint_P(data); SPrint_P(PSTR("\r\n")); } #endif