Interrupt Endpoint w/ C# API

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 Hello,

   

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.

   
     So my questions are, what does error 997 stand for, and why am I getting error 997? Shouldn't the driver just sit there polling until some data is received?   
   
        
   
    Thanks,    
Raul   
0 Likes
1 Reply
Anonymous
Not applicable

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?

   

 

   

Thanks,
Raul

0 Likes