iio_readdev(1) LibIIO Utilities iio_readdev(1)

iio_readdev - خواندن بافرها از یک دستگاه IIO

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

iio_reg ابزاری برای خواندن بافرها از دستگاه‌های IIO متصل‌شده و ارسال نتایج به خروجی استاندارد است.

به iio_readdev اعلام می‌کند که پیام راهنما را نمایش داده و سپس خارج شود.
اطلاعات نسخه این رونوشت از iio_readdev و نسخه کتابخانه libiio مورد استفاده آن را چاپ می‌کند. این گزینه برای آگاهی از به‌روز بودن نسخه کتابخانه و iio_readdev روی سیستم شما، و همچنین هنگام گزارش باگ‌ها مفید است.
پویش برای زمینه‌های (contexts) در دسترس IIO؛ با آرگومان اختیاری برای مشخص کردن بک‌اند(های) 'ip' ،'usb' یا 'ip:usb'. گزینه‌های اختصاصی برای USB شامل شناسه سازنده (Vendor ID) و شناسه محصول (Product ID) جهت محدود کردن پویش به دستگاه‌های مشخص 'usb=0456,b673' است. شناسه‌های vid و pid اعدادی در مبنای شانزده هستند (بدون نیاز به پیشوند)، و "*" (تنها برای pid، جهت مطابقت با هر شناسه‌ای). اگر آرگومانی داده نشود، تمام موارد موجود بررسی می‌شوند.
استفاده از تریگر مشخص‌شده در صورت نیاز روی کانال تعیین‌شده.
اندازه بافر ضبط داده. مقدار پیش‌فرض ۲۵۶ است.
تعداد نمونه‌ها (نه بایت‌ها) برای دریافت؛ 0 = نامحدود. مقدار پیش‌فرض 0 است.
زمان‌انتظار بافر بر حسب میلی‌ثانیه. 0 = بدون زمان‌انتظار. مقدار پیش‌فرض 0 است.
شناسه یکنواخت منبع (uri) برای اتصال به دستگاه‌ها، می‌تواند یکی از موارد زیر باشد:
نشانی شبکه، چه به صورت عددی (192.168.0.1) یا نام میزبان شبکه.
خالی؛ در صورت کامپایل شدن با پشتیبانی از zeroconf، یک دستگاه IIO را روی شبکه پیدا می‌کند.
معمولاً از خروجی دستور زیر به دست می‌آید: iio_readdev -S
که کنترل می‌شوند و باید با iiod (یا tinyiiod) در طرف دیگر درگاه سریال مطابقت داشته باشند.
[port]
چیزی شبیه به '/dev/ttyUSB0' در لینوکس و 'COM4' در ویندوز است.
[baud]
معمولاً یکی از مقادیر 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200 [پیش‌فرض], 128000 یا 256000 است، اما می‌تواند در سیستم‌های مختلف متفاوت باشد.
[settings]
معمولاً به صورت '8n1' پیکربندی می‌شود و با موارد زیر کنترل می‌گردد:
(5, 6, 7, 8 [پیش‌فرض], یا 9)
('n' بدون پاریتی [پیش‌فرض], 'o' فرد, 'e' زوج, 'm' علامت, یا 's' فاصله)
(1 [پیش‌فرض], یا 2)
('0' بدون کنترل [پیش‌فرض], 'x' کنترل نرم‌افزاری Xon Xoff, 'r' کنترل سخت‌افزاری RTSCTS, یا 'd' کنترل DTRDSR)
بدون بخش نشانی.

در صورتی که دستگاه مشخص‌شده یافت نشود، یک کد خروج غیر صفر بازگردانده می‌شود.

شما از iio_readdev به همان شیوه‌ای استفاده می‌کنید که از سایر ابزارهای کاربردی libiio بهره می‌برید. شما باید یک دستگاه IIO و کانال مشخص برای خواندن را تعیین کنید. از آنجا که این یک عملیات خواندن است، کانال‌ها باید ورودی باشند. اگر کانالی مشخص نشود، iio_readdev از تمام کانال‌های ورودی خواهد خواند. اگر هیچ دستگاهی تعیین نشود، iio_readdev چند مثال را چاپ می‌کند:

iio_readdev -a
Using auto-detected IIO context at URI "usb:3.10.5"
Example : iio_readdev -u usb:3.10.5 -b 256 -s 1024 cf-ad9361-lpc voltage0
Example : iio_readdev -u usb:3.10.5 -b 256 -s 1024 cf-ad9361-lpc voltage1
Example : iio_readdev -u usb:3.10.5 -b 256 -s 1024 cf-ad9361-lpc voltage2
Example : iio_readdev -u usb:3.10.5 -b 256 -s 1024 cf-ad9361-lpc voltage3
Example : iio_readdev -u usb:3.10.5 -b 256 -s 1024 cf-ad9361-lpc

این دستور ۱۰۲۴ نمونه از داده‌های I و Q را از دستگاه AD9361 متصل به USB دریافت کرده و آن‌ها را (به صورت دودویی خام) در فایل samples.dat ذخیره می‌کند:

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

و رسم داده‌ها با 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;"

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

صفحه اصلی libiio: https://wiki.analog.com/resources/tools-software/linux-software/libiio

کد منبع libiio: https://github.com/analogdevicesinc/libiio

مستندات Doxygen برای libiio: https://analogdevicesinc.github.io/libiio

تمام باگ‌ها در این نشانی پیگیری می‌شوند: https://github.com/analogdevicesinc/libiio/issues

24 December 2025 libiio-0.26