We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello all, on my MCB2140 i have installed USb HID example, i try to understand some basic things how it's work.
1) In the current example i set bInterval=0x0A; //10ms, everything else is unchanged. On my sniffer on host side, i read the speed of 127 B/s. So if my bInterval of sending 1 report is 10ms, should i expect the speed to be equal 100*10ms*1B= 100 B/s?
2) Is it poisable to modify this example to support a isochronous transfer or isochronous is only reserved for audio..
> 1) Is this SetupPacket.wValue.WB.L represent the lowest byte of my packet ?
Yes. For Get_Idle request, host passes target report ID to this parameter.
2) What is the purpose of this function ?
Refer to "7.2.3 Get_Idle Request" of the HID spec www.usb.org/.../HID1_11.pdf
Host asks the current value of report interval, set by Set_Idle request or the default.
3) I i want to increse my input report (InReport[64]), should i modify then this function
No. The reasons are twofold, 1) The report interval is set by host using Set_Idle request. Device should follow this order.
2) Windows put Set_Idle( 0 ), indefinite interval, just after enumeration. It means, the device can return input report anytime as it likes. Therefore, the report interval is determined just by bInterval value of the endpoint descriptor.
Tsuneo
Thanks Tsuneo, things are much clear now.