ibmpc: Retain recv_data across host_send()
This commit is contained in:
parent
67d37ef7b3
commit
2a0471fdc4
1 changed files with 8 additions and 2 deletions
|
|
@ -153,13 +153,19 @@ RETRY:
|
|||
WAIT(data_hi, 300, 7);
|
||||
WAIT(clock_hi, 300, 8);
|
||||
|
||||
uint16_t d = recv_data;
|
||||
|
||||
// clear buffer to get response correctly
|
||||
recv_data = 0xFFFF;
|
||||
ibmpc_host_isr_clear();
|
||||
|
||||
idle();
|
||||
IBMPC_INT_ON();
|
||||
return ibmpc_host_recv_response();
|
||||
int16_t r = ibmpc_host_recv_response();
|
||||
if (d != 0xFFFF) dprintf("r:%04X ", d);
|
||||
ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
|
||||
recv_data = d;
|
||||
}
|
||||
return r;
|
||||
ERROR:
|
||||
// Retry for Z-150 AT start bit error
|
||||
if (ibmpc_error == 1 && retry++ < 10) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue