From: tmk Date: Thu, 1 Mar 2018 17:31:44 +0000 (+0900) Subject: xt_usb: Read data earlier as possible in ISR X-Git-Url: https://git.friedersdorff.com/?a=commitdiff_plain;h=ea004061a55033aa5e940c31e34bcdcf4dc0fed3;p=max%2Ftmk_keyboard.git xt_usb: Read data earlier as possible in ISR --- diff --git a/tmk_core/protocol/xt_interrupt.c b/tmk_core/protocol/xt_interrupt.c index 8c8408ba..5531464d 100644 --- a/tmk_core/protocol/xt_interrupt.c +++ b/tmk_core/protocol/xt_interrupt.c @@ -93,17 +93,18 @@ ISR(XT_INT_VECT) } state = START; static uint8_t data = 0; + uint8_t dbit = data_in(); // This is needed if using PCINT which can be called on both falling and rising edge if (clock_in()) return; switch (state) { case START: // ignore start(0) bit - if (!data_in()) return; + if (!dbit) return; break; case BIT0 ... BIT7: data >>= 1; - if (data_in()) + if (dbit) data |= 0x80; break; }