-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Description
I have a CDC device that wasn't working. After some debugging in the CDC driver code, I realised that the IN and OUT interfaces were mixed up. The code assumes the order is always the same.
I rewrote it to be like this;
int numberEndpoints = mDataInterface.EndpointCount;
for(var i=0;i<=numberEndpoints-1;i++)
{
var endpoint = mDataInterface.GetEndpoint(i);
if(endpoint.Type == UsbAddressing.XferBulk
&& endpoint.Direction == UsbAddressing.In)
{
mReadEndpoint = endpoint;
}else if(endpoint.Type == UsbAddressing.XferBulk
&& endpoint.Direction == UsbAddressing.Out)
{
mWriteEndpoint = endpoint;
}
}
so the ordering of the interfaces no longer matters, it should resolve the In and Out interfaces according to their direction.
Hope this helps someone else stuck with this.
Metadata
Metadata
Assignees
Labels
No labels