From a42cc4bddbdfc4a9e3e8b075bb5710873928e220 Mon Sep 17 00:00:00 2001 From: tmk Date: Thu, 23 Jan 2020 23:40:04 +0900 Subject: [PATCH] ibmpc_usb: Fix hard reset code --- converter/ibmpc_usb/config.h | 19 +++++++++++++------ converter/ibmpc_usb/ibmpc_usb.c | 11 +++++++++-- tmk_core/protocol/ibmpc.c | 7 ++----- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/converter/ibmpc_usb/config.h b/converter/ibmpc_usb/config.h index 0198f5e1..6e1331f9 100644 --- a/converter/ibmpc_usb/config.h +++ b/converter/ibmpc_usb/config.h @@ -44,32 +44,39 @@ along with this program. If not, see . * Pin and interrupt configuration */ #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega32U2__) || defined(__AVR_AT90USB1286__) -/* uses INT1 for clock line */ +/* clock line */ #define IBMPC_CLOCK_PORT PORTD #define IBMPC_CLOCK_PIN PIND #define IBMPC_CLOCK_DDR DDRD #define IBMPC_CLOCK_BIT 1 +/* data line */ #define IBMPC_DATA_PORT PORTD #define IBMPC_DATA_PIN PIND #define IBMPC_DATA_DDR DDRD #define IBMPC_DATA_BIT 0 +/* reset line */ #define IBMPC_RST_PORT PORTB #define IBMPC_RST_PIN PINB #define IBMPC_RST_DDR DDRB #define IBMPC_RST_BIT1 6 #define IBMPC_RST_BIT2 7 -/* reset for XT keyboard: low pulse for 500ms and after that HiZ for safety */ -#define IBMPC_RESET() do { \ +/* reset for XT Type-1 keyboard: low pulse for 500ms */ +#define IBMPC_RST_HIZ() do { \ + IBMPC_RST_PORT &= ~(1<