X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=tmk_core%2Fprotocol%2Fibmpc.h;h=64bc2c8ad428040842d98a9a96e249a24b2c8bf0;hb=bb955a819af89e74843743e268aa7b4ceb06cc4e;hp=fc117f23c174cd8b7d09d0a4df4fd68e6d7419f6;hpb=15ab461f4448372f3f92ff847be87eda68b60c6e;p=max%2Ftmk_keyboard.git diff --git a/tmk_core/protocol/ibmpc.h b/tmk_core/protocol/ibmpc.h index fc117f23..64bc2c8a 100644 --- a/tmk_core/protocol/ibmpc.h +++ b/tmk_core/protocol/ibmpc.h @@ -70,21 +70,29 @@ POSSIBILITY OF SUCH DAMAGE. #define IBMPC_RESEND 0xFE #define IBMPC_SET_LED 0xED -#define IBMPC_PROTOCOL_AT 0 -#define IBMPC_PROTOCOL_XT 1 - -// TODO: error numbers +#define IBMPC_PROTOCOL_NO 0 +#define IBMPC_PROTOCOL_AT 0x10 +#define IBMPC_PROTOCOL_AT_Z150 0x11 +#define IBMPC_PROTOCOL_XT 0x20 +#define IBMPC_PROTOCOL_XT_IBM 0x21 +#define IBMPC_PROTOCOL_XT_CLONE 0x22 +#define IBMPC_PROTOCOL_XT_ERROR 0x23 + +// Error numbers #define IBMPC_ERR_NONE 0 #define IBMPC_ERR_RECV 0x00 #define IBMPC_ERR_SEND 0x10 #define IBMPC_ERR_TIMEOUT 0x20 #define IBMPC_ERR_FULL 0x40 +#define IBMPC_ERR_ILLEGAL 0x80 +#define IBMPC_ERR_FF 0xF0 #define IBMPC_LED_SCROLL_LOCK 0 #define IBMPC_LED_NUM_LOCK 1 #define IBMPC_LED_CAPS_LOCK 2 +extern volatile uint16_t ibmpc_isr_debug; extern volatile uint8_t ibmpc_protocol; extern volatile uint8_t ibmpc_error; @@ -180,11 +188,17 @@ static inline void idle(void) data_hi(); } -/* inhibit device to send */ +/* inhibit device to send(AT), soft reset(XT) */ static inline void inhibit(void) { clock_lo(); data_hi(); } +/* inhibit device to send(XT) */ +static inline void inhibit_xt(void) +{ + clock_hi(); + data_lo(); +} #endif