Commit Graph

154 Commits (12e5a3a13eb86852ad58c131e28ba29c5f09bb2d)

Author SHA1 Message Date
tmk 12e5a3a13e xt_usb: Fix XT soft reset
Data line should be hi while Clock line is low
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#keyboard-soft-reset
2020-10-27 02:15:42 +09:00
tmk 6271878a02 vusb: Fix keyboard_protocol and keyboard_idle #547 2020-07-27 10:02:38 +09:00
tmk 12eaedf9cf ibmpc: Change timeout period: 1.0ms to 2.0ms
Timeout error *could*(not always) detects when signal sequence takes beyond 1.0ms.
Now this gives 2.0ms window at least to read signal sequence.
2020-07-05 12:46:47 +09:00
tmk f80601db96 ibmpc: Add Z-150 AT protocol recognition
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#zenith-z-150-beige
2020-05-15 14:32:14 +09:00
tmk 343c32afc6 ibmpc: Fix 'Ack' check of sending data 2020-05-13 23:12:50 +09:00
tmk 54e3c239fc ibmpc: Fix AT 'request to send' signaling
Without this fix Realforce 101 PS/2 fails to receive 'set indicator'
command sometimes when pressing Caps Lock and some keys simultaneously.

before fix:
      ____     ______
clock     \___/
      ________
data          \_______
          | 100|

after fix:
      ____          __
clock     \________/
      ________
data          \_______
          | 100| 100|
2020-05-13 22:32:14 +09:00
tmk c6a6049bc8 ibmpc_usb: Add 'protocol change detection'
for better keybaord hotswap support
2020-05-13 14:47:18 +09:00
tmk 346169c5ed ibmpc: Fix ibmpc_host_isr_clear() 2020-05-12 18:51:39 +09:00
tmk 3e801a63e4 ibmpc: Add debug code for isr_state 2020-05-12 18:50:21 +09:00
tmk 77c5017cb2 ibmpc: Fix buffer full check
recv_data should appear to as 'sstt' when it is full with two data.
Both upper and lower byte should be checked.
2020-05-12 18:28:07 +09:00
tmk 4028b200be 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.
2020-05-12 18:21:40 +09:00
tmk 53d10fe247 ibmpc: Update ERR_FF, ERR_FULL handling 2020-05-11 16:13:47 +09:00
tmk 0cf9dfc888 ibmpc: Add ibmpc_isr_debug to see isr_state 2020-05-11 16:12:36 +09:00
tmk 7c3b669e6f ibmpc: Add handling for erroneous start bit XT(IBM)
This is **not perferred** if it is evitable.
It allows to read start(0) as 1 wrongly at cost of 100us wait.
2020-05-11 16:11:39 +09:00
tmk 9f04146031 lufa: Fix comment on INTERRUPT_CONTROL_ENDPOINT 2020-05-08 22:39:55 +09:00
tmk 820d96bdab core: ibmpc: Check response of set indicator command 2020-05-08 21:48:59 +09:00
tmk 27812520eb core: ibmpc: Add comments on stop bit of Z-150 AT 2020-05-08 21:46:33 +09:00
tmk a7ccdc25b1 lufa: Add comment on INTERRUPT_CONTROL_ENDPOINT
This feature can block other executions and prevents converter
from handling signal.
2020-03-20 14:34:44 +09:00
tmk ab16474335 lufa: Disable SOF interrupt
The interrupt takes 3us every 1ms and can prevent
signal handling of ibmpc converter.
2020-03-20 12:46:48 +09:00
tmk f8685ce694 ibmpc: Fix debug print 2020-03-02 14:11:16 +09:00
tmk 2c9ae5ac95 ibmpc: Protocol detection between AT and XT 2020-03-02 11:04:30 +09:00
tmk 0481aa08e5 ibmpc: Check buffer full and error code FF 2020-03-02 01:48:11 +09:00
tmk 0b1fbeb135 ibmpc: Fix comments 2020-03-02 01:21:04 +09:00
tmk b7412f6228 ibmpc: Add timeout check 2020-03-02 00:14:09 +09:00
tmk 2f640de68d ibmpc: Refactor code 2020-02-29 17:29:55 +09:00
tmk 4588ae8dac ibmpc: Fix debug print and wait time 2020-02-29 17:29:55 +09:00
tmk 9acc900ffb ibmpc: Add two-byte buffer for data received 2020-02-29 17:29:55 +09:00
tmk e89ade52e1 ibmpc: Fix stop bit check code in ISR
removing function call makes prologue/epilogue shorter
2020-02-29 17:29:55 +09:00
tmk a42cc4bddb ibmpc_usb: Fix hard reset code 2020-02-29 17:29:55 +09:00
tmk c2e8c0d43e ibmpc: Change ISR code
It reads data line within 3us
2020-02-29 17:29:54 +09:00
tmk 15ab461f44 ibmpc: Add ibmpc_host_clear_isr 2020-02-29 17:29:54 +09:00
tmk b2fb5b715c ibmpc: Add intruppt disable and enable function 2020-02-29 17:29:54 +09:00
tmk f7b74361a0 ibmpc: Fix START case in ISR 2020-02-29 17:29:54 +09:00
tmk 3e2900dcc8 ibmpc: Read data line earlier in ISR as possible 2020-02-29 17:29:54 +09:00
tmk 6209ceebfb lufa: Rename LUFA_DEBUG to TMK_LUFA_DEBUG 2020-02-09 21:17:52 +09:00
tmk ea1d7ff240 lufa: Update makefile for new LUFA 2020-02-09 21:04:43 +09:00
tmk 28662f2978 lufa: Use the latest LUFA library on github 2020-02-09 21:03:49 +09:00
tmk 4726938779 lufa: Remove old LUFA directory 2020-02-09 21:03:04 +09:00
tmk 91a125baeb lufa: Fix console_putc
buffering before host and hid_listen become ready
2020-02-09 20:53:45 +09:00
tmk c4b8b36950 core: Add IBM PC Keyboard protocol support 2019-12-04 11:34:05 +09:00
tmk 108b0ce8d9 usb_usb: Clean print for debug 2019-09-18 15:29:38 +09:00
tmk f4fd22aaa0 core: Fix ibm4704_send() wait for clock to start 2019-07-12 16:08:05 +09:00
tmk 66e97371ba adb_usb: Fix mouse_init 2019-06-23 15:04:35 +09:00
tmk 814eaa2dff core:adb_usb: Add Extended Mouse Protocol support #274
Also add Kensington Turbo Mouse 5 specific initialization
2019-06-23 15:04:35 +09:00
tmk 8449ad385b lufa: Print TMK version to console 2019-05-29 23:42:56 +09:00
tmk 7412953fee usb_usb: Handle Rollover error
How keyobards report Rollover error:
Cherry: 0101010101010101 https://geekhack.org/index.php?topic=69169.msg2638223#msg2638223
Apple:  0000010101010101 https://geekhack.org/index.php?topic=69169.msg2760969#msg2760969
2019-05-29 15:22:23 +09:00
tmk f3e498590c core: Add hook_usb_startup_wait_loop 2019-05-29 14:50:56 +09:00
tmk d8e304e141 lufa: Startup and suspend loop can be disabled
Startup wait loop is originally intended to start keyboard task loop and
after console output endpoint becomes available. But now that console
output is buffered when it is not available and you don't have to wait
for it to be ready. You can disable the startup wait loop by defining
NO_WAIT_FOR_USB_CONFIGURED in config.h

Suspend loop is used for power saving by making tasks stop while
USB bus is under suspend status. But this may cause problem on some
devices like converter that must keep doing its task to retain
communication with keyboard. The suspend loop can block its task for
around 15-17ms. You can disable the suspend loop  by defining
NO_USB_SUSPEND_LOOP in config.h.
2019-05-10 09:44:59 +09:00
tmk dd7b75040a lufa:usb_usb: matrix_scan() is no longer needed
This is due to SOF timing fix of USB_Host_Shield_2.0.
The matrix_scan() was needed for usb_usb converter to recognize FC660C at startup.
2019-05-10 09:44:59 +09:00
tmk 4e83400fc6 usb_hid: Change to USB_Host_Shield_2.0 of tmk repo
- Fix SOF/Keep Alive start timing
- Disable bus detection during settling after attach
- Remove keyboard LED blinking at configuring
2019-05-10 09:44:59 +09:00