← Documents Documentation/userspace-api/media/rc/lirc-set-wideband-receiver.rst GitHub 원문 ↗

Linux 6.18.37 · Userspace API / Media / Remote Controller

ioctl LIRC_SET_WIDEBAND_RECEIVER

Remote 학습용 wideband receiver를 활성화하거나 비활성화합니다.

Source pathDocumentation/userspace-api/media/rc/lirc-set-wideband-receiver.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

lirc-set-wideband-receiver.rst:1-56

Wideband 경로는 더 넓은 carrier와 높은 정밀도를 제공할 수 있지만 수신 거리가 짧아질 수 있습니다. Carrier report가 활성화한 wideband 경로는 report를 먼저 끄기 전에는 직접 비활성화할 수 없습니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2 .. c:namespace:: RC
3
4 .. _lirc_set_wideband_receiver:
5
6 ********************************
7 ioctl LIRC_SET_WIDEBAND_RECEIVER
8 ********************************
9
10 Name
11 ====
12
13 LIRC_SET_WIDEBAND_RECEIVER - enable wide band receiver.
14
15 Synopsis
16 ========
17
18 .. c:macro:: LIRC_SET_WIDEBAND_RECEIVER
19
20 ``int ioctl(int fd, LIRC_SET_WIDEBAND_RECEIVER, __u32 *enable)``
21
22 Arguments
23 =========
24
25 ``fd``
26 File descriptor returned by open().
27
28 ``enable``
29 enable = 1 means enable wideband receiver, enable = 0 means disable
30 wideband receiver.
31
32 Description
33 ===========
34
35 Some receivers are equipped with special wide band receiver which is
36 intended to be used to learn output of existing remote. This ioctl
37 allows enabling or disabling it.
38
39 This might be useful of receivers that have otherwise narrow band receiver
40 that prevents them to be used with some remotes. Wide band receiver might
41 also be more precise. On the other hand its disadvantage it usually
42 reduced range of reception.
43
44 .. note::
45
46 Wide band receiver might be implicitly enabled if you enable
47 carrier reports. In that case it will be disabled as soon as you disable
48 carrier reports. Trying to disable wide band receiver while carrier
49 reports are active will do nothing.
50
51 Return Value
52 ============
53
54 On success 0 is returned, on error -1 and the ``errno`` variable is set
55 appropriately. The generic error codes are described at the
56 :ref:`Generic Error Codes <gen-errors>` chapter.
57

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

이름, 선언과 인자

1-31

`LIRC_SET_WIDEBAND_RECEIVER`는 LIRC 장치의 wideband receiver를 활성화하거나 비활성화합니다.

int ioctl(int fd, LIRC_SET_WIDEBAND_RECEIVER, __u32 *enable);
Wideband receiver 인자
인자 또는 값설명
fdopen()이 반환한 LIRC 장치 file descriptor
enable = 1Wideband receiver 활성화
enable = 0Wideband receiver 비활성화

0과 1로 receiver 경로를 선택합니다.

.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
.. c:namespace:: RC

.. _lirc_set_wideband_receiver:

********************************
ioctl LIRC_SET_WIDEBAND_RECEIVER
********************************

Name
====

LIRC_SET_WIDEBAND_RECEIVER - enable wide band receiver.

Synopsis
========

.. c:macro:: LIRC_SET_WIDEBAND_RECEIVER

``int ioctl(int fd, LIRC_SET_WIDEBAND_RECEIVER, __u32 *enable)``

Arguments
=========

``fd``
    File descriptor returned by open().

``enable``
    enable = 1 means enable wideband receiver, enable = 0 means disable
    wideband receiver.

Learning mode의 정밀도와 수신 거리

32-43

일부 receiver에는 기존 remote의 출력을 학습하기 위한 별도 wideband 수신 경로가 있습니다. 이 ioctl로 해당 경로를 켜거나 끕니다.

기본 narrowband receiver가 특정 remote의 carrier 범위를 막는 경우 wideband 경로가 유용하며 더 정밀할 수도 있습니다. 대신 일반적으로 수신 거리가 줄어드는 단점이 있습니다.

Wideband receiver tradeoff
항목설명
장점더 넓은 carrier 범위, 일부 장치에서 더 정밀한 학습
단점일반적으로 감소하는 수신 거리
주요 용도기존 remote 출력 학습

Remote 학습과 일반 수신의 우선순위가 다릅니다.

Description
===========

Some receivers are equipped with special wide band receiver which is
intended to be used to learn output of existing remote. This ioctl
allows enabling or disabling it.

This might be useful of receivers that have otherwise narrow band receiver
that prevents them to be used with some remotes. Wide band receiver might
also be more precise. On the other hand its disadvantage it usually
reduced range of reception.

Carrier report와 암시적 활성화

44-50

Carrier report를 활성화하면 wideband receiver가 암시적으로 함께 켜질 수 있습니다. 이 경우 carrier report를 끄는 즉시 wideband receiver도 비활성화됩니다.

Carrier report가 활성 상태인 동안 wideband receiver를 직접 끄려는 호출은 아무 효과가 없습니다. Application은 먼저 carrier report를 끈 뒤 wideband 상태를 제어해야 합니다.

Wideband 비활성화 순서
Carrier report 활성 여부 확인활성 상태이면 carrier report 먼저 비활성화암시적으로 켜진 wideband receiver가 함께 꺼졌는지 확인필요하면 enable = 0으로 wideband ioctl 호출

Carrier report가 receiver 상태를 소유할 수 있습니다.

.. note::

    Wide band receiver might be implicitly enabled if you enable
    carrier reports. In that case it will be disabled as soon as you disable
    carrier reports. Trying to disable wide band receiver while carrier
    reports are active will do nothing.

반환값

51-56

성공하면 0, 오류이면 -1을 반환하고 `errno`를 설정합니다. 공통 오류는 Generic Error Codes 절에 정의됩니다.

Return Value
============

On success 0 is returned, on error -1 and the ``errno`` variable is set
appropriately. The generic error codes are described at the
:ref:`Generic Error Codes <gen-errors>` chapter.