I have a few questions about the interupt endpoint. Here is my current setup:
I have my FX2LP configured like so:
Slave FIFO Mode
EP2: OUT BULK
EP6 IN INTERUPT w/ interval of 2
I have an FPGA that is feeding data into the FX2LP sporadically but at least every 20 ms. I want to get the data to the host as fast as possible so that's why I went with the interupt endpoint. In my C# code I'm using
bResult = inEndpoint.XferData(ref inData, ref xferLen);
in a tight loop. I'm under the assumption that XferData will tell the driver to poll every 2 frames and then return the data if there is any. When I run the code I get data for a few seconds but then I start getting error 997 from the endpoint. I try calling inEndpoint.Reset(); when I get an error, but I still seem to keep receiving error 997.
Just posting an update. I actually switched over to using the async api like the streamer example and now it's working awesome. I still get a failed transfer everyonce in a while though which causes me to miss some important packets. Is there a way to diagnose why I'm getting some failed transfers?