/* * Shift Register helper function * shifts one array around one bit and appends value */ void shiftRegister(uint8_t *array, uint8_t value) { int len = (WIDTH * HEIGHT / 8) - 1; for(int i = 0; i < len; i++) { array[i] = (array[i] >> 1) | ((array[i+1] & 1) << 7); } array[len] = (array[len] >> 1) | (value > 0 ? 1 << 7: 0); }