Can cf-ad9361-lpc work with AD9361 in 1rx-1tx mode?

We are trying to write a small piece of code to record RF samples received by E310. The reference example code we use is ad9361-iiostream.c from the libiio/example. We setup the receiving stream channel for I and Q via device cf-ad9361-lpc. The code works well when AD9361 is in 2rx-2tx mode. However, if we change AD9361 to the 1rx-1tx mode, function iio_buffer_refill returns an error code -110. 

What might be the issue here? Thanks!

Top Replies

    •  Analog Employees 
    Nov 5, 2020 in reply to c3commsystems +2 verified
    Michael, It's still a puzzle here. My initial problem happened on the RX path, not TX. So if the AXI-ADC driver is internally connected and will automatically configure for AD9364, why…
Parents
  • 0
    •  Analog Employees 
    on Nov 3, 2020 7:05 PM

    Switching to 1rx1tx mode shouldn't really affect anything as we use this configuration any many other devices.

    From IIO-Scope are you able to plot data? Have you made any changes to the ad9361-iiostream.c example?

    -Travis

  • We didn't change ad9361-iiostream.c example. We wrote our own code separately, but use ad9361-iiostream.c as a reference. You response gives me an idea to test. I ran ad9361-iiostream when AD9361 is in 1rx-1tx mode, and I got the same error!!

    A colleague told me that error code -110 is a timeout error. So in my code, I added the following line,

    iio_context_set_timeout(ctx, 0);

    With the above change, now iio_buff_refill() is entering a forever waiting state without returning. So, it looks like that the buffer in device cf-ad9361-lpc receives NO data, or at least not being filled up, when AD9361 is set to 1rx-1tx mode. Do you agree?   

Reply
  • We didn't change ad9361-iiostream.c example. We wrote our own code separately, but use ad9361-iiostream.c as a reference. You response gives me an idea to test. I ran ad9361-iiostream when AD9361 is in 1rx-1tx mode, and I got the same error!!

    A colleague told me that error code -110 is a timeout error. So in my code, I added the following line,

    iio_context_set_timeout(ctx, 0);

    With the above change, now iio_buff_refill() is entering a forever waiting state without returning. So, it looks like that the buffer in device cf-ad9361-lpc receives NO data, or at least not being filled up, when AD9361 is set to 1rx-1tx mode. Do you agree?   

Children