You are here

CyAPI.lib to FX3 Clarification | Cypress Semiconductor

CyAPI.lib to FX3 Clarification

Summary: 1 Reply, Latest post by Madhu Sudhan on 18 Dec 2015 01:31 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
benjamins_1541301's picture
4 posts

I have a question about the CyAPI.lib and communication to the FX3. I understand that USB 3.0 splits bulk transfers into packets with payloads of 1024 bytes each. I also understand that when a partial payload, or empty payload is received the receiver (in my case the FX3) knows the bulk transfer is complete. I just want to make sure I understand how this is handled.

If I call XferData() from the CyAPI.lib on the host, and pass in a buffer of data to send that has more than 1024 bytes in it, will the CyAPI.lib automatically begin a bulk transfer, split the buffer into packets, and send an empty packet at the end?

Also, does this mean that the FX3 knows (or will know when it receives the empty packet), how long the buffer of data was that I passed in to XferData()?

mady's picture
Cypress Employee
964 posts


When you send 1024 Bytes or any other multiple of 1024 bytes (not equal to 16K), you need to send send a Zero length packet manually to indicate the transfer has ended.

CYAPI does not send this ZLP automatically.


- Madhu Sudhan

Log in to post new comments.