|
19 | 19 | #ifndef PGMSPACE_INCLUDE
|
20 | 20 | #define PGMSPACE_INCLUDE
|
21 | 21 |
|
| 22 | +typedef void prog_void; |
| 23 | +typedef char prog_char; |
| 24 | +typedef unsigned char prog_uchar; |
| 25 | +typedef char prog_int8_t; |
| 26 | +typedef unsigned char prog_uint8_t; |
| 27 | +typedef short prog_int16_t; |
| 28 | +typedef unsigned short prog_uint16_t; |
| 29 | +typedef long prog_int32_t; |
| 30 | +typedef unsigned long prog_uint32_t; |
| 31 | + |
22 | 32 | typedef char __FlashStringHelper;
|
| 33 | + |
| 34 | +#define SIZE_IRRELEVANT 0x7fffffff |
| 35 | + |
23 | 36 | #define PROGMEM
|
24 |
| -#define PSTR(s) (s) |
25 |
| -#define FPSTR(pstr_pointer) ((const char *)(pstr_pointer)) |
26 |
| -#define F(string_literal) (string_literal) |
| 37 | +#define PGM_P const char * |
| 38 | +#define PGM_VOID_P const void * |
| 39 | +#define FPSTR(p) ((const char *)(p)) |
| 40 | +#define PSTR(s) (s) |
| 41 | +#define F(s) (s) |
| 42 | +#define _SFR_BYTE(n) (n) |
27 | 43 |
|
28 |
| -#define pgm_read_byte(addr) (*(const unsigned char *)(addr)) |
29 |
| -#define pgm_read_word(addr) (*(const unsigned short *)(addr)) |
30 |
| -#define pgm_read_dword(addr) (*(const unsigned long *)(addr)) |
31 |
| -#define pgm_read_float(addr) (*(const float *)(addr)) |
| 44 | +#define pgm_read_byte(addr) (*(const unsigned char *)(addr)) |
| 45 | +#define pgm_read_word(addr) (*(const unsigned short *)(addr)) |
| 46 | +#define pgm_read_dword(addr) (*(const unsigned long *)(addr)) |
| 47 | +#define pgm_read_float(addr) (*(const float *)(addr)) |
32 | 48 |
|
33 |
| -#define pgm_read_byte_near(addr) pgm_read_byte(addr) |
34 |
| -#define pgm_read_word_near(addr) pgm_read_word(addr) |
| 49 | +#define pgm_read_byte_near(addr) pgm_read_byte(addr) |
| 50 | +#define pgm_read_word_near(addr) pgm_read_word(addr) |
35 | 51 | #define pgm_read_dword_near(addr) pgm_read_dword(addr)
|
36 | 52 | #define pgm_read_float_near(addr) pgm_read_float(addr)
|
37 |
| -#define pgm_read_byte_far(addr) pgm_read_byte(addr) |
38 |
| -#define pgm_read_word_far(addr) pgm_read_word(addr) |
39 |
| -#define pgm_read_dword_far(addr) pgm_read_dword(addr) |
40 |
| -#define pgm_read_float_far(addr) pgm_read_float(addr) |
| 53 | +#define pgm_read_byte_far(addr) pgm_read_byte(addr) |
| 54 | +#define pgm_read_word_far(addr) pgm_read_word(addr) |
| 55 | +#define pgm_read_dword_far(addr) pgm_read_dword(addr) |
| 56 | +#define pgm_read_float_far(addr) pgm_read_float(addr) |
| 57 | + |
| 58 | +#define memcmp_P memcmp |
| 59 | +#define memccpy_P memccpy |
| 60 | +#define memmem_P memmem |
| 61 | +#define memcpy_P memcpy |
| 62 | +#define strncpy_P strncpy |
| 63 | +#define strncat_P strncat |
| 64 | +#define strncmp_P strncmp |
| 65 | +#define strncasecmp_P strncasecmp |
| 66 | +#define strnlen_P strnlen |
| 67 | +#define strstr_P strstr |
| 68 | +#define printf_P printf |
| 69 | +#define sprintf_P sprintf |
| 70 | +#define snprintf_P snprintf |
| 71 | +#define vsnprintf_P vsnprintf |
| 72 | + |
| 73 | +#define strlen_P(strP) strnlen_P((strP), SIZE_IRRELEVANT) |
| 74 | +#define strcasecmp_P(str1, str2P) strncasecmp_P((str1), (str2P), SIZE_IRRELEVANT) |
| 75 | +#define strcmp_P(str1, str2P) strncmp_P((str1), (str2P), SIZE_IRRELEVANT) |
| 76 | +#define strcat_P(dest, src) strncat_P((dest), (src), SIZE_IRRELEVANT) |
| 77 | +#define strcpy_P(dest, src) strncpy_P((dest), (src), SIZE_IRRELEVANT) |
41 | 78 |
|
42 |
| -#define memcpy_P(to,from,len) memcpy(to,from,len) |
43 | 79 | #endif
|
0 commit comments