X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fmacros.h;h=4f77b21e6c6c7227492156dea2329e59b9e6f6cf;hb=0f392f2c1c70334dce10428ff39d4d4e6f8b681c;hp=9e8139688402d4e64d51c6e5e6dacb8b96149235;hpb=9a5999eef8da573fca01ea4b525b0eb39318eb87;p=bertos.git diff --git a/bertos/cfg/macros.h b/bertos/cfg/macros.h index 9e813968..4f77b21e 100644 --- a/bertos/cfg/macros.h +++ b/bertos/cfg/macros.h @@ -154,6 +154,12 @@ (b) = tmp; \ } while (0) +/** + * Reverse the bits contained in b (LSB becomes the MSB and so on). + * \note \a b is evaluated twice + */ +#define REVERSE_UINT8(b) \ + ((uint8_t)((((b) * 0x0802UL & 0x22110UL) | ((b) * 0x8020UL & 0x88440UL)) * 0x10101UL >> 16)) #ifndef BV /** Convert a bit value to a binary flag. */