Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix: SET_IDLE uses wValueH for duration, not wValueL #310

Merged
merged 1 commit into from
Jul 23, 2021

Conversation

mdevaev
Copy link
Contributor

@mdevaev mdevaev commented Jul 23, 2021

Hello again :)

I found out that the duration in the SET_IDLE request is actually responsible for the highest byte, not the lowest. Here is an excerpt from the standard:
image

image

To verify this, I used USBCV, the official tool for testing compliance with USB standards. Without this patch, the "Idle Test" was a failure, everything works as it should with the patch.

PS: Soon I will bring you a whole pack of new fixes to comply with the HID standard.

@NicoHood
Copy link
Owner

NicoHood commented Jul 23, 2021

Thanks for reporting. I think this also needs to get fixed in the upstream HID core (AVR and all other MCU variants such as ARM as well):
https://github.com/arduino/ArduinoCore-avr/blob/master/libraries/HID/src/HID.cpp#L131

@per1234 Could you have a look at this?

Very excited for all the other fixes!

@NicoHood NicoHood merged commit 16ff5b4 into NicoHood:master Jul 23, 2021
@mdevaev
Copy link
Contributor Author

mdevaev commented Jul 23, 2021

Yep, good idea. I sent PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants