-
Notifications
You must be signed in to change notification settings - Fork 329
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
WebUSB compatibility and example #103
base: master
Are you sure you want to change the base?
Conversation
Hey @riggs , just wondering if you have implemented the MS_OS_20_DESCRIPTOR ? Also for BOS_DESCRIPTOR
and
seems to be a lot more shorter than the WebUSB Arduino 's BOS
Is this pull request the full implementation ? Thanks mate, keep up the good work. Cheers |
@jpliew I've been researching the MS documentation about the MS OS platform descriptor and it's a complicated mess, it turns out. If your device is simple, with a single endpoint, just treating it as a magic number should work. However, I haven't had a chance to integrate & test it, yet. Adding the MS OS descriptor will be simple:
|
Finally working on Windows. @jpliew This is what you were looking for. |
@riggs just tested with ATmega32U2, make successful
However, Windows 8.1 device manager showed the following error message
USBDeview showed the following A good working WebUSB will show the following properties |
I have a product in the wild that has this working and I extracted this example from it, but I clearly missed a part. I should have time this week to take a look at this example and get it fixed up. |
While very long overdue, this is now updated and working. I've even included some JS to demonstrate functionality. It's tested on both Windows & OS X. |
Rebased onto master to accommodate copyright changes. |
Whoops - missed this once again. Happy to merge this in once the documentation issues are fixed - ignore the bootloader build failures in the Drone checks as that's something on my end to fix. |
I'm not super familiar with doxygen, so I'm struggling to see why my
|
Also, both |
Hi, sorry to bother you, but is this still getting worked on? If my understanding is correct, the downstream qmk#8 PR is blocked in favour of waiting for this PR, which also effectively blocks qmk/qmk_firmware#7778. |
@RuRo I have not actively looked at this since the previous issues (the related project was shelved). I remember trying to figure out how to appease Doxygen, but never being able to get it to successfully build. |
…t they are, fundamentally.
… GetDescriptors expects an address in PROGMEM. New macro-based approach hopefully fixes that.
@riggs I've fixed the problems with Doxygen for you and submitted them as a PR to |
2143b51
to
c5dd2a8
Compare
Thanks to @RuRo for figuring out the Doxygen issues and bringing the PR forward. I don't have a device (or Windows box) currently available to verify Windows' view of the demo device, but the example has been tested working previously. |
It's that time of the week, where I go around all the PRs I am participating in and ping everyone! @abcminiuser what do you think about this PR? As I've mentioned previously, this PR is currently effectively blocking some PRs for WebUSB support in qmk/lufa and qmk/qmk_firmware. |
Added support for BOS descriptors and created WebUSB low-level example (needed because WebUSB devices are required to respond to custom device requests).
Perhaps WebUSBDevice.h could live somewhere deeper in the library because it has no need to be in user-land code, but I'm not sure where would be most appropriate, or how to hook it into the build system.