Go to the documentation of this file. 24 #define isFlashPtr(ptr) ((uint32_t)(ptr) >= SOC_DROM_LOW && (uint32_t)(ptr) < SOC_DROM_HIGH) 26 #define PROGMEM STORE_ATTR ICACHE_RODATA_ATTR 27 #define PROGMEM_PSTR PROGMEM 28 #define PSTR(str) (str) 30 #define PGM_P const char* 31 #define PGM_VOID_P const void* 38 #define pgm_read_byte(addr) (*(const unsigned char*)(addr)) 39 #define pgm_read_word(addr) \ 41 uint32_t tmp_addr = (uint32_t)(addr); \ 42 *(const uint16_t*)tmp_addr; \ 44 #define pgm_read_dword(addr) \ 46 uint32_t tmp_addr = (uint32_t)(addr); \ 47 *(const uint32_t*)tmp_addr; \ 49 #define pgm_read_float(addr) \ 51 uint32_t tmp_addr = (uint32_t)(addr); \ 52 *(const float*)tmp_addr; \ 57 #define pgm_read_byte_near(addr) pgm_read_byte(addr) 58 #define pgm_read_word_near(addr) pgm_read_word(addr) 59 #define pgm_read_dword_near(addr) pgm_read_dword(addr) 60 #define pgm_read_float_near(addr) pgm_read_float(addr) 61 #define pgm_read_byte_far(addr) pgm_read_byte(addr) 62 #define pgm_read_word_far(addr) pgm_read_word(addr) 63 #define pgm_read_dword_far(addr) pgm_read_dword(addr) 64 #define pgm_read_float_far(addr) pgm_read_float(addr) 66 #define memcpy_P(dest, src, num) memcpy(dest, src, num) 67 #define memcmp_P(a1, b1, len) memcmp(a1, b1, len) 68 #define strlen_P(a) strlen(a) 69 #define strcpy_P(dest, src) strcpy(dest, src) 70 #define strncpy_P(dest, src, size) strncpy(dest, src, size) 71 #define strcmp_P(a, b) strcmp(a, b) 72 #define strncmp_P(str1, str2_P, size) strncmp(str1, str2_P, size) 73 #define strcasecmp_P(a, b) strcasecmp(a, b) 74 #define strcat_P(dest, src) strcat(dest, src) 75 #define strstr_P(a, b) strstr(a, b) 76 #define sprintf_P(s, f, ...) m_snprintf(s, 1024, f, ##__VA_ARGS__)