How to read data from Endpoint of a CY7C68001 ? | Cypress Semiconductor
How to read data from Endpoint of a CY7C68001 ?
I am using a CY7C68001 that i access from a FPGA.
I use the standard endpont settings as below:
EP2 Bulk OUT, 512 bytes/packet, 2x buffered
EP4 Bulk OUT, 512 bytes/packet, 2x buffered
EP6 Bulk IN, 512 bytes/packet, 2x buffered
EP8 Bulk IN, 512 bytes/packet, 2x buffered
I have managed to write down the descriptor to the chip and it does also enumerates
when the USB connector is connected to my PC.
I have managed to send data from my FPGA via the cypress chip using Endpoint 6.
I receive the data in my PC in my own VB program that uses the CyUSB driver.
Now, my problem is that i just does not understand how to receive data in the FPGA
when data is sent in the opposite direction (PC->FPGA) using Endpoint 2.
My questions are:
I send smaller batches of data than the buffer size of 512 bytes.
I plan to use the empty flag to check if there is any data in the endpoint buffer.
How do i know how many data bytes to read from the buffer?
Or must i alwayas read all 512 bytes and then myself figure out how much useful data i received?
When i have read data from the Endpoint buffer, how do i tell the cypress chip that i am ready
with the endpoint buffer and it can be used for the next batch of data?
Any help would be helpful.