Closed intercreate closed 3 years ago
Hi @intercreate,
Welcome back. Please, let me introduce @NPESTM from our development teams. He will take in charge checking the relevance of what you reported and provide you with his feedback.
With regards,
Hello. We have improved this part already. However our correction is wider. We cannot check for the moment if we solved your issue because of Covid. Once we can find the board setup, we will check if the new version of the library also solves your issue
Hi @NPESTM . Glad to see! I'm looking forward to the next STM32CubeG0 release.
ST Internal Reference: 81830
Hi @intercreate,
The fix of this issue is available in the frame of the v1.4.0 released a few minutes ago on GitHub.
With regards,
Describe the set-up
Describe the bug USB PD uses the CC line bidirectionally. The spec says that the sender must give up the line within 23uS (
tEndDriveBMC
) after the end of the frame.The STMicro library, at least when used with a bare-metal codebase, seems to check the bus at around 10uS.. and only checks it once. If the bus is busy, it just throws the packet away.
This is catastrophic since this can happen when trying to send a GoodCRC message.
How To Reproduce
tEndDriveBMC
time. The https://www.st.com/en/evaluation-tools/p-nucleo-usb002.html is about 17uS and is a good candidate.Additional context This patch below keeps me moving forward. However, I think a better solution is to place a 23uS delay after message received to guarantee that the firmware won't check the CC bus too early.