-/*!
+/**
* \file
* <!--
* Copyright 2005 Develer S.r.l. (http://www.develer.com/)
#ifndef PSTR
#define PSTR(s) ({ static const char __c[] PROGMEM = (s); &__c[0]; })
#endif
+ #ifndef PFUNC
+ #define PFUNC(x) x ## _P
+ #endif
#elif CPU_HARVARD
#error Missing CPU support
#define PSTR /* nothing */
#endif
+#ifndef PFUNC
+#define PFUNC(x) x
+#endif
+
#ifndef PROGMEM
#define PROGMEM /* nothing */
#endif
-/*!
+/**
* \name Types for variables stored in program memory (harvard processors).
* \{
*/
typedef PROGMEM uint32_t pgm_uint32_t;
/*\}*/
-/*!
+/**
* \name PGM support macros.
*
* These macros enable dual compilation of code for both program
*/
#ifdef _PROGMEM
#define PGM_READ_CHAR(s) pgm_read_char(s)
- #define PGM_FUNC(x) x ## _P
+ #define PGM_FUNC(x) PFUNC(x)
#define PGM_STR(x) PSTR(x)
#define PGM_ATTR PROGMEM
#else