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 |
1.8.13