AnsweredAssumed Answered

iio_buffer_push - returns negative value after fourth execution

Question asked by Matt139 on Aug 2, 2018
Latest reply on Aug 9, 2018 by Matt139

Dear All

 

We are trying to adopt example

libiio/ad9361-iiostream.c at master · analogdevicesinc/libiio · GitHub 

with our bitstream.

We decided to test only TX, so almost every element with RX has been commented and not compiled.

 

We succesfully activated all 4 channels (we see full 64 bits with our data inside FPGA via debgug with JTAG):

 

((int16_t*)p_dat)[0] = d/256 + d; // Real (I)
((int16_t*)p_dat)[1] = 256*6 + 7; // Imag (Q)
((int16_t*)p_dat)[2] = 256*8 + 9; // Real (I)
((int16_t*)p_dat)[3] = 256*10 + 11; // Imag (Q)
d++;

 

We tested different sizes of 

txbuf = iio_device_create_buffer(tx, 1024*1024, false);

(from 8, 32 to 32x1024).

 

Our problem is that function iio_buffer_push  returns negative value (-110) everytime after fourth execution.

Three calls of iio_buffer_push  are ok (without relation to size of data), call number 4 is not correct.

Is there any relation between AXI_AD9361_DAC_DMA settings and our problems?

 

We use libiio v14.

 

 

Mat

Outcomes