File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -77,9 +77,25 @@ typedef uint64_t prog_uint64_t;
77
77
#define fprintf_P (fp , ...) fprintf((fp), __VA_ARGS__)
78
78
79
79
#define pgm_read_byte (addr ) (*(const unsigned char *)(addr))
80
+ #if 0
80
81
#define pgm_read_word (addr ) (*(const unsigned short *)(addr))
81
82
#define pgm_read_dword (addr ) (*(const unsigned long *)(addr))
82
83
#define pgm_read_float (addr ) (*(const float *)(addr))
84
+ #else
85
+ #define pgm_read_word (addr ) ({ \
86
+ typeof(addr) _addr = (addr); \
87
+ *(const unsigned short *)(_addr); \
88
+ })
89
+ #define pgm_read_dword (addr ) ({ \
90
+ typeof(addr) _addr = (addr); \
91
+ *(const unsigned long *)(_addr); \
92
+ })
93
+ #define pgm_read_float (addr ) ({ \
94
+ typeof(addr) _addr = (addr); \
95
+ *(const float *)(_addr); \
96
+ })
97
+ #endif
98
+
83
99
84
100
#define pgm_read_byte_near (addr ) pgm_read_byte(addr)
85
101
#define pgm_read_word_near (addr ) pgm_read_word(addr)
You can’t perform that action at this time.
0 commit comments