kiffie / usbd-audio

Audio 1.0 USB class for usb-device
MIT License
27 stars 5 forks source link

Synchronization #6

Closed JosefUtbult closed 1 year ago

JosefUtbult commented 1 year ago

Hello again Stephen.

I'm trying to figure out if it's possible to implement an asynchronous feedback channel for synchronizing the host and device clocks, but I have a hard time figuring out how creation of new endpoints and descriptors should work. I'm trying to follow the USB audio class specification, but I can't figure out how it should be translated to code. What material did you follow when you wrote the crate? Do you have any experience in this?

Thanks a lot, and sorry if I'm comming of as a bit intensive.

kiffie commented 1 year ago

I never tried this. I believe it should be possible to create the needed descriptors and to perform the required (ISO) transactions using the usb-device crate. Descriptors are provided by an implementation of the usb_device::class::UsbClass trait. usb_device::endpoint::Endpoint has methods for the actual USB transactions.

In other words, you need to implement a USB class. Reading the doc of usb-device is probably a good starting point.

I hope this helps.

JosefUtbult commented 1 year ago

Cool. I'll see what I can do. Thanks