cypress cx3 usb dont support hid interrupt out under superspeed.

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

cross mob
lock attach
Attachments are accessible only for community members.
huzh_4696786
Level 1
Level 1

dear cypress experts

good day

regarding cx3 we are trying to use UVC and HID function,   we need HID function with set report and with interrupt out endpoint to get date from host.

please help to guide me how to implement this , i am refering CX3 HID example.

so far when try to add one interrupt out, window 10 will not recognize this device?

could you pls urgently help on this implementation?

br

jacky hu

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

I have modified the OV5640 firmware by adding the default mouse demo firmware of the SDK. You can read the readme.txt file of mouse demo firmware of HID

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

The device enumerates with two interface UVC and HID interface. The endpoint here used is Interrupt IN you can modify the functionality of this according to your application.

The HID class requests are handled for mouse demo project, you can modify this according to your application. This firmware is just for your reference You can use dscr.c file of this project and change the interrupt endpoint to OUT.

This firmware is tested for proper enumeration (WIn 10)

uvc_hid.png

Please let me know if any queries on this

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
8 Replies
lock attach
Attachments are accessible only for community members.
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

I have modified the OV5640 firmware by adding the default mouse demo firmware of the SDK. You can read the readme.txt file of mouse demo firmware of HID

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

The device enumerates with two interface UVC and HID interface. The endpoint here used is Interrupt IN you can modify the functionality of this according to your application.

The HID class requests are handled for mouse demo project, you can modify this according to your application. This firmware is just for your reference You can use dscr.c file of this project and change the interrupt endpoint to OUT.

This firmware is tested for proper enumeration (WIn 10)

uvc_hid.png

Please let me know if any queries on this

Regards,

Rashi

Regards,
Rashi
0 Likes

dear RashiV

GOOD DAY

thanks for your quick feedback and your sharing code.

yes, i have done related porting from hid to uvc project already.

so far the main issue is that after i set report from host according to usb hid spec.

then i cannot transfer the data into interrupt output endpoint.  do you know what's wrong?

could you pls have a trial on this feature to know whether the set report and related interrupt output endpoint could get data from host?

great thanks

br

alvin hu

0 Likes

Hello Alvin hu,

Please share your firmware with the modification you have done to get the report descriptors through Interrupt OUT endpoint (host).

Also, probe the USB lines using Wireshark analyzer and share the traces for us to check.

Regards,

Rashi

Regards,
Rashi
0 Likes

dear Rash,

for video and HID composite device,     could we send the HID stream directly?  so far we need start video player to trigger the HID  input report date?

seem UVC device is blocking interface of HID stream,   could you pls provide some advices witthout videoplayer application trigger,  just send the data continously?

great thanks

br

alvin hu

0 Likes

Hello Alvin Hu,

Just to confirm once again, how is the report time to be sent so that i can help you better. Is it from Device to Host or from Host to Device?

seem UVC device is blocking interface of HID stream,   could you pls provide some advice without video player application trigger,  just send the data continuously?

>> Please let me know more about the application. When should the HID interface start streaming? Is there something specific time or it should be randomly start.

seem UVC device is blocking interface of HID stream

>> To confirm this please probe usb line using Wireshark analyser and share the traces (.pcap) file

Regards,

Rashi

Regards,
Rashi
0 Likes

dear Rash,

Just to confirm once again, how is the report time to be sent so that i can help you better. Is it from Device to Host or from Host to Device?

--->  including HID AND UVC,   so far i only want to sent HID data from device to host.  dont need send video ,  i want to use one HID host application to read/write as well.

seem UVC device is blocking interface of HID stream,   could you pls provide some advice without video player application trigger,  just send the data continuously?

>> Please let me know more about the application. When should the HID interface start streaming? Is there something specific time or it should be randomly start.

HID application:  USB HID demonstrator,  use window readfile/writefile to read write.

br

alvin hu

0 Likes

dear rash

so which host application you recommended for HID testing ?

0 Likes

Hello Alvin Hu,

We do not have host application for HID read/write but you develop your custom application to communicate with the HID interface. You can use the Extension Unit feature of UVC and send vendor-specific requests to trigger the HID interface and sent HID data from the device to the host. Please refer to AN75779 to know more about the extension unit application and its working.

The sample host application to communicate with Extension Unit application is attached with this thread UVC Extension unit

An example code CX3 + Extension Unit is attached with this thread

The code can be merged with HID interface and then try sending trigger using a host application. For the testing purpose please keep the report descriptors as in the mouse demo example of the firmware and send the data (this won't need a host application to read HID data) as done in the example just to check that pointer makes the arc and UVC don't stop the HID interface.

Regards,

Rashi

Regards,
Rashi
0 Likes