6 #include <avr/pgmspace.h>
17 static inline uint16_t
read_word(
const uint16_t *addr) {
21 return (uint16_t)pgm_read_word(addr);
26 static inline uint8_t
read_byte(
const uint8_t *addr) {
30 return (uint8_t)pgm_read_byte(addr);
38 template <
typename RT>
41 return reinterpret_cast<RT
>(*
reinterpret_cast<const uint64_t *
>(addr));
43 return reinterpret_cast<RT
>(pgm_read_ptr(addr));
static RT read_ptr(const void *addr)
Definition: progmem.h:39
static uint8_t read_byte(const uint8_t *addr)
read a 8bit byte from PROGMEM
Definition: progmem.h:26
static uint16_t read_word(const uint16_t *addr)
read a 16bit word from PROGMEM
Definition: progmem.h:17