Help: Labview API for BT PipeOut

I suspect that there is a mismatch between pipe-related function prototypes and LabView library provided with software release since both ReadFromPipeOut and ReadFromBlockPipeOut prototypes seem to be missing
some of the parameters such as length and blocksize. My Opal Kelly XEM3005 package came with the ReadFromPipeOut API and I created my own ReadFromBlockPipeOut API from the prototype but neither VI shows terminals other than epAddr and return value.

If I try to execute them nonetheless, I get following error message before Labview crashes down:

"Error 1097 occurred at Call Library Function Node in>

Possible reason(s):
LabVIEW: An exception occurred within the external code called by a
Call Library Function Node. The exception may have corrupted LabVIEW’s
memory. Save any work to a new location and restart LabVIEW."

Has anyone successfully implemented this functionality? I would appreciate any help I can get.


I was able to figure out the solution. Essentially, there is a mismatch between function prototypes provided within the DLL and sample sub-VIs. Also, me being new to LV, it took me sometime to figure out how to display missing connectors in some of the VIs and add new sub-VI using old templates. Since OK suport for LB and Matlab is still evolving, I would suggest some sort of version control to avoid unecessary confusion. Thanks.

I’ve modified the PipeTest design so that there is a free running counter attached to the data to the BTBlkPipeOut bus.

I’ve added a LabView interface to read the data from the BTPipeOut. I notice that the “FunctionReturn” parameter is always as expected (i.e. give the correct number for expected length of bytes to be received), but the actual data the I get is always some random size - never the full amount expected. Any one else using Labview seen this?