aboutsummaryrefslogtreecommitdiff
path: root/software/shift.ino
diff options
context:
space:
mode:
Diffstat (limited to 'software/shift.ino')
-rw-r--r--software/shift.ino14
1 files changed, 5 insertions, 9 deletions
diff --git a/software/shift.ino b/software/shift.ino
index 20c1123..d8062af 100644
--- a/software/shift.ino
+++ b/software/shift.ino
@@ -9,22 +9,18 @@ unsigned char shift_state[2];
void update_shift_state() {
for(int i = 0; i < 2; i++)
shift(shift_state[i]);
-}
-void shift(unsigned char data) {
- // pull down latch
+ digitalWrite(PINOUT_LCK, HIGH);
digitalWrite(PINOUT_LCK, LOW);
+}
+void shift(unsigned char data) {
for(int i = 0; i < 8; i++) {
- bool bit = (data & 1 << i) > 0;
+ bool bit = (data & 1 << (7 - i)) > 0;
- // write bit and pulse serial clock
digitalWrite(PINOUT_SER, bit);
+
digitalWrite(PINOUT_SCK, HIGH);
- delayMicroseconds(CONFIG_SRSER_DELAY);
digitalWrite(PINOUT_SCK, LOW);
}
-
- // pull up latch
- digitalWrite(PINOUT_LCK, HIGH);
}