Add write_iter and endpoint_with_additional_data methods #63
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
USB Audio Class devices (including MIDI devices) extend the endpoint descriptor by two additional bytes, bRefresh and bSynchAddress (c.f. the USB MIDI 1.0 spec on page 25/26).
Currently, usb-device offers no way to create such an endpoint. I've added such a function and also a more generic way to
write()
into the descriptor:write_iter
accepts an iterator instead of a slice, allowing for more flexibility using e.g. chained iterators.I would be happy if this could be merged as it should not cause any incompatibilities.
It would be possible to replace the
endpoint()
method's implementation body by just a call toendpoint_with_additional_data()
with an empty iterator at a tiny runtime cost.If you prefer to have this change as well or have anything else to discuss, please let me know!