Include dependency graph for Arch/Esp32/Components/libc/include/sys/pgmspace.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Macros | |
#define | isFlashPtr(ptr) |
Simple check to determine if a pointer refers to flash memory. More... | |
#define | PROGMEM STORE_ATTR |
#define | PROGMEM_PSTR PROGMEM |
#define | PSTR(str) (str) |
#define | PGM_P const char* |
#define | PGM_VOID_P const void* |
#define | pgm_read_with_offset(addr, res) |
#define | pgm_read_byte_near(addr) pgm_read_byte(addr) |
#define | pgm_read_word_near(addr) pgm_read_word(addr) |
#define | pgm_read_dword_near(addr) pgm_read_dword(addr) |
#define | pgm_read_float_near(addr) pgm_read_float(addr) |
#define | pgm_read_byte_far(addr) pgm_read_byte(addr) |
#define | pgm_read_word_far(addr) pgm_read_word(addr) |
#define | pgm_read_dword_far(addr) pgm_read_dword(addr) |
#define | pgm_read_float_far(addr) pgm_read_float(addr) |
#define | memcpy_P(dest, src, num) memcpy(dest, src, num) |
#define | memcmp_P(a1, b1, len) memcmp(a1, b1, len) |
#define | strlen_P(a) strlen(a) |
#define | strcpy_P(dest, src) strcpy(dest, src) |
#define | strncpy_P(dest, src, size) strncpy(dest, src, size) |
#define | strcmp_P(a, b) strcmp(a, b) |
#define | strncmp_P(str1, str2_P, size) strncmp(str1, str2_P, size) |
#define | strcasecmp_P(a, b) strcasecmp(a, b) |
#define | strcat_P(dest, src) strcat(dest, src) |
#define | strstr_P(a, b) strstr(a, b) |
#define | sprintf_P(s, f, ...) m_snprintf(s, 1024, f, ##__VA_ARGS__) |
Macros to safely read PROGMEM locations | |
#define | pgm_read_byte(addr) pgm_read_byte_inlined(addr) |
#define | pgm_read_word(addr) pgm_read_word_inlined(addr) |
#define | pgm_read_dword(addr) (*(const unsigned long*)(addr)) |
#define | pgm_read_float(addr) (*(const float*)(addr)) |
Functions | |
static uint8_t | pgm_read_byte_inlined (const void *addr) |
static uint16_t | pgm_read_word_inlined (const void *addr) |
Macro Definition Documentation
◆ isFlashPtr
#define isFlashPtr | ( | ptr | ) |
Value:
(((uint32_t)(ptr) >= SOC_DROM_LOW && (uint32_t)(ptr) < SOC_DROM_HIGH) || \
((uint32_t)(ptr) >= SOC_IROM_LOW && (uint32_t)(ptr) < SOC_IROM_HIGH))
Simple check to determine if a pointer refers to flash memory.
◆ memcmp_P
#define memcmp_P | ( | a1, | |
b1, | |||
len | |||
) | memcmp(a1, b1, len) |
◆ memcpy_P
#define memcpy_P | ( | dest, | |
src, | |||
num | |||
) | memcpy(dest, src, num) |
◆ PGM_P
#define PGM_P const char* |
◆ pgm_read_byte
#define pgm_read_byte | ( | addr | ) | pgm_read_byte_inlined(addr) |
◆ pgm_read_byte_far
#define pgm_read_byte_far | ( | addr | ) | pgm_read_byte(addr) |
◆ pgm_read_byte_near
#define pgm_read_byte_near | ( | addr | ) | pgm_read_byte(addr) |
◆ pgm_read_dword
#define pgm_read_dword | ( | addr | ) | (*(const unsigned long*)(addr)) |
◆ pgm_read_dword_far
#define pgm_read_dword_far | ( | addr | ) | pgm_read_dword(addr) |
◆ pgm_read_dword_near
#define pgm_read_dword_near | ( | addr | ) | pgm_read_dword(addr) |
◆ pgm_read_float
#define pgm_read_float | ( | addr | ) | (*(const float*)(addr)) |
◆ pgm_read_float_far
#define pgm_read_float_far | ( | addr | ) | pgm_read_float(addr) |
◆ pgm_read_float_near
#define pgm_read_float_near | ( | addr | ) | pgm_read_float(addr) |
◆ pgm_read_with_offset
#define pgm_read_with_offset | ( | addr, | |
res | |||
) |
Value:
__asm__("extui %0, %1, 0, 2\n" /* Extract offset within word (in bytes) */ \
"sub %1, %1, %0\n" /* Subtract offset from addr, yielding an aligned address */ \
"l32i.n %1, %1, 0x0\n" /* Load word from aligned address */ \
"ssa8l %0\n" /* Prepare to shift by offset (in bits) */ \
"src %0, %1, %1\n" /* Shift right; now the requested byte is the first one */ \
: "=r"(res), "=r"(addr) \
: "1"(addr) \
:);
◆ pgm_read_word
#define pgm_read_word | ( | addr | ) | pgm_read_word_inlined(addr) |
◆ pgm_read_word_far
#define pgm_read_word_far | ( | addr | ) | pgm_read_word(addr) |
◆ pgm_read_word_near
#define pgm_read_word_near | ( | addr | ) | pgm_read_word(addr) |
◆ PGM_VOID_P
#define PGM_VOID_P const void* |
◆ PROGMEM
#define PROGMEM STORE_ATTR |
◆ PROGMEM_PSTR
#define PROGMEM_PSTR PROGMEM |
◆ PSTR
◆ sprintf_P
#define sprintf_P | ( | s, | |
f, | |||
... | |||
) | m_snprintf(s, 1024, f, ##__VA_ARGS__) |
◆ strcasecmp_P
#define strcasecmp_P | ( | a, | |
b | |||
) | strcasecmp(a, b) |
◆ strcat_P
#define strcat_P | ( | dest, | |
src | |||
) | strcat(dest, src) |
◆ strcmp_P
#define strcmp_P | ( | a, | |
b | |||
) | strcmp(a, b) |
◆ strcpy_P
#define strcpy_P | ( | dest, | |
src | |||
) | strcpy(dest, src) |
◆ strlen_P
#define strlen_P | ( | a | ) | strlen(a) |
◆ strncmp_P
#define strncmp_P | ( | str1, | |
str2_P, | |||
size | |||
) | strncmp(str1, str2_P, size) |
◆ strncpy_P
#define strncpy_P | ( | dest, | |
src, | |||
size | |||
) | strncpy(dest, src, size) |
◆ strstr_P
#define strstr_P | ( | a, | |
b | |||
) | strstr(a, b) |
Function Documentation
◆ pgm_read_byte_inlined()
|
inlinestatic |
◆ pgm_read_word_inlined()
|
inlinestatic |