55static const uint8_t bitrev_lookup_table[256] = {
56 #define R2(n) n, n + 2*64, n + 1*64, n + 3*64
57 #define R4(n) R2(n), R2(n + 2*16), R2(n + 1*16), R2(n + 3*16)
58 #define R6(n) R4(n), R4(n + 2*4), R4(n + 1*4), R4(n + 3*4)
59 R6(0), R6(2), R6(1), R6(3)
68 return bitrev_lookup_table[byte];
75 for(i = 0; i < len; i++) {
76 data[i] = bitrev_lookup_table[data[i]];
84 for(i = 0; i < len; i++) {
85 output[i] = bitrev_lookup_table[
input[i]];
Bit reversal library header.
uint8_t bitrev_byte(uint8_t byte)
Reverse the bits in a single byte.
void bitrev_array_copy(const uint8_t *input, uint8_t *output, size_t len)
Reverse bits in all bytes of an array (copy to output)
void bitrev_array(uint8_t *data, size_t len)
Reverse bits in all bytes of an array (in-place)
static void input(void)
Process a received 6lowpan packet.