UAC Composite Device

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi,

   

I am trying to use UVC and UAC composite device in CX3. The UAC device in Windows 10 report error whereas UVC device got driver installed. If I make it as standalone UAC device, it works fine (device driver got installed).

   

 

   

Can you give me descriptor file for UVC and UAC composite device for either high speed or super speed?

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Please try the attached descriptors for a UVC + UAC (Mic + Speaker) device. This descriptor file is created by modifying the descriptors of the SDK example project cycx3_uvc_ov5640 found in the following location:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\cx3_examples

The modifications are made only for super speed configuration descriptors. This can be used as a reference to modify other descriptors. The functionalities and other fields within the descriptors can be modified as needed.

Best Regards,
Jayakrishna

View solution in original post

0 Likes
6 Replies
Anonymous
Not applicable

Please check if you have added Interface association descriptors. If done, and still you see the problem, please share your firmware.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi Nishant,

   

I have added IAD. I am sharing the firmware source. Please note that, I was using High Speed Descriptors. Other descriptors were as it as were the original example.

   

In the high speed descriptors, the order of appearance of devices is UVC then UAC. When we connect it to a Windows machine (I used windows 10), the UVC will get driver installed whereas UAC will show with yellow exclamation mark noting error code 10. It showed "The I/O device is configured incorrectly or the configuration parameters to the driver are incorrect." as the error string.

   

I noticed that if you swap the order of the devices in the descriptors ie first UAC and then UVC , then UAC device got the driver installed . Surprisingly, this time UVC got the problem of error code 10.

   

Please share if you have a working example of composite device in which UAC and UVC are there.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi,

   

Please find the attached UVC + UAC example project. When this project is loaded onto FX3, it will enumerate with both UVC and UAC interfaces on a High-Speed port, as the descriptors are implemented only for High-Speed.  

   

The UAC request handling is not done in this project. You can refer to the 'cyfxuac' example project in FX3 SDK 

   

for handling UAC requests in the firmware.

0 Likes
Anonymous
Not applicable

Hi,

   

Thanks for the firmware.

   

When I compiled and ran it with CX3, I could see one UVC device and one UAC device. However, for the UAC device, I need both speaker and microphone. This is what my original problem is. The firmware I attached in the top has UAC+UVC, in which UAC has both speaker and MIC. That gave me error for UAC. Please share me the firmware which has UVC + UAC where in which UAC has both speaker and MIC.

   

The MIC shall be stereo 16kHZ and speaker to be mono 44.1 kHZ.

0 Likes

I have same question

0 Likes
lock attach
Attachments are accessible only for community members.
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Please try the attached descriptors for a UVC + UAC (Mic + Speaker) device. This descriptor file is created by modifying the descriptors of the SDK example project cycx3_uvc_ov5640 found in the following location:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\cx3_examples

The modifications are made only for super speed configuration descriptors. This can be used as a reference to modify other descriptors. The functionalities and other fields within the descriptors can be modified as needed.

Best Regards,
Jayakrishna
0 Likes