X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=converter%2Fibmpc_usb%2Fibmpc_usb.c;h=6879bf803c786541016814ae2993d5348f131ae5;hb=d987783c1a28274a2bb35ce59f1de71f143dc0c0;hp=99248d83c301a84159f77a749be3715b664ab768;hpb=9fda70c47666e9730684c2cbf7aafc94cb0725e7;p=max%2Ftmk_keyboard.git diff --git a/converter/ibmpc_usb/ibmpc_usb.c b/converter/ibmpc_usb/ibmpc_usb.c index 99248d83..6879bf80 100644 --- a/converter/ibmpc_usb/ibmpc_usb.c +++ b/converter/ibmpc_usb/ibmpc_usb.c @@ -129,31 +129,26 @@ uint8_t matrix_scan(void) if (ibmpc_error) { - xprintf("\nERR:%02X\n", ibmpc_error); + xprintf("\nERR:%02X ISR:%04X ", ibmpc_error, ibmpc_isr_debug); // when recv error, neither send error nor buffer full if (!(ibmpc_error & (IBMPC_ERR_SEND | IBMPC_ERR_FULL))) { // keyboard init again if (state == LOOP) { - xprintf("init\n"); state = INIT; } } // clear or process error ibmpc_error = IBMPC_ERR_NONE; - } - - // check ISR state debug - if (ibmpc_isr_debug) { - xprintf("\nISR:%04X\n", ibmpc_isr_debug); ibmpc_isr_debug = 0; } // check protocol AT/XT - if (ibmpc_protocol != current_protocol) { - xprintf("\nPROTO:%02X\n", ibmpc_protocol); + if (ibmpc_protocol && ibmpc_protocol != current_protocol) { + xprintf("\nPROTO:%02X ISR:%04X ", ibmpc_protocol, ibmpc_isr_debug); current_protocol = ibmpc_protocol; + ibmpc_isr_debug = 0; } switch (state) { @@ -297,7 +292,7 @@ uint8_t matrix_scan(void) keyboard_kind = PC_AT; } - xprintf("ID:%04X(%d)\n", keyboard_id, keyboard_kind); + xprintf("\nID:%04X(%d) ", keyboard_id, keyboard_kind); state = SETUP; break; @@ -759,10 +754,7 @@ static int8_t process_cs2(uint8_t code) break; case 0xAA: // Self-test passed case 0xFC: // Self-test failed - // reset or plugin-in new keyboard - state = INIT; - return -1; - break; + // replug or unstable connection probably default: // normal key make state = INIT; if (code < 0x80) { @@ -948,7 +940,7 @@ static int8_t process_cs3(uint8_t code) matrix_make(code); } else { xprintf("!CS3_READY!\n"); - //return -1; + return -1; } } break; @@ -992,7 +984,7 @@ static int8_t process_cs3(uint8_t code) matrix_break(code); } else { xprintf("!CS3_F0!\n"); - //return -1; + return -1; } } break;