CEC-FOLLOWER(1) User Commands CEC-FOLLOWER(1)

cec-follower - برنامه‌ای برای شبیه‌سازی پیروهای CEC

cec-follower [-h] [-d <dev>] [سایر گزینه‌ها]

ابزار cec-follower برای شبیه‌سازی پیروهای CEC (یا followerها) به کار می‌رود. بر پایهٔ نشانی(های) منطقی پیکربندی‌شده برای دستگاه CEC، رفتار CEC را متناسب با آن شبیه‌سازی می‌کند.

پیکربندی دستگاه CEC با استفاده از cec-ctl انجام می‌شود. عملکردهای مشخصی از CEC تنها در صورتی شبیه‌سازی می‌شوند که پرچم متناظر با آن‌ها در Device Features تنظیم شده باشد (این پرچم‌ها هنگام پیکربندی با cec-ctl تنظیم می‌شوند). این قابلیت‌ها عبارتند از:


- Audio Return Channel (RX and TX)
- Audio Rate Control
- Deck Control
- Record TV screen

cec-follower در اصل یک حلقهٔ پیام است که منتظر دریافت پیام‌ها می‌ماند و متناسب با هر پیام اقدام لازم را انجام می‌دهد (پیام‌های دریافتی را می‌توان با گزینهٔ --show-msgs مشاهده کرد). پیرو وضعیت داخلی مشخصی را با پارامترهای مناسب مانند بلندی صدا، منبع فعال فعلی، وضعیت برق و انرژی و غیره نگهداری می‌کند (تغییرات وضعیت را می‌توان با گزینهٔ --show-state مشاهده کرد).

این ابزار همچنین قصد دارد یک پیاده‌سازی مرجع در رابطه با نحوهٔ رفتار یک پیرو باشد.

cec-follower پیام‌های دریافتی را رصد کرده و تخطی از مشخصات CEC را در رابطه با زمان‌بندی‌ها بررسی می‌کند. برای مثال، اگر در فاصلهٔ کمتر از ۲۰۰ میلی‌ثانیه پس از آن‌که به پیامی با <Feature Abort> ["Unrecognized Opcode"] پاسخ داد، مجدداً همان پیام را دریافت کند هشدار می‌دهد، و همچنین بررسی می‌کند که رفتار فشردن و نگه‌داشتن کلیدها (press and hold) به درستی پیاده‌سازی شده باشد.

cec-follower به صورت دوره‌ای پیام‌های پیمایشی (polling) ارسال می‌کند تا متوجه شود چه زمانی یک دستگاه دوردست جدا شده یا دستگاه جدیدی اضافه شده است. هنگامی که دستگاهی جدا شود، اطلاعات ثبت‌شدهٔ مربوط به آن پاک می‌گردد. هر نشانی منطقی حدوداً هر ۱۵ ثانیه یک‌بار پیمایش (poll) می‌شود. در فاصلهٔ بین پیمایش‌ها، جدا کردن یک دستگاه دوردست یا جایگزینی آن با دستگاهی جدید تشخیص داده نمی‌شود.

هنگام اجرای آزمون‌های تطابق با cec-compliance، باید cec-follower روی همان دستگاه اجرا شود تا به پیام‌های ورودی که پاسخ پیام‌های ارسال‌شده توسط ابزار آزمون تطابق نیستند، واکنش نشان دهد. پیش از اجرای هر آزمون، در صورت در حال اجرا بودن cec-follower باید آن را بازراه‌اندازی کرد تا دستگاه شبیه‌سازی‌شده با یک وضعیت اولیهٔ پاک و شناخته‌شده مقداردهی شود.

استفاده از دستگاه <dev> به عنوان دستگاه CEC. اگر <dev> یک عدد باشد، از /dev/cec<dev> استفاده می‌شود.
استفاده از یک دستگاه cec که نام درایور آن <drv> است، مطابق آنچه توسط ioctl مقدار CEC_ADAP_G_CAPS بازگردانده شده است. این گزینه می‌تواند با -a ترکیب شود تا بدون نیاز به تکیه بر شمارهٔ گره دستگاه، دستگاه CEC را به‌طور یکتا مشخص کند.
استفاده از یک دستگاه cec که نام آداپتور آن <adap-name> است، مطابق آنچه توسط ioctl مقدار CEC_ADAP_G_CAPS بازگردانده شده است. این گزینه می‌تواند با -D ترکیب شود تا بدون نیاز به تکیه بر شمارهٔ گره دستگاه، دستگاه CEC را به‌طور یکتا مشخص کند.
فعال کردن گزارش‌دهی پرجزئیات.
نمایش اطلاعات نسخه.
نمایش برچسب‌های زمانی به صورت زمان واقعی ساعت دیواری (wall-clock time). این گزینه گزارش‌دهی پرجزئیات را نیز فعال می‌کند.
ردیابی تمامی ioctlهای فراخوانی‌شده. مناسب برای اشکال‌زدایی.
چاپ پیام راهنما.
غیرفعال کردن پیام‌های هشدار.
در صورت تعیین، پیرو از حالت انحصاری (CEC_MODE_EXCL_FOLLOWER) استفاده می‌کند.
نمایش پیام‌های دریافتی.
نمایش تغییرات وضعیت دستگاه شبیه‌سازی‌شده.
گزارش سرویس‌های دیجیتال بر اساس شناسه دیجیتال (digital ID) به جای گزارش بر اساس کانال.
راه‌اندازی پیرو در وضعیت Standby (آماده‌به‌کار).
تغییر دادن متناوب وضعیت برق هر <secs> ثانیه یک‌بار. تنها در صورتی پشتیبانی می‌شود که پیرو در حال شبیه‌سازی یک TV باشد.
نادیده گرفتن پیام‌ها از نشانی منطقی <la> و کد دستور <opcode>. می‌توان از 'all' برای <la> یا <opcode> استفاده کرد تا با تمامی نشانی‌های منطقی یا کدهای دستور مطابقت پیدا کند.
نادیده گرفتن هر <n>امین پیام دریافتی Standby.
نادیده گرفتن هر <n>امین پیام دریافتی Image/Text View On.

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

این صفحهٔ راهنما در دست توسعه و تکمیل است.

گزارش‌های باگ یا پرسش‌ها دربارهٔ این ابزار باید به فهرست پستی linux-media@vger.kernel.org ارسال شوند.

cec-compliance(1), cec-ctl(1)

August 2016 v4l-utils 1.32.0