// Macro to get the value in byte
#define GET_MASK(val, pos, msk) (((val) & ((msk) << (pos))) >> (pos))
// Macro to put the value in byte
#define PUT_MASK(var, val, pos) ((var) | ((val) << (pos)))
// Macro to get the value in byte
#define GET_MASK(val, pos, msk) (((val) & ((msk) << (pos))) >> (pos))
// Macro to put the value in byte
#define PUT_MASK(var, val, pos) ((var) | ((val) << (pos)))