Browse Source

Use the method suggested by @reywood

skullY 7 years ago
parent
commit
38b6e5f13c
1 changed files with 4 additions and 4 deletions
  1. 4 4
      keyboards/clueboard/2x1800/2019/2019.c

+ 4 - 4
keyboards/clueboard/2x1800/2019/2019.c

@@ -31,7 +31,7 @@ void matrix_init_kb(void) {
 }
 
 #ifdef SHAKE_ENABLE
-uint8_t tilt_state[2] = {1,1};
+uint8_t tilt_state = 0x11;
 uint8_t detected_shakes = 0;
 static uint16_t shake_timer;
 #endif
@@ -40,14 +40,14 @@ void matrix_scan_kb(void) {
 #ifdef SHAKE_ENABLE
     // Read the current state of the tilt sensor. It is physically
     // impossible for both pins to register a low state at the same time.
-    uint8_t tilt_read[2] = {readPin(SHAKE_PIN_A), readPin(SHAKE_PIN_B)};
+    uint8_t tilt_read = (readPin(SHAKE_PIN_A) << 4) | readPin(SHAKE_PIN_B);
 
     // Check to see if the tilt sensor has changed state since our last read
     for (uint8_t i = 0; i < 2; i++) {
-        if (tilt_state[i] != tilt_read[i]) {
+        if (tilt_state != tilt_read) {
             shake_timer = timer_read();
             detected_shakes++;
-            tilt_state[i] = tilt_read[i];
+            tilt_state = tilt_read;
         }
     }