pyadi-iio: Analog Devices python interfaces for hardware with Industrial I/O drivers
pyadi-iio is a python abstraction module for ADI hardware with IIO drivers to make them easier to use. The libIIO interface although extremely flexible can be cumbersome to use due to the amount of boilerplate code required for even simple examples, especially when interfacing with buffers. This module has custom interfaces classes for specific parts and development systems which can generally make them easier to understand and use. To get up and running with a device can be as simple as a few lines of code:
import adi
# Create device from specific uri address
sdr = adi.ad9361(uri="ip:192.168.2.1")
# Get data from transceiver
data = sdr.rx()
Currently supported hardware
Dependencies
Installing from source
tcollins@jeeves:~$ git clone https://github.com/analogdevicesinc/pyadi-iio.git
tcollins@jeeves:~$ cd pyadi-iio
tcollins@jeeves:~$ (sudo) pip install .
Installing from pip
tcollins@jeeves:~$ (sudo) pip install pyadi-iio
To get optional dependency for JESD debugging
tcollins@jeeves:~$ (sudo) pip install pyadi-iio[jesd]
Building doc
Install necessary tools
tcollins@jeeves:~$ (sudo) pip install -r requirements_doc.txt
Build actual doc with sphinx
tcollins@jeeves:~$ cd doc
tcollins@jeeves:~$ make html
Developing
Install necessary tools
tcollins@jeeves:~$ (sudo) pip install -r requirements_dev.txt
Running pre-commit checks
tcollins@jeeves:~$ pre-commit run --all-files