// redefine some stuff so code works on Due // http://arduino.cc/forum/index.php?&topic=153761.0 #ifndef Due_h #define Due_h #if defined(__SAM3X8E__) #define PROGMEM #define pgm_read_byte(x) (*((char *)x)) // #define pgm_read_word(x) (*((short *)(x & 0xfffffffe))) #define pgm_read_word(x) ( ((*((unsigned char *)x + 1)) << 8) + (*((unsigned char *)x))) #define pgm_read_byte_near(x) (*((char *)x)) #define pgm_read_byte_far(x) (*((char *)x)) // #define pgm_read_word_near(x) (*((short *)(x & 0xfffffffe)) // #define pgm_read_word_far(x) (*((short *)(x & 0xfffffffe))) #define pgm_read_word_near(x) ( ((*((unsigned char *)x + 1)) << 8) + (*((unsigned char *)x))) #define pgm_read_word_far(x) ( ((*((unsigned char *)x + 1)) << 8) + (*((unsigned char *)x)))) #define PSTR(x) x #if defined F #undef F #endif #define F(X) (X) #endif #endif