I’m trying to implement a fast data acquisition system using a XEM7310 and I have ended up using a FIFO with BT PipeOut to (hopefully) get better performances than the one I currently get with a simple PipeOut before using the DDR3 as large FIFO.
The BT Pipe works fine but I have noticed some issues with timeout:
- If during a continuos acquisition (i.e. the function ReadFromBlockPipeOut() is called in loop on a dedicated thread) I call ActivateTriggerIn() or SetWireInValue(), often the BTPipeOut stops reading data from the FIFO even though the ep_ready signal is high! This causes the ReadFromBlockPipeOut() to return a timeour error in any of the subsequent calls.
- It looks like there is no way to recover from a Timeout condition of the BTPipeOut once it occurs.
I have understood you don’t recommend using BTPipeOut unless it is strictly necessary, I just wanted to know if the issues I have explained above are well-known issues or if, instead, I might be doing something wrong in my system.
Thank you for your help,