Browse Source

Emulate AVR pgm_read_ptr() on 32 bit Teensy

teensy4-core
PaulStoffregen 7 years ago
parent
commit
d63777ac8a
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      teensy3/avr/pgmspace.h

+ 6
- 0
teensy3/avr/pgmspace.h View File

@@ -110,6 +110,10 @@ typedef uint64_t prog_uint64_t;
typeof(addr) _addr = (addr); \
*(const float *)(_addr); \
})
#define pgm_read_ptr(addr) ({ \
typeof(addr) _addr = (addr); \
*(void * const *)(_addr); \
})
#endif


@@ -117,9 +121,11 @@ typedef uint64_t prog_uint64_t;
#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_ptr_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 pgm_read_ptr_far(addr) pgm_read_float(addr)

#endif

Loading…
Cancel
Save