04-16-2025 04:09 AM - edited 04-16-2025 04:10 AM
I have created a custom device using "Inline HW Interface" with the "Inline-Async API". I would like to stream lossless(ish) data between "RT Driver VI.vi" and the async VI.
Using the Inline-Async API, the RT FIFO is hardcoded to "Size = 1", with the "Elements in array = #channels" (found in Data Access Engine.lvlib:Read.lvclass:Read.Initialize.vi).
My question is: Is there a way of changing the FIFO size to include a [bigger] buffer as part of the API? Or do I have to re-implement it myself?
I'm quite happy implementing it myself, but I've gone down the route of doing it myself and then finding there's already a tool for that too many times, so I wanted to check first!
Thanks,
Tom
04-16-2025 07:17 AM
Actually for what it's worth, I just created a producer consumer in the async VI (with a local buffer) and so far that's working well enough.
05-07-2025 09:42 PM - edited 05-07-2025 09:44 PM
There is a VI called 'Set FIFO Depth' that you can use in the Initialization VI.
The VI allows you to set the 'Source' and 'Sink' depths. 'Sink' depth sets the RT FIFO Read depth, if I recall correctly.
The VeriStand Engine uses these depths when creating the RT FIFO's.
Edit: Nevermind. I just realized you want the FIFO between the RT Driver VI and the Async VI.