tmk
bff5cff1f2
ibmpc: ISR optimization
2021-07-06 23:24:59 +09:00
tmk
848cac6eb2
ibmpc: busy wait only first time
...
This is not tested well yet
2021-07-06 23:24:59 +09:00
tmk
f4f47aaee7
ibmpc: C++ class for two-interface support
2021-07-06 23:24:59 +09:00
tmk
106a18caf6
lufa: Add Boot protocol support for mouse
2021-06-29 20:36:59 +09:00
tmk
5948ea0ac6
lufa: Integrate EXTRAKEY into MOUSE interface
2021-06-29 20:36:59 +09:00
tmk
d5bdc55b17
lufa: Integrate NKRO into infterface 0
...
Build options for Keyboard:
NKRO_ENABLE - NKRO shares interface 0 with Boot/6KRO
this can save Endpoint resources of MCU
NKRO_6KRO_ENABLE - NKRO has its own interface
this is equivalent to old NKRO impl.
Otherwise - Boot/6KRO interface 0 only
2021-06-29 20:31:44 +09:00
tmk
a532b426c4
adb: Add reset() and reset_hard()
2021-06-22 11:46:50 +09:00
tmk
c3a0141878
ibmpc: Replace unit16_t recv_data with ringbuf
2021-06-22 00:33:40 +09:00
tmk
d13ce4d06f
ibmpc: Inhibit device while buffer is full
2021-06-22 00:33:40 +09:00
tmk
22b6e87f37
ibmpc: Revert 2a0471fd on ibmpc_host_send()
...
Restoring old recv_data can overwrite response data when the response is
multi-byte. This can happen when device responds with multiple bytes quickly,
for example Logitech MX518(PS/2) sends FA 00 in short period to F2 command
while most of devices doesn't send second byte that fast.
recv_data is cleared when calling ibmpc_host_send() you will have to
retain the data yourself before calling it. Or you have to make sure
that recv_data is empty as possible before calling the function.
Alternatively, ibmpc_host_send() can be changed to check if recv_data is
empty before seding command.
2021-06-22 00:33:40 +09:00
tmk
4ed3e40fc0
lufa: Boot support for mouse extended report #692
2021-06-22 00:02:16 +09:00
Ethan Halsall
9b77bf9295
lufa: Update mouse descriptor for 16 bit #692
...
Squashed commit from: https://github.com/tmk/tmk_keyboard/pull/692
2021-06-22 00:02:16 +09:00
tmk
2a0471fdc4
ibmpc: Retain recv_data across host_send()
2021-06-03 01:17:48 +09:00
tmk
67d37ef7b3
ibmpc: Retry for start bit error of Z-150 AT #661
...
This is fix for Zenith Z-150 AT. Root cause is still
not clear but retrying works well somehow.
https://github.com/tmk/tmk_keyboard/issues/661#issuecomment-772298392
Add checking isr_state and line state before sending data
2021-06-03 01:17:48 +09:00
tmk
0a1dcacbfd
ibmpc: Fix ACK check in host_send() for Z-150 AT #661
...
Zenith Z-150 AT doesn't seems to place ACK signaling normally.
https://github.com/tmk/tmk_keyboard/issues/661#issue-743168434
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#zenith-z-150-beige
IBM genuine PC host checks data line only, not clock on ACK. In this
case Z-150 AT ACK signaling can be handled.
http://www.halicery.com/Hardware/Intel%208042%20and%208048/8042_PS2_INTERN.TEXT (026C:)
http://halicery.com/8042/8042_1503033.TXT (0274:)
Place 'inhibit' on lines for long enough to cancel current state and
recovery from ERROR but not sure this really helps.
2021-06-03 01:17:48 +09:00
tmk
2b74203bd7
usb_usb: Update USB_Host_Shield_2.0
...
Fix for STALL at GET DESCRIPTOR(CONFIGURATION)
https://github.com/tmk/USB_Host_Shield_2.0/issues/4
2020-12-24 23:19:36 +09:00
tmk
7e268c8c12
ibmpc: Add adhoc fix for Z-150 AT send
...
This is not confirmed yet, test report is needed.
2020-11-22 21:26:54 +09:00
tmk
97782dd59e
usb_hid: Update and fix USB Host Shield lib
...
- Fix TOGGLE Error
- Fix HUBPRE
- Update from upstream repo
2020-11-06 00:22:10 +09:00
tmk
d7548097fc
usb_hid: Update arduino cores to 1.8.13
2020-11-06 00:19:34 +09:00
tmk
78e05bd172
usb_hid: Delete arduino cores 1.0.1
2020-11-06 00:18:47 +09:00
tmk
842b3f29b6
ibmpc: Fix XT reset comment and add inhibit_xt()
2020-10-27 02:33:33 +09:00
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