Hack in support for other boards/microcontrollers, add GpioDriver
There's definitely plenty of cleanup work to be done (see: "ifdefs").
This commit is contained in:
@@ -57,12 +57,12 @@
|
||||
(x) |= 1u << (y); \
|
||||
} while (0)
|
||||
|
||||
#define CLR(x, y) \
|
||||
#define CLR(x, y) \
|
||||
do { \
|
||||
(x) &= ~(y); \
|
||||
} while (0)
|
||||
|
||||
#define CLR_POS(x, y) \
|
||||
#define CLR_POS(x, y) \
|
||||
do { \
|
||||
(x) &= ~(1u << (y)); \
|
||||
} while (0)
|
||||
@@ -77,10 +77,17 @@
|
||||
(x) ^= 1u << y; \
|
||||
} while (0)
|
||||
|
||||
#define SET_TO(x, clear_mask, val) \
|
||||
do { \
|
||||
CLR(x, clear_mask); \
|
||||
SET(x, val); \
|
||||
#define SET_TO(x, clear_mask, val) \
|
||||
do { \
|
||||
CLR(x, clear_mask); \
|
||||
SET(x, val); \
|
||||
} while (0)
|
||||
|
||||
#define SET_STRIDE_TO(var, stride_width, index, val) \
|
||||
do { \
|
||||
uint32_t mask = (1 << stride_width) - 1; \
|
||||
CLR(var, mask << (index * stride_width)); \
|
||||
SET(var, val << (index * stride_width)); \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user