March 16, 2025

Black Pill boards - F411 USB -- things to do

-- Look into endpoint 0 read/write -- why is it handled separately?

-- Look at the prepare for Rx routine, how is the buffer data moved?

-- Look at device registers and hardware things.

-- Look at device initialization.

-- What happens when we are writing and nobody is listening? Our writes don't block, but data doesn't get sent either. What happens to the data? Can we detect that there is actually no connection? This ought to be done with further experimenting with a linux C program listening.

-- The CDC class was really designed for modems. As a result it uses a second endpoint for status signaling. The little USB to serial boards use only one endpoint and announce themselves differently during enumeration. Why not enumerate like one of these and do away with the extra endpoint. Does our VCP driver ever even do anything about possible data on the signaling endpoint? I looked into some of this once when I was doing things with "papoon".

-- what about having two USB devices (for chips like the F429 where we do have two of them (one FS and one HS). Does the driver need rework to support this? Is this all handled nicely now via the pdev structure?


Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org