AnsweredAssumed Answered

USB transfer multiple of packet size

Question asked by feichtinger.peter on Jun 14, 2014
Latest reply on Jun 19, 2015 by Strawbot
I don't know whether this is related to the STM32CubeF4 package or the STM32F407 so I'll post here.

I'm using the STM32F4 discovery board and the onboard USB FS port.
I wrote a VCP interface that lets me send a buffer of any length (basically just expanded the CDC example), but when I try to send a buffer with a length which is a multiple of the FS max packet size (64 bytes) the data is not transferred immediately but only on the next call to USBD_LL_Transmit (which in turn calls HAL_PCD_EP_Transmit).
I tested this with 64 and 128 byte buffers.

Am I doing something wrong here, is this a known bug or a new bug?
And is it more likely related to the STM32CubeF4 or the chip itself?

What I already did is look through the HAL firmware code but as far as I can see there's no rounding errors or similar that would cause such an issue...

Outcomes