cancel
Showing results for 
Search instead for 
Did you mean: 

Larger HID report greater than 8 bytes

RobG
Associate III

I am running interrupt data transfer in HS mode (with ULPI chip, and can do see interrupts at the HS rate of 8kHz). So I can get an HID report of 8 bytes, but I can get above that. I set the USB end point descriptor to 16 was 8. I added one byte to my report by incrementing a report count for an 8 bit field. And changed USBD_HID_SendReport to send 9 bytes. This worked as I slowly went from 4 bytes in the mouse example to 8 bytes, but I can't get above that.

For those familiar with BusHound it is reporting babble detected when a report should be sent back.

Thanks in advance

3 REPLIES 3
Pavel A.
Evangelist III

Babble means that your device sends more than host expects, Have you adjusted the HID report descriptor to let the host know your increased report size?

-- pa

Hi Pavel,

Yes, I had. But you are also correct (I think) it was sending more data than the host expected. I still had the descriptor marked as subclass boot and interface mouse. Setting to no boot and none and I can increase my report size.

However, the next issue seems to hit around 512 bytes. Actually it happens at 509. Bushound appears to show everything correct (even for larger reports), but the user interface seems to go haywire. Mouse controls don't work; mouse is blinking and clicks do nothing. Keyboard also appear unresponsive. If I unplug my device I get my controls back. Plug it in and they are gone. Is this a symptom of a almost overloaded bus?

Thanks,

Rob

RobG
Associate III

Now you are right Pavel. Going above 509 was a report to small issue. My report is 509 bytes. However at 509 (508 ok) I guess position interference with the mouse. I slowed the report to 1 second and every second the mouse just to the left on the screen. Not sure if this is me or a host (Windows 10) side issue.