Remove clear matrix on ADB recv error
parent
7e8a85caad
commit
cb434cfebc
|
@ -100,9 +100,7 @@ uint8_t matrix_scan(void)
|
||||||
} else if (codes == 0xFFFF) { // power key release
|
} else if (codes == 0xFFFF) { // power key release
|
||||||
register_key(0xFF);
|
register_key(0xFF);
|
||||||
} else if (key0 == 0xFF) { // error
|
} else if (key0 == 0xFF) { // error
|
||||||
if (debug_matrix) print("adb_host_kbd_recv: ERROR(matrix cleared.)\n");
|
xprintf("adb_host_kbd_recv: ERROR(%02X)\n", codes);
|
||||||
// clear matrix to unregister all keys
|
|
||||||
for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
|
|
||||||
return key1;
|
return key1;
|
||||||
} else {
|
} else {
|
||||||
register_key(key0);
|
register_key(key0);
|
||||||
|
|
|
@ -40,6 +40,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include <avr/interrupt.h>
|
#include <avr/interrupt.h>
|
||||||
#include "adb.h"
|
#include "adb.h"
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
static inline void data_lo(void);
|
static inline void data_lo(void);
|
||||||
|
@ -93,6 +94,7 @@ uint16_t adb_host_kbd_recv(void)
|
||||||
}
|
}
|
||||||
if (!read_bit()) { // Startbit(1)
|
if (!read_bit()) { // Startbit(1)
|
||||||
// Service Request
|
// Service Request
|
||||||
|
dprintf("Startbit ERROR\n");
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,6 +106,7 @@ uint16_t adb_host_kbd_recv(void)
|
||||||
sei();
|
sei();
|
||||||
|
|
||||||
if (stop) {
|
if (stop) {
|
||||||
|
dprintf("Stopbit ERROR\n");
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
|
|
Loading…
Reference in New Issue