ibmpc: Fix Timeout error
Timeout error may be recoverable but may not in some situations. For safety it is handled as a real error to start keyboard recognition again.
This commit is contained in:
parent
fa58765325
commit
4028b200be
1 changed files with 7 additions and 4 deletions
|
|
@ -247,11 +247,14 @@ ISR(IBMPC_INT_VECT)
|
||||||
} else {
|
} else {
|
||||||
// should not take more than 1ms
|
// should not take more than 1ms
|
||||||
if (timer_start != t && (uint8_t)(timer_start + 1) != t) {
|
if (timer_start != t && (uint8_t)(timer_start + 1) != t) {
|
||||||
|
ibmpc_isr_debug = isr_state;
|
||||||
ibmpc_error = IBMPC_ERR_TIMEOUT;
|
ibmpc_error = IBMPC_ERR_TIMEOUT;
|
||||||
//goto ERROR;
|
goto ERROR;
|
||||||
// timeout error recovery by clearing isr_state?
|
|
||||||
timer_start = t;
|
// timeout error recovery - start receiving new data
|
||||||
isr_state = 0x8000;
|
// it seems to work somehow but may not under unstable situation
|
||||||
|
//timer_start = t;
|
||||||
|
//isr_state = 0x8000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue