| LIRCD.CONF(5) | راهنمای قالبهای فایل | LIRCD.CONF(5) |
نام (NAME)
lircd.conf - فایل پیکربندی اصلی lirc
توضیحات (DESCRIPTION)
این فایل دارای دو هدف است: ارائه اطلاعات زمانبندی به درایور تا بتواند دادهها را به فشردن دکمهها رمزگشایی کند، و ارائه نگاشتی از فشردن دکمهها به نمادهای کلیدی مورد استفاده توسط lircd(8).
ساختار پایه شامل فهرستی از بلوکهای ریموت (کنترل از راه دور) است. از فاصلههای خالی و شکستهای خط به عنوان جداکننده استفاده میشود.
اگر نویسه توضیح (#) به عنوان نخستین نویسه در یک خط ظاهر شود، باقی آن خط نادیده گرفته خواهد شد.
بلوکهای ریموت (REMOTE BLOCKS)
بلوکهای ریموت یا معمولی هستند یا خام (raw).
بلوکهای ریموت معمولی با begin remote آغاز شده و با end remote پایان مییابند. بخش اول بلوک ویژگیهای پایه ریموت را شرح میدهد؛ به بخش "بخش توصیف ریموت" مراجعه کنید. به دنبال آن یک بخش کدها قرار دارد که میان begin codes و end codes محصور شده است.
هر خط در بخش کدها شامل نام یک دکمه روی ریموت است که به دنبال آن یک مقدار دادهای هگزادسیمال منطبق بر بخش داده فریم IR قرار دارد (به بخش توصیف ریموت مراجعه کنید). شما مجاز نیستید نام یکسانی را به دو دکمه در یک بخش ریموت تخصیص دهید.
بلوکهای ریموت خام دقیقاً مشابه بلوکهای معمولی هستند، به جز بخش کدها که فهرستی از توصیفات دکمهها است که میان begin raw_codes و end raw_codes قرار گرفته است.
یک توصیف دکمه خام با پارامتر name آغاز شده و به دنبال آن نام دکمه میآید. توصیف دکمه با توصیف دکمه بعدی یا پایان بلوک raw_codes خاتمه مییابد. خطوط میانی فهرستی از اعداد اعشاری (دهدهی) هستند که سیگنال ارسالی توسط آن دکمه را توصیف میکنند. عدد اول مدتزمان پالس اولیه بر حسب میکروثانیه را نشان میدهد. عدد دوم مدتزمان فاصله خالی (space) پس از آن را مشخص میکند. مدتزمانهای پالس و فاصله تا هر زمان که لازم باشد به صورت متناوب تکرار میشوند. آخرین مدتزمان باید نشاندهنده یک پالس باشد.
بخش توصیف ریموت (REMOTE DESCRIPTION SECTION)
هر خط در این بخش شامل یک پارامتر است که به دنبال آن مقدار یا مقادیر تخصیصیافته به آن پارامتر میآیند. پارامترها اختیاری هستند مگر آنکه خلاف آن ذکر شده باشد.
تمام مقادیر اعداد صحیح دهدهی هستند که بدون بعد بوده یا دارای واحد میکروثانیه میباشند، مگر آنکه خلاف آن بیان شده باشد. اعداد هگزادسیمال باید دارای پیشوند 0x باشند. اگر ریموت ویژگی خاصی ندارد، خط مربوطه میتواند حذف شود. کد دکمه دقیقاً پس از سیگنال pre و درست پیش از سیگنال post ارسال میشود.
برخی پارامترها بیتهای موجود در پروتکل IR را توصیف میکنند. فریم معمولاً به صورت زیر تعریف میشود:
-
|header|plead|pre data|pre|data|post|post data|ptrail|foot|gap|
که در آن بیشتر پارامترها دارای مقدار پیشفرض 0 هستند. برخی پارامترها ساختار کلی فریم را تغییر میدهند، مانند پارامتر repeat.
- include ”<path>”
- گنجاندن مسیر دادهشده با استفاده از معناشناسی معمول include. اگر مسیر نسبی باشد، نسبت به فایل اصلی lircd.conf تفسیر میشود. <path> باید درون گیومه دوتایی محصور شود. میتواند شامل الگوی glob(3) باشد که در این صورت تمام فایلهای منطبق گنجانده میشوند.
- manual_sort <1|0>
- بهطور معمول lircd تلاش میکند چندین ریموت را مرتب سازد تا آن که سریعتر رمزگشایی میشود زودتر استفاده گردد. تنظیم manual_sort روی 1 در هر ریموت این رفتار را غیرفعال کرده و ریموتها را به ترتیبی که در lircd.conf یا فایلهای lircd.conf.d مرتب شدهاند استفاده میکند.
- name <نام ریموت>
- نام یکتای تخصیصیافته به کنترل از راه دور (نباید شامل فاصله خالی باشد). درون یک فایل منفرد تمام نامها باید یکتا باشند. این پارامتر الزامی است.
- suppress_repeat <تعداد تکرار>
- سرکوب تعداد معینی از تکرارها برای تمام دکمهها در این ریموت. پیشفرض 0 است که به معنای عدم سرکوب تکرار است.
- flags <flag1><|flag2>...
- پرچمها رشتههای متنی ویژهای هستند که ویژگیهای گوناگون ریموت را توصیف میکنند. پرچمهای چندگانه باید با علامت (|) جدا شوند. به بخش پرچمها مراجعه کنید.
- driver <نام درایور>
- برای درایورهای lirccode که فاقد اطلاعات زمانبندی هستند، ویژگی اختیاری driver نام درایوری را که برای استفاده از این ریموت لازم است مشخص میکند.
- bits <تعداد بیتهای داده>
- تعداد بیتهای داده در کدهای هگزادسیمال که هر دکمه را توصیف میکنند (عدد صحیح دهدهی).
- eps <تلورانس خطای نسبی>
- تلورانس خطای نسبی برای سیگنالهای دریافتی بر حسب درصد. پیشفرض در irrecord برابر 30 است.
- aeps <تلورانس خطای مطلق>
- تلورانس خطای مطلق برای سیگنالهای دریافتی (میکروثانیه). پیشفرض در irrecord برابر 100 است.
- header <phead> <shead>
- پالس و فاصله اولیه ارسالی (بر حسب میکروثانیه).
- three <pthree> <sthree>
- تنها توسط ریموتهای RC-MM استفاده میشود.
- two <ptwo> <stwo>
- تنها توسط ریموتهای RC-MM استفاده میشود.
- one <pone> <sone>
- طول پالس و فاصله نشاندهنده بیت یک.
- zero <pzero> <szero>
- طول پالس و فاصله نشاندهنده بیت صفر.
- ptrail <trailing pulse>
- پالس دنبالهدار، بلافاصله پس از post_data.
- plead <leading pulse>
- پالس پیشرو، بلافاصله پس از header.
- foot <pfoot> <sfoot>
- پالس و فاصله، بلافاصله پس از پالس دنبالهدار.
- repeat <prepeat> <srepeat>
- پالس و فاصلهای که هر زمان سیگنال تکرار شود، جایگزین تمام موارد میان پالس پیشرو و پالس دنبالهدار میگردد. foot ارسال نمیشود و header نیز ارسال نمیگردد مگر آنکه پرچم REPEAT_HEADER حضور داشته باشد.
- pre_data_bits <تعداد بیتها>
- تعداد بیتها در کد pre_data.
- pre_data <عدد هگزادسیمال>
- کد هگزادسیمال نشاندهنده توالی یکها و صفرها بلافاصله پس از پالس پیشرو.
- post_data_bits <تعداد بیتها>
- تعداد بیتها در کد post_data.
- post_data <عدد هگزادسیمال>
- کد هگزادسیمال نشاندهنده توالی یکها و صفرها بلافاصله پس از سیگنال post.
- pre <ppre> <spre>
- پالس و فاصله بلافاصله پس از pre_data، به عنوان جداکننده میان pre data و data.
- post <ppost> <spost>
- پالس و فاصله بلافاصله پس از کد دکمه.
- gap <طول gap>
- یک فاصله (معمولاً طولانی) که به دنبال پالس دنبالهدار میآید.
- repeat_gap <طول repeat_gap>
- یک فاصله بلافاصله پس از پالس دنبالهدار و پیش از تکرار همان کد ناشی از فشرده نگه داشتن دکمه.
- min_repeat <حداقل دفعات تکرار>
- حداقل دفعاتی که یک سیگنال هنگام ارسال تکرار میشود (0 به معنای ارسال یکباره است).
- toggle_bit <بیت جهش>
- بیتی از pre_data، کد، یا post_data که هر بار با فشردن دکمه میان یک و صفر تغییر میکند. این پارامتر با toggle_bit_mask جایگزین شده است.
- toggle_bit_mask <ماسک هگزادسیمال>
- بیتهایی که با هر بار فشردن دکمه میان یک و صفر تغییر وضعیت میدهند.
- repeat_mask <ماسک>
- ماسک مشخصکننده بیتهایی که برای تکرارها وارونه میشوند.
- frequency <هرتز>
- فرکانس حامل ریموت (پیشفرض 38000 هرتز).
- duty_cycle <زمان روشن بودن>
- درصد زمان ارسال نور مادون قرمز در طول یک پالس (عددی صحیح بین 1 تا 100، پیشفرض 50).
پرچمها (FLAGS)
پرچمها مقادیری هستند که در پارامتر flags تنظیم میشوند:
- RC5
- ریموت از پروتکل RC5 استفاده میکند.
- RC6
- ریموت از پروتکل RC6 استفاده میکند.
- RCMM
- ریموت از پروتکل RC-MM استفاده میکند.
- SHIFT_ENC
- پرچم منسوخ، مترادفی برای RC5. موقعیت پالس (قبل یا بعد از فاصله) مشخص میکند بیت صفر است یا یک.
- SPACE_ENC
- یک و صفر با طول فاصلهها تمایز داده میشوند (مورد استفاده در پروتکل NEC و دیگر پروتکلها).
- REVERSE
- ترتیب بیتهای pre_data، post_data و کدها را وارونه میکند. در صورت حضور این پرچم، کمارزشترین بیت اول ارسال میشود.
- NO_HEAD_REP
- هنگام تکرار سیگنال، هدر ارسال نمیشود حتی اگر کد تکرار خاصی وجود نداشته باشد.
- NO_FOOT_REP
- هنگام تکرار سیگنال، foot ارسال نمیشود حتی اگر کد تکرار خاصی وجود نداشته باشد.
- CONST_LENGTH
- طول کل سیگنال همواره ثابت است. طول gap اکنون نمایانگر طول کل سیگنال است و gap واقعی انتهای سیگنال متناسب با آن تنظیم میشود.
- RAW_CODES
- کدها در قالب خام (raw) هستند.
- REPEAT_HEADER
- هنگام تکرار سیگنال هدر ارسال میشود حتی اگر ریموت کد تکرار ویژه داشته باشد.
سلب مسئولیت (DISCLAIMER)
پروژه LIRC برای جمعآوری دادههای IR و ذخیره آنها در قالبی اختصاصی، فشرده و در عین حال قابل خواندن توسط انسان طراحی شده است با هدف امکان ارسال یا شناسایی مجدد این سیگنالها. این پروژه با هدف ارائه یک قالب فایل پیکربندی کاملاً مستندسازیشده و آزمونشده که بتوان از آن مثلاً برای تولید سیگنالهای دلخواه IR استفاده کرد طراحی نشده بود. بنابراین این فایل پیکربندی نباید یک رابط عمومی برای LIRC تلقی شود.
این صفحه راهنما باید با در نظر داشتن این نکته خوانده شود. این راهنما با مطالعه کدهای LIRC تألیف شده است و مشخصات معتبر و قطعی از رفتار LIRC و فایل پیکربندی آن محسوب نمیگردد.
همچنین ببینید (SEE ALSO)
| Last change: Feb 2018 | lircd.conf 0.10.2 |