Skip to main content
Visitor II
February 28, 2022
Question

USB HID device processing of reports is delayed..

  • February 28, 2022
  • 2 replies
  • 1275 views

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.

    This topic has been closed for replies.

    2 replies

    Super User
    February 28, 2022

    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

    RobGAuthor
    Visitor II
    March 1, 2022

    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