I am using a PicoZed SDR board and am trying to use IIO to record ADC data. I have been working with the ad9361-iiostream.c example from Analog's GitHub. I have stripped away most of that example's transmit features and am simply trying to capture samples from the ADC.
In analyzing the data captured in this way, I see a significant amount of dropped data (I am recording a pulse train, and it is easy to see the missing data based on the spaces between the pulses). I was able to see that recording at lower sample rates resulted in less drops than higher sample rates, which I suppose makes sense. Data loss occurred even at 10Msps.
In reading the documentation for IIO, it seems as though it is designed to allow for the sort of buffering that prevents this situation (kfifo)
My application is not tolerant of these data drops, so here are my questions:
1) Is it possible for IIO to tell me when data is dropped? Right now the system is completely unusable because I cannot trust my data to be continuous.
2) Is there a mode that supports buffering? I have plenty of RAM available for this.