diff --git a/Due.h b/Due.h new file mode 100644 index 0000000..c7f9f0b --- /dev/null +++ b/Due.h @@ -0,0 +1,25 @@ +// 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 \ No newline at end of file