You are here

USB HID feature reports | Cypress Semiconductor

USB HID feature reports

Summary: 3 Replies, Latest post by HIMA on 22 Nov 2016 10:36 PM PST
Verified Answers: 1
Last post
Log in to post new comments.
mchinen_1979881's picture
User
2 posts

I have a project based on the USB_FS example that has a HID descriptor that describes an input and a feature report.  This is a HID compliant custom device.

There is support to send the input reports using EP1+, using USBFS_LoadInEP, but not to send the feature report, which should be sent on EP0.  I did some searches on this that yielded results from 5 years or more back saying there is no way to do this, but it is being worked on.

So, what is the current state?  Is there a way to do this?  This seems like a fairly common usage of HID, so I'm surprised if it is not implemented.

HIMA's picture
Cypress Employee
203 posts

Hello

USBFS has the capability to send the feature report via control endpoint. "7.2.1 Get_Report Request " in the USB specification will be handled by the component. 

Can you confirm if this answers your query.

Thanks,

Hima

mchinen_1979881's picture
User
2 posts

Thank you, but this does not answer my question.  Although, I think I have a workaround.  I created a USBFS project that had a feature report in the descriptor, and saw that it created some buffers for the feature report.  I simply modified the buffer using static initialization values.

Can you describe what GUI or api I can use to modify the feature report data at runtime?  For example, input reports can use USBFS_LoadInEP.  Say I have a feature report that contains polling update rate in milliseconds - If I wish to update the feature report data after the initial report that is handled by Get_ReportRequest, (for example, change the ms polling rate from 100 ms in the initial feature report down to 10ms), what should I do?

HIMA's picture
Cypress Employee
203 posts

Hello

Can you please confirm if you need the API to sent the updated feature report from the host side?

If yes you might be able to do that by using the Windows HID library API's. Please have a look at the API https://msdn.microsoft.com/library/windows/hardware/ff539684.

From device side you can use the API USBFS_FindReport().

Thanks,

Hima

Log in to post new comments.