Content-type: text/html; charset=UTF-8 Man page of iio_readdev

iio_readdev

Section: LibIIO Utilities (1)
Updated: 21 February 2022
Index Return to Main Contents
 

NAME

iio_readdev - read buffers from an IIO device  

SYNOPSIS

iio_readdev [ options ] [-n <hostname>] [-t <trigger>] [-T <timeout-ms>] [-b <buffer-size>] [-s <samples>] <iio_device> [<channel> ...]  

DESCRIPTION

iio_reg is a utility for reading buffers from connected IIO devices, and sending resutls to standard out.

 

OPTIONS

-h, --help
Tells iio_readdev to display some help, and then quit. -n, --network Use the network backend with the provided hostname
-u, --uri
The Uniform Resource Identifier (uri) for connecting to devices, can be one of:
ip:[address]
network address, either numeric (192.168.0.1) or network hostname
ip:
blank, if compiled with zeroconf support, will find an IIO device on network
usb:[device:port:instance]
normally returned from iio_info -s
serial:[port]
local
with no address part
-t --trigger
Use the specified trigger, if needed on the specified channel
-b --buffer-size
Size of the capture buffer. Default is 256.
-s --samples
Number of samples (not bytes) to capture, 0 = infinite. Default is 0.
-T --timeout
Buffer timeout in milliseconds. 0 = no timeout. Default is 0.
-a, --auto
Scan for available contexts and if only one is available use it.
-S, --scan
Scan for available IIO contexts, optional arg of specific backend(s) 'ip', 'usb' or 'ip,usb'. Specific options for USB include Vendor ID, Product ID to limit scanning to specific devices 'usb=0456:b673'. vid,pid are hexadecimal numbers (no prefix needed), "*" (match any for pid only) If no argument is given, it checks all that are availble.
 

RETURN VALUE

If the specified device is not found, a non-zero exit code is returned.

 

USAGE

You use iio_readdev in the same way you use many of the other libiio utilities. You must specify a IIO device, and the specific channel to read. Since this is a read, channels must be input. It is easy to use iio_attr to find out what the channels are called.

This identifies the device, and channel that can be used.

iio_attr -a -i -c .
Using auto-detected IIO context at URI "usb:3.10.5"
dev 'cf-ad9361-lpc', channel 'voltage0' (input, index: 0, format: le:S12/16>>0)
dev 'cf-ad9361-lpc', channel 'voltage1' (input, index: 1, format: le:S12/16>>0)

This captures 1024 samples of I and Q data from the USB attached AD9361, and stores it (as raw binary) into the file samples.dat

iio_readdev -a -s 1024 cf-ad9361-lpc voltage0 voltage1 > samples.dat

And plots the data with gnuplot.

gnuplot -e "set term png; set output 'sample.png'; plot 'sample.dat' binary format='%short%short' using 1 with lines, 'sample.dat' binary format='%short%short' using 2 with lines;"

 

SEE ALSO

iio_attr(1), iio_info(1), iio_readdev(1), iio_reg(1), iio_writedev(1), libiio(3)

libiio home page: https://wiki.analog.com/resources/tools-software/linux-software/libiio

libiio code: https://github.com/analogdevicesinc/libiio

Doxygen for libiio https://analogdevicesinc.github.io/libiio/  

BUGS

All bugs are tracked at: https://github.com/analogdevicesinc/libiio/issues


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
RETURN VALUE
USAGE
SEE ALSO
BUGS

This document was created by man2html, using the manual pages.
Time: 16:36:12 GMT, February 21, 2022