So I am trying to write firmware for an STM32F0303, and I am trying to use USBD_LL_Transmit from the STM32Cube USB device library to send data to the usb host. The only documentation on this function that I can find just says that it "Transmits data over an endpoint". The arguments are pretty straightforward and I can write demo code to call this and get the data that I want on the host end. But this one sentence leaves me with a lot of questions about how to actually use this function in the firmware that I want to write:
- Does this function block until the write to the host is complete?
- If not, how can the firmware that I am writing tell when it is safe to call this function again? And how can it tell when it can overwrite the contents of pbuf without corrupting the transfer?
Is there some documentation that I am missing that goes into more detail about how to use this function?