cancel
Showing results for 
Search instead for 
Did you mean: 

USB HID device processing of reports is delayed..

RobG
Associate III

I am running on a STM32F405 with Cube V1.23.0.

I have an HID (actually PID in and out endpoints) device using interrupt transfer for both the out and in messages. This is a High Speed device using the ULPI interface.

The out messages has a report type byte (0x0A) and then a 32 bit counter incremented by one each time the host sends data. The in message has a one bye report type (0x0B) a 32bit send count and the last out report processed.

I have included a capture from BusHound. Starting at the beginning the host sends packet 0x0AD4 and the device returns that it just processed 0x0AD2. I could see this being 0x0AD3 if it didn't have time to process the last report. But 0x0AD4 puts it at least a packet behind.

Thanks in advance for your help.

2 REPLIES 2

What you see in a software analyzer at the host end may be consequence of lag on the host side - bandwidth and latency are two very different things. You should observe data directly on the bus.

JW

RobG
Associate III

Haven't had problems like this before with BusHound, but good catch. Don't trust BusHound. I tracked down our Beagle USB 480 Protocol analyzer. I am still off by one, but not two.

0693W00000Kb2OdQAJ.png