Does running application from python uses IIO or IIOD?



I would really appreciate your help with the following questions:

1.When connecting Pluto to the computer via usb  and running a python code - are we actually using iiod and not iio? 

2.Does that mean, that automatically we are using the low speed buffer interface?(as explained here:

3.Would otherwise (running the program from Linux) the same application use the high speed interface?

4. When compiling the same code  to run once over the Linux kernel of the sdr, and once to run from the host - what part of the iio take care of the USB communication(both sending and receiving data) ? Does the use of iiod is responsible for that, and the switch between iio and iiod is transparent to the user?

Thank You!

  • +1
    •  Analog Employees 
    on Aug 4, 2020 8:43 PM

    1. All API calls go through IIOD which is running on PlutoSDR itself.

    2. Pluto uses the highspeed buffers. It will warn otherwise. This is all done on the board itself since it has to do with the driver.

    3. See 2

    4. The libIIO backends handle all of the communication for you in both directions. You will always talk through iiod which is on the platform with the physically attached hardware.