.TH "IR\-CTL" "1" "Tue Jul 5 2016" "v4l-utils 1.32.0" "User Commands" .SH "نام (NAME)" ir\-ctl \- ابزاری همه‌کاره برای کار با IR خام و تنظیم گزینه‌های lirc .SH "خلاصه دستور (SYNOPSIS)" .B ir\-ctl [\fIگزینه\fR]... .br .B ir\-ctl [\fIگزینه\fR]... \fI\-\-features\fR .br .B ir\-ctl [\fIگزینه\fR]... \fI\-\-send\fR [\fIفایل برای ارسال\fR] .br .B ir\-ctl [\fIگزینه\fR]... \fI\-\-scancode\fR [\fIپروتکل و اسکن‌کد برای ارسال\fR] .br .B ir\-ctl [\fIگزینه\fR]... \fI\-\-keycode\fR [\fIکد کلید برای ارسال\fR] .br .B ir\-ctl [\fIگزینه\fR]... \fI\-\-receive\fR .SH "توضیحات (DESCRIPTION)" دستور ir\-ctl ابزاری است که امکان فهرست کردن قابلیت‌های یک دستگاه lirc، تنظیم گزینه‌های آن، دریافت IR خام و ارسال IR را فراهم می‌کند. .PP سیگنال IR را می‌توان به صورت کد کلید (keycode) از یک نگاشت کلید (keymap)، با استفاده از اسکن‌کد (scancode)، یا با استفاده از IR خام ارسال کرد. .PP نکته: برای کارکرد گزینه‌ها، باید مجوزهای خواندن یا نوشتن روی دستگاه /dev/lirc را داشته باشید. .SH "گزینه‌ها (OPTIONS)" .TP \fB\-d\fR, \fB\-\-device\fR=\fIDEV\fR دستگاه lirc برای کنترل؛ به طور پیش‌فرض /dev/lirc0 است. .TP \fB\-f\fR, \fB\-\-features\fR فهرست کردن قابلیت‌های دستگاه lirc. .TP \fB\-r\fR, \fB\-\-receive\fR دریافت IR و چاپ آن در خروجی استاندارد. .TP \fB\-s\fR, \fB\-\-send\fR=\fIFILE\fR ارسال IR در قالب فایل متنی. قالب فایل باید به شکلی باشد که در ادامه توضیح داده شده است. اگر این گزینه چندین بار مشخص شود، تمام فایل‌ها به ترتیب و با یک فاصلهٔ ۱۲۵ میلی‌ثانیه‌ای بین آن‌ها ارسال می‌شوند. طول این فاصله با \fB\-\-gap\fR قابل تغییر است. .TP \fB-S\fR, \fB\-\-scancode\fR=\fIPROTOCOL:SCANCODE\fR ارسال اسکن‌کد IR با پروتکل مشخص‌شده. پروتکل باید یکی از پروتکل‌های فهرست‌شده در زیر باشد که به دنبال آن یک دونقطه و سپس شمارهٔ اسکن‌کد می‌آید. اگر این گزینه چندین بار مشخص شود، تمام اسکن‌کدها به ترتیب با فاصلهٔ ۱۲۵ میلی‌ثانیه‌ای بین آن‌ها ارسال می‌شوند. طول این فاصله با \fB\-\-gap\fR قابل تغییر است. .TP \fB-K\fR, \fB\-\-keycode\fR=\fIKEYCODE\fR ارسال \fBKEYCODE\fR از نگاشت کلیدی که باید با \fB\-\-keymap\fR مشخص شده باشد. اگر این گزینه چندین بار مشخص شود، تمام کدهای کلید به ترتیب و با یک فاصلهٔ ۱۲۵ میلی‌ثانیه‌ای بین آن‌ها ارسال می‌شوند. طول این فاصله با \fB\-\-gap\fR قابل تغییر است. .TP \fB-k\fR, \fB\-\-keymap\fR=\fIKEYMAP\fR فایل نگاشت کلید rc در قالب toml. ساختار قالب در صفحهٔ راهنمای rc_keymap(5) توضیح داده شده است. از این فایل برای انتخاب \fBKEYCODE\fR استفاده می‌شود. .TP \fB\-1\fR, \fB\-\-oneshot\fR هنگام دریافت، توقف دریافت پس از دریافت اولین پیام؛ یعنی پس از دریافت یک فاصله (space) یا سرآمدن مهلت زمانی (timeout) بیش از ۱۹ میلی‌ثانیه. .TP \fB\-\-mode2\fR هنگام دریافت، خروجی دادن IR در قالب mode2. یک خط به ازای هر فاصله یا پالس. .TP \fB\-w\fR, \fB\-\-wideband\fR استفاده از گیرندهٔ پهن‌باند در صورت پشتیبانی سخت‌افزار. این حالت به عنوان حالت یادگیری (learning mode) نیز شناخته می‌شود. اندازه‌گیری‌ها دقیق‌تر خواهند بود و هر بسامد حاملی پذیرفته می‌شود. .TP \fB\-n\fR, \fB\-\-narrowband\fR بازگشت به گیرندهٔ عادی و باریک‌باند در صورتی که گیرندهٔ پهن‌باند فعال شده باشد. .TP \fB\-R\fR, \fB\-\-carrier-range\fR=\fIRANGE\fR تنظیم محدودهٔ حامل پذیرفته‌شده برای گیرندهٔ باریک‌باند. باید به شکل \fI30000-50000\fR مشخص شود. .TP \fB\-m\fR, \fB\-\-measure\-carrier\fR در صورت پشتیبانی سخت‌افزار، گزارش بسامد حامل هنگام دریافت. کلمهٔ کلیدی \fIcarrier\fR را به همراه مقدار بسامد دریافت خواهید کرد. این کار ممکن است از گیرندهٔ پهن‌باند استفاده کند، هرچند وابسته به سخت‌افزار است. .TP \fB\-M\fR, \fB\-\-no\-measure\-carrier\fR غیرفعال کردن گزارش بسامد حامل. این کار باید امکان استفاده از گیرندهٔ باریک‌باند را فراهم کند. این حالت پیش‌فرض است. .TP \fB\-t\fR, \fB\-\-timeout\fR=\fITIMEOUT\fR تنظیم طول یک فاصله که در آن گیرنده به حالت بی‌کار (idle) می‌رود، به میکروثانیه. .TP \fB\-c\fR, \fB\-\-carrier\fR=\fICARRIER\fR تنظیم بسامد حامل برای ارسال. .TP \fB\-D\fR, \fB\-\-duty\-cycle\fR=\fIDUTY\fR تنظیم چرخهٔ کار (duty cycle) برای ارسال به درصد، در صورت پشتیبانی سخت‌افزار. .TP \fB\-e\fR, \fB\-\-emitters\fR=\fIEMITTERS\fR فهرست جداشده با کاما از فرستنده‌ها برای استفاده در ارسال. فرستندهٔ اول شمارهٔ ۱ است. برخی از دستگاه‌ها تنها از فعال‌سازی یک فرستنده پشتیبانی می‌کنند (درایور winbond-cir). .TP \fB\-g\fR, \fB\-\-gap\fR=\fIGAP\fR تنظیم فاصلهٔ بین اسکن‌کدها یا فاصلهٔ بین فایل‌ها هنگام مشخص شدن چند فایل در خط فرمان. مقدار پیش‌فرض ۱۲۵۰۰۰ میکروثانیه است. .TP \fB\-?\fR, \fB\-\-help\fR چاپ پیام راهنما. .TP \fB\-\-usage\fR نمایش پیام کوتاه نحوهٔ استفاده. .TP \fB\-v\fR, \fB\-\-verbose\fR خروجی پرگو؛ چاپ اطلاعات IR پیش از ارسال. .TP \fB\-V\fR, \fB\-\-version\fR چاپ نسخهٔ v4l2\-utils. .PP .SS قالب فایل (Format of file) هنگام ارسال یا دریافت IR خام، می‌توان از دو قالب استفاده کرد. نخست، فهرستی از اعداد صحیح است که مقادیر پالس (pulse) و فاصله (space) را نشان می‌دهند. مقدار پالس می‌تواند با + و مقدار فاصله با \- پیشوندگذاری شود، اما این اختیاری است. اسکن‌کد rc-5 مقدار 0x1e01 به این صورت کدگذاری می‌شود: .PP +889 -889 +1778 -1778 +889 -889 +889 -889 +889 -889 +1778 -889 +889 -889 +889 -889 +889 -889 +889 -889 +889 -1778 +889 .PP قالب دیگر از ابزار mode2 الگوبرداری می‌کند. این قالب برای هر فاصله یا پالس یک خط تولید می‌کند. برای دریافت، می‌توان آن را با تعیین \fB\-\-mode2\fR انتخاب کرد. در اینجا همان پیام بالا آمده است که اکنون در قالب mode2 کدگذاری شده است: .PP carrier 36000 .br pulse 940 .br space 860 .br pulse 1790 .br space 1750 .br pulse 880 .br space 880 .br pulse 900 .br space 890 .br pulse 870 .br space 900 .br pulse 1750 .br space 900 .br pulse 890 .br space 910 .br pulse 840 .br space 920 .br pulse 870 .br space 920 .br pulse 840 .br space 920 .br pulse 870 .br space 1810 .br pulse 840 .PP توجه داشته باشید که در این قالب، بسامد حامل نیز می‌تواند مشخص شود. در قالب اول، این کار تنها با یک گزینهٔ خط فرمان جداگانه به صورت \fB\-\-carrier=38000\fR امکان‌پذیر است. .PP به جای تعیین صرفاً IR خام، در این قالب می‌توانید اسکن‌کد و پروتکلی را که می‌خواهید ارسال کنید نیز مشخص نمایید. این کار همچنین به طور خودکار حامل صحیح را تنظیم می‌کند. مورد بالا می‌تواند به صورت زیر نوشته شود: .PP scancode rc5:0x1e01 .PP اگر چندین اسکن‌کد در یک فایل مشخص شوند، در صورت نبود فاصله میان آن‌ها، یک شکاف زمانی درج می‌شود (نگاه کنید به \fB\-\-gap\fR). هر فایل فقط می‌تواند یک بسامد حامل داشته باشد، بنابراین در صورتی که پروتکل‌های متفاوتی در یک فایل مشخص شوند و از بسامدهای حامل متفاوتی استفاده کنند، ممکن است مشکلاتی رخ دهد. .PP توجه داشته باشید که محدودیت‌های وابسته به سخت‌افزار برای مقدار IR ارسالی در یک زمان وجود دارد. این محدودیت می‌تواند هم در طول IR و هم در تعداد طول‌های متفاوت پالس و فاصله باشد. .PP .SS پروتکل‌های پشتیبانی‌شده (Supported Protocols) یک اسکن‌کد به همراه پروتکل را می‌توان در خط فرمان یا در فایل پالس و فاصله مشخص کرد. پروتکل‌های زیر پشتیبانی می‌شوند: \fBrc5\fR, \fBrc5x_20\fR, \fBrc5_sz\fR, \fBjvc\fR, \fBsony12\fR, \fBsony\fB15\fR, \fBsony20\fR, \fBnec\fR, \fBnecx\fR, \fBnec32\fR, \fBsanyo\fR, \fBrc6_0\fR, \fBrc6_6a_20\fR, \fBrc6_6a_24\fR, \fBrc6_6a_32\fR, \fBrc6_mce\fR, \fBsharp\fR, \fBimon\fR, \fBrc_mm_12\fR, \fBrc_mm_24\fR, \fBrc_mm_32\fR. اگر اسکن‌کد با 0x آغاز شود، به عنوان یک عدد هگزادسیمال و اگر با 0 آغاز شود، به عنوان یک عدد اکتال تفسیر خواهد شد. .PP .SS گیرندهٔ پهن‌باند و باریک‌باند (Wideband and narrowband receiver) اکثر گیرنده‌های IR دارای دو نوع گیرندهٔ باریک‌باند و پهن‌باند هستند. گیرندهٔ باریک‌باند می‌تواند در فواصل طولانی‌تر (معمولاً حدود ۱۰ متر بدون تداخل) داده را دریافت کند و به بسامدهای حامل خاصی محدود است. .PP گیرندهٔ پهن‌باند برای اندازه‌گیری‌های با دقت بالاتر و زمانی که بسامد حامل ناشناخته است استفاده می‌شود؛ با این حال تنها در فواصل بسیار کوتاه (حدود ۵ سانتی‌متر) کار می‌کند. این قابلیت با نام \fBlearning mode\fR (حالت یادگیری) نیز شناخته می‌شود. .PP در بیشتر درایورها، فعال کردن گزارش‌های حامل با استفاده از \fB\-m\fR، گیرندهٔ پهن‌باند را نیز فعال می‌کند. .SS وضعیت سراسری (Global state) تمام گزینه‌هایی که می‌توان برای دستگاه‌های lirc تنظیم کرد تا زمانی که دستگاه خاموش شود یا گزینهٔ جدیدی تنظیم گردد، حفظ می‌شوند. .SH "وضعیت خروج (EXIT STATUS)" در صورت موفقیت، مقدار 0 بازگردانده می‌شود. در غیر این صورت، کد خطا برگردانده خواهد شد. .SH "مثال‌ها (EXAMPLES)" برای فهرست کردن همهٔ قابلیت‌های /dev/lirc2: .br \fBir\-ctl \-f \-d /dev/lirc2\fR .PP برای نمایش IR اولین فشردن کلید روی ریموت‌کنترل در حالت یادگیری: .br \fBir\-ctl \-r \-m \-w\fR .PP برای بازگرداندن گیرنده به حالت عادی (فاصلهٔ طولانی‌تر): .br \fBir\-ctl \-n \-M\fR .PP برای ارسال فایل پالس و فاصلهٔ \fBplay\fR روی فرستندهٔ ۳: .br \fBir\-ctl \-e 3 \-\-send=play\fR .PP برای ارسال اسکن‌کد rc-5 مربوط به کلید '1' hauppauge: .br \fBir\-ctl \-S rc5:0x1e01\fR .PP برای ارسال کلید rc-5 مربوط به '1' از نگاشت کلید hauppauge: .br \fBir\-ctl -k hauppauge.toml -K KEY_NUMERIC_1\fR .SH "گزارش باگ‌ها (BUGS)" گزارش باگ‌ها به \fBLinux Media Mailing List \fR .SH "کپی‌رایت و تکثیر (COPYRIGHT)" حق نشر (c) ۲۰۱۶ متعلق به Sean Young است. .PP مجوز GPLv2: گنو GPL نسخهٔ ۲ . .br این یک نرم‌افزار آزاد است: شما مجاز به تغییر و بازتوزیع آن هستید. هیچ‌گونه ضمانتی وجود ندارد، تا حدی که قانون اجازه می‌دهد. .SH "همچنین ببینید (SEE ALSO)" برای نمایش IR رمزگشایی‌شده یا تنظیم گزینه‌های رمزگشایی IR، به ir\-keytable(1) مراجعه کنید. قالب نگاشت کلید در rc_keymap(5) توضیح داده شده است.