]> git.donarmstrong.com Git - tmk_firmware.git/commitdiff
Tweak time values of busywait PS/2
authortmk <nobody@nowhere>
Fri, 1 Nov 2013 18:06:51 +0000 (03:06 +0900)
committertmk <nobody@nowhere>
Fri, 1 Nov 2013 18:07:59 +0000 (03:07 +0900)
protocol/ps2.c

index ed45609104f5be60fc7ae61f91b3cc57ef1df4f3..4c6c2fcb27b379b3e37b0f8e8adc5e66e237c5af 100644 (file)
@@ -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();