Utility macros. More...
Macros | |
| #define | ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) |
| Get number of elements in array. | |
| #define | BIT(n) (1 << (n)) |
| Create a bit mask. | |
| #define | CLAMP(x, lo, hi) (((x) < (lo)) ? (lo) : (((x) > (hi)) ? (hi) : (x))) |
| Clamp value to range. | |
| #define | HI_BYTE(x) ((u8)(((x) >> 8) & 0xFF)) |
| Get high byte of 16-bit value. | |
| #define | LO_BYTE(x) ((u8)((x) & 0xFF)) |
| Get low byte of 16-bit value. | |
| #define | MAKE_WORD(lo, hi) ((u16)(((u8)(hi) << 8) | (u8)(lo))) |
| Combine two bytes into 16-bit value. | |
| #define | MAX(a, b) (((a) > (b)) ? (a) : (b)) |
| Get maximum of two values. | |
| #define | MIN(a, b) (((a) < (b)) ? (a) : (b)) |
| Get minimum of two values. | |
| #define | NULL ((void*)0) |
| Null pointer constant. | |
Utility macros.
Get number of elements in array.
| arr | Array variable |
Clamp value to range.
| x | Value to clamp |
| lo | Minimum value |
| hi | Maximum value |
Get high byte of 16-bit value.
| x | 16-bit value |
Get low byte of 16-bit value.
| x | 16-bit value |
Combine two bytes into 16-bit value.
| lo | Low byte |
| hi | High byte |