When using the PipeIn VI within LabView 11, I?m sending 8-bit string characters to the Opal Kelly XEM5010 board. If the 8-bit character happens to be a 0 (the ASCII NUL character), the LabView interface or the PipeIn .DLL sees this as an “end of transmission” character and will not pass the remainder of the string characters on to the FPGA. This problem is documented on the LabView web site. The LabView recommended solution is to use a byte array. However, the PipeIn API for LabView only supports character strings. Has anyone come up with a solution or workaround for this issue with LabView and the API DLL to the Opal Kelly XEM5010 board?
The FrontPanel API pipe calls do not consider the contents of the unsigned char array in any way. A 0 is the same as a 1 or a 2 or any other value.
For whatever reason, LabView is doing this conversion incorrectly.
After looking at the PipeIn and PipeOut VIs, I was able to change the Input and Output Data types on the VI’s diagram page from Strings to Unsigned 8-bit Byte format. I then connected the new Data IN and Data Out U8 front panel controls & indicators to the VI’s connector panel, saved the changes, and both VI’s now work with the NUL character (0). I should have know how to do this before I posted the problem. Maybe this will help others down the line.