Utility.hpp
Go to the documentation of this file.
126 template <typename T> FSTR_INLINE typename std::enable_if<sizeof(T) == 1, T>::type readValue(const T* ptr)
131 template <typename T> FSTR_INLINE typename std::enable_if<sizeof(T) == 2, T>::type readValue(const T* ptr)
136 template <typename T> FSTR_INLINE typename std::enable_if<sizeof(T) == 4, T>::type readValue(const T* ptr)
147 FSTR_INLINE typename std::enable_if<(sizeof(T) > 4) && IS_ALIGNED(sizeof(T)), T>::type readValue(const T* ptr)
#define pgm_read_byte(addr)
Definition: Arch/Esp32/Components/libc/src/include/sys/pgmspace.h:38
#define pgm_read_dword(addr)
Definition: Arch/Esp32/Components/libc/src/include/sys/pgmspace.h:44
#define pgm_read_word(addr)
Definition: Arch/Esp32/Components/libc/src/include/sys/pgmspace.h:39
#define IS_ALIGNED(_x)
determines if the given value is aligned to a word (4-byte) boundary
Definition: FakePgmSpace.h:34
void * memcpy_aligned(void *dst, const void *src, unsigned len)
copy memory aligned to word boundaries
Definition: Array.hpp:108
std::enable_if< sizeof(T)==1, T >::type readValue(const T *ptr)
Read a typed value from flash memory ensuring correct alignment of access.
Definition: Utility.hpp:126
Definition: Utility.hpp:59