USB HID feature reports

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

cross mob
Anonymous
Not applicable

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.

0 Likes
4 Replies
himam_31
Employee
Employee
50 likes received 25 likes received 10 likes received

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

0 Likes
Anonymous
Not applicable

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?

0 Likes
himam_31
Employee
Employee
50 likes received 25 likes received 10 likes received

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

0 Likes
Kokodude
Level 1
Level 1
First solution authored 5 replies posted First reply posted

I wish there were some type of guide with code examples that show how to handle Get Report Response.
It's very frustrating for someone that's new to PSOC USB design.

0 Likes