2022-02-28 06:25 AM
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.
2022-02-28 11:04 AM
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
2022-03-01 12:46 PM
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.