Alternating zeros in ReadFromPipeOut (Labview)

I’m using Labview to call ReadFromPipeOut however my returned array is 0xF, 0x0, 0xF, 0x0… when I’m assigning 0xFFFF to the pipe. Here is a snippet from my HDL:

okPipeOut epA0 (
.ti_clk(ti_clk), .ti_control(ti_control), .ti_data(ti_data),
.ep_addr(8’ha0), .ep_read(pipeO_read), .ep_datain(16’hffff));

I’m loosing the upper 8 bits and getting back a zero. I’m pulling my hair out on this one since I had this working a long time ago with the XEM3001v1 however I now use an XEM3010 with the latest firmware.

Never mind, I just found the problem.


I’m trying to do the same from streaming data from my fifo, but data read out from labview always empty although I could see the data (epA0pipe) into the ep_dataIn of okpipeout port at the scope.

okPipeOut port map (ok1 => ok1, ok2 => ok2, ep_addr => x"A0", ep_datain => epA0pipe, ep_read => epA0read);

Do you have suggestion as what could possibly be the cause of the problem?
I have attached a glimpse of the labview vi here.


okpipe.JPG (86.2 KB)

ReadFromPipeOut requires, as input, a pointer to a buffer that will contain the data it will read. I don’t understand LV well, but can you tell me where in your LV this buffer is allocated and how the pointer to this buffer is passed to the API?