X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;ds=inline;f=protocol%2Fps2.c;h=4c6c2fcb27b379b3e37b0f8e8adc5e66e237c5af;hb=c6abcb6d893f6ef843ed98be3d45bd804cfe295a;hp=ed45609104f5be60fc7ae61f91b3cc57ef1df4f3;hpb=7343366d3d962ae1fa8cd3b280f7702396337dbf;p=max%2Ftmk_keyboard.git diff --git a/protocol/ps2.c b/protocol/ps2.c index ed456091..4c6c2fcb 100644 --- a/protocol/ps2.c +++ b/protocol/ps2.c @@ -109,12 +109,12 @@ uint8_t ps2_host_send(uint8_t data) #endif /* terminate a transmission if we have */ inhibit(); - _delay_us(100); + _delay_us(200); // at least 100us /* start bit [1] */ data_lo(); clock_hi(); - WAIT(clock_lo, 15000, 1); + WAIT(clock_lo, 20000, 10); // may take 15ms at most until device starts clocking /* data [2-9] */ for (uint8_t i = 0; i < 8; i++) { _delay_us(15); @@ -167,7 +167,7 @@ uint8_t ps2_host_recv_response(void) idle(); /* wait start bit */ - wait_clock_lo(2000); + wait_clock_lo(25000); // command response may take 20 ms at most data = recv_data(); inhibit();