#include "bitutility.h" void bitutil::bitSet(uint8_t *byte, uint8_t position) { if(position > 7) { return; } uint8_t shiftNumber = position + (7 - 2 * position); *byte |= 1 << shiftNumber; } void bitutil::bitToggle(uint8_t *byte, uint8_t position) { if(position > 7) { return; } uint8_t shiftNumber = position + (7 - 2 * position); *byte ^= 1 << shiftNumber; } void bitutil::bitClear(uint8_t *byte, uint8_t position) { if(position > 7) { return; } uint8_t shiftNumber = position + (7 - 2 * position); *byte &= ~(1 << shiftNumber); } bool bitutil::bitGet(const uint8_t *byte, uint8_t position) { if(position > 7) { return false; } uint8_t shiftNumber = position + (7 - 2 * position); return *byte & (1 << shiftNumber); }