-
Notifications
You must be signed in to change notification settings - Fork 28
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
USB Composite Device Support #58
Conversation
…enhanced flexibility in USB class construction
Hey there! I think I'm open to this, would you mind making this a different constructor, rather than modifying the existing one? This would allow us to avoid a breaking change. |
…rface identification." This reverts commit ba2ac52.
Got it! I've made the requested changes. If I understand correctly, I noticed the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm okay with this, with the caveat that if anyone complains that this breaks their setup, I may revert + yank it.
I am also open to more granular/detailed constructors that allow you to more specifically pick the interface (one closure for picking devices, and a second for picking an interface from the matching device?). I just haven't needed it yet. Feedback is definitely welcome, and I'm not a USB expert either!
Thanks!
|
This pull request aims to expand USB functionality by adding support for a composite USB device.
Motivation
The motivation behind creating a composite USB device is to enable versatile control of my audio device currently under development. In my case:
Details
To implement this, I introduced a closure argument to
new_raw_nusb
, providing flexibility in selecting the interface number fromInterfaceInfo
(commit ba2ac52). However, I recognize alternative methods might exist, and I'm open to feedback on optimal design approaches.Background
As a developer with limited experience in USB standards, I'm aware this approach may not fully align with best practices. If supporting multiple USB classes in a single device proves incompatible with the design goals of this crate, I'm open to revising or abandoning this feature.