@} * \addtogroup Utils Utility functions * @{ */ * Function to bit reverse OLD MSB values of e.g. NEC. **********************************************************************************************************************/
| 168 | * Function to bit reverse OLD MSB values of e.g. NEC. |
| 169 | **********************************************************************************************************************/ |
| 170 | uint8_t bitreverseOneByte(uint8_t aValue) { |
| 171 | // uint8_t tReversedValue; |
| 172 | // return __builtin_avr_insert_bits(0x01234567, aValue, tReversedValue); |
| 173 | // 76543210 |
| 174 | aValue = (aValue >> 4) | (aValue << 4); // Swap in groups of 4 |
| 175 | // 32107654 |
| 176 | aValue = ((aValue & 0xcc) >> 2) | ((aValue & 0x33) << 2); // Swap in groups of 2 |
| 177 | // 10325476 |
| 178 | aValue = ((aValue & 0xaa) >> 1) | ((aValue & 0x55) << 1); // Swap bit pairs |
| 179 | // 01234567 |
| 180 | return aValue; |
| 181 | } |
| 182 | |
| 183 | uint32_t bitreverse32Bit(uint32_t aInput) { |
| 184 | // __builtin_avr_insert_bits(); |