iio_writedev(1) LibIIO Utilities iio_writedev(1)

iio_writedev - نوشتن داده‌ها در دستگاه‌های نمونه‌برداری ورودی/خروجی صنعتی (IIO)

iio_writedev [ گزینه‌ها ] [-t <محرک>] [-T <مهلت-زمانی-میلی‌ثانیه>] [-b <اندازه-بافر>] [-s <نمونه‌ها>] <دستگاه_iio> [<کانال> ...]

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

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

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

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

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

این دستور ۱۰۲۴ نمونه از داده‌های I و Q را به تراشه AD9361 متصل از طریق USB ارسال می‌کند. داده‌ها به‌صورت باینری از ورودی استاندارد دریافت می‌شوند.

iio_writedev -a -s 1024 cf-ad9361-dds-core-lpc voltage0 voltage1 < ./samples.dat

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