diff --git a/radio/src/bitfield.h b/radio/src/bitfield.h index a820e1997..a0c753e0f 100644 --- a/radio/src/bitfield.h +++ b/radio/src/bitfield.h @@ -33,11 +33,9 @@ inline T bfBit(uint8_t n) return T(1) << n; } -#define BFBIT_GET(y, mask) ( y & (mask) ) #define BFBIT_SET(y, mask) ( y |= (mask) ) #define BFBIT_CLEAR(y, mask) ( y &= ~(mask) ) #define BFBIT_FLIP(y, mask) ( y ^= (mask) ) -#define BF_SINGLE_BIT_GET(y, i) BFBIT_GET(y, bfBit(i)) #define BF_SINGLE_BIT_SET(y, i) BFBIT_SET(y, bfBit(i)) //! Create a bitmask of length 'len'. @@ -75,4 +73,16 @@ inline T bfSet(T to, T from, uint8_t start, uint8_t len) return (to & ~bfMask(start, len)) | bfPrep(from, start, len); } +template +inline T bfBitGet(T y, T mask) +{ + return (y & mask); +} + +template +inline T bfSingleBitGet(T y, uint8_t i) +{ + return bfBitGet(y, bfBit(i)); +} + #endif //BITFIELD_H