Usage of XferData() blocked io function | Cypress Semiconductor
Usage of XferData() blocked io function
I and my colleague are developing an usb peripheral using CY3014 FX3 chip. We've just began and tried to build a dummy application to warm up. My colleague, he wrote FPGA code generating dummy data sequentially and I wrote a test pc application to read them.
Using CCyUSBEndPoint::XferData() method, we succeeded to read 7~8 subsequent data but failed then. The method was blocked and released after ~5 seconds with 'false' returned. It supposed to read data every second.
My question is : what happened if the XferData() method is called when the buffer is empty and the buffer is filled right after. It's my first time writing peripehral application and I expected something like socket i/o : blocked when the buffer is empty and released right after data arrived.