diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-07-04 11:23:19 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-08-02 14:18:40 -0400 |
commit | fab8125919c0fc724e11b184b1c812dfb8990549 (patch) | |
tree | d1936e4722a58935380324dc86be4bcfc928810d /Documentation/DocBook/v4l | |
parent | f0cae143e113d28ab89a930934c36f619c4367f0 (diff) |
V4L/DVB: DocBook/media: Add LIRC DocBook to media.html
Add LIRC interface into the media.html DocBook, fixing several
small XML errors at the original spec.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation/DocBook/v4l')
-rw-r--r-- | Documentation/DocBook/v4l/lirc_device_interface.xml | 88 | ||||
-rw-r--r-- | Documentation/DocBook/v4l/remote_controllers.xml | 2 |
2 files changed, 46 insertions, 44 deletions
diff --git a/Documentation/DocBook/v4l/lirc_device_interface.xml b/Documentation/DocBook/v4l/lirc_device_interface.xml index d9ae6803c2fc..0413234023d4 100644 --- a/Documentation/DocBook/v4l/lirc_device_interface.xml +++ b/Documentation/DocBook/v4l/lirc_device_interface.xml | |||
@@ -1,3 +1,4 @@ | |||
1 | <section id="lirc_dev"> | ||
1 | <title>LIRC Device Interface</title> | 2 | <title>LIRC Device Interface</title> |
2 | 3 | ||
3 | 4 | ||
@@ -17,15 +18,13 @@ and ioctl.</para> | |||
17 | <para>lirc_dev: IR Remote Control driver registered, major 248</para> | 18 | <para>lirc_dev: IR Remote Control driver registered, major 248</para> |
18 | <para>rc rc0: lirc_dev: driver ir-lirc-codec (mceusb) registered at minor = 0</para> | 19 | <para>rc rc0: lirc_dev: driver ir-lirc-codec (mceusb) registered at minor = 0</para> |
19 | </blockquote> | 20 | </blockquote> |
20 | <para> | ||
21 | 21 | ||
22 | <para>What you should see for a chardev:</para> | 22 | <para>What you should see for a chardev:</para> |
23 | <blockquote> | 23 | <blockquote> |
24 | <para>$ ls -l /dev/lirc*</para> | 24 | <para>$ ls -l /dev/lirc*</para> |
25 | <para>crw-rw---- 1 root root 248, 0 Jul 2 22:20 /dev/lirc0</para> | 25 | <para>crw-rw---- 1 root root 248, 0 Jul 2 22:20 /dev/lirc0</para> |
26 | </blockquote> | 26 | </blockquote> |
27 | </para> | 27 | </section> |
28 | |||
29 | 28 | ||
30 | <section id="lirc_read"> | 29 | <section id="lirc_read"> |
31 | <title>LIRC read fop</title> | 30 | <title>LIRC read fop</title> |
@@ -33,12 +32,12 @@ and ioctl.</para> | |||
33 | <para>The lircd userspace daemon reads raw IR data from the LIRC chardev. The | 32 | <para>The lircd userspace daemon reads raw IR data from the LIRC chardev. The |
34 | exact format of the data depends on what modes a driver supports, and what | 33 | exact format of the data depends on what modes a driver supports, and what |
35 | mode has been selected. lircd obtains supported modes and sets the active mode | 34 | mode has been selected. lircd obtains supported modes and sets the active mode |
36 | via the ioctl interface, detailed at <xref linkend="lirc_ioctl">. The generally | 35 | via the ioctl interface, detailed at <xref linkend="lirc_ioctl"/>. The generally |
37 | preferred mode is LIRC_MODE_MODE2, in which packets containing an int value | 36 | preferred mode is LIRC_MODE_MODE2, in which packets containing an int value |
38 | describing an IR signal are read from the chardev.</para> | 37 | describing an IR signal are read from the chardev.</para> |
39 | 38 | ||
40 | <para>See also <ulink url="http://www.lirc.org/html/technical.html">http://www.lirc.org/html/technical.html</> for more info.</para> | 39 | <para>See also <ulink url="http://www.lirc.org/html/technical.html">http://www.lirc.org/html/technical.html</ulink> for more info.</para> |
41 | 40 | </section> | |
42 | 41 | ||
43 | <section id="lirc_write"> | 42 | <section id="lirc_write"> |
44 | <title>LIRC write fop</title> | 43 | <title>LIRC write fop</title> |
@@ -48,10 +47,10 @@ values. Pulses and spaces are only marked implicitly by their position. The | |||
48 | data must start and end with a pulse, therefore, the data must always include | 47 | data must start and end with a pulse, therefore, the data must always include |
49 | an unevent number of samples. The write function must block until the data has | 48 | an unevent number of samples. The write function must block until the data has |
50 | been transmitted by the hardware.</para> | 49 | been transmitted by the hardware.</para> |
51 | 50 | </section> | |
52 | 51 | ||
53 | <section id="lirc_ioctl"> | 52 | <section id="lirc_ioctl"> |
54 | <title> LIRC ioctl fop</title> | 53 | <title>LIRC ioctl fop</title> |
55 | 54 | ||
56 | <para>The LIRC device's ioctl definition is bound by the ioctl function | 55 | <para>The LIRC device's ioctl definition is bound by the ioctl function |
57 | definition of struct file_operations, leaving us with an unsigned int | 56 | definition of struct file_operations, leaving us with an unsigned int |
@@ -69,167 +68,168 @@ on working with the default settings initially.</para> | |||
69 | <varlistentry> | 68 | <varlistentry> |
70 | <term>LIRC_GET_FEATURES</term> | 69 | <term>LIRC_GET_FEATURES</term> |
71 | <listitem> | 70 | <listitem> |
72 | <to>Obviously, get the underlying hardware device's features. If a driver | 71 | <para>Obviously, get the underlying hardware device's features. If a driver |
73 | does not announce support of certain features, calling of the corresponding | 72 | does not announce support of certain features, calling of the corresponding |
74 | ioctls is undefined.</to> | 73 | ioctls is undefined.</para> |
75 | </listitem> | 74 | </listitem> |
76 | </varlistentry> | 75 | </varlistentry> |
77 | <varlistentry> | 76 | <varlistentry> |
78 | <term>LIRC_GET_SEND_MODE</term> | 77 | <term>LIRC_GET_SEND_MODE</term> |
79 | <listitem> | 78 | <listitem> |
80 | <to>Get supported transmit mode. Only LIRC_MODE_PULSE is supported by lircd.</to> | 79 | <para>Get supported transmit mode. Only LIRC_MODE_PULSE is supported by lircd.</para> |
81 | </listitem> | 80 | </listitem> |
82 | </varlistentry> | 81 | </varlistentry> |
83 | <varlistentry> | 82 | <varlistentry> |
84 | <term>LIRC_GET_REC_MODE</term> | 83 | <term>LIRC_GET_REC_MODE</term> |
85 | <listitem> | 84 | <listitem> |
86 | <to>Get supported receive modes. Only LIRC_MODE_MODE2 and LIRC_MODE_LIRCCODE | 85 | <para>Get supported receive modes. Only LIRC_MODE_MODE2 and LIRC_MODE_LIRCCODE |
87 | are supported by lircd.</to> | 86 | are supported by lircd.</para> |
88 | </listitem> | 87 | </listitem> |
89 | </varlistentry> | 88 | </varlistentry> |
90 | <varlistentry> | 89 | <varlistentry> |
91 | <term>LIRC_GET_SEND_CARRIER</term> | 90 | <term>LIRC_GET_SEND_CARRIER</term> |
92 | <listitem> | 91 | <listitem> |
93 | <to>Get carrier frequency (in Hz) currently used for transmit.</to> | 92 | <para>Get carrier frequency (in Hz) currently used for transmit.</para> |
94 | </listitem> | 93 | </listitem> |
95 | </varlistentry> | 94 | </varlistentry> |
96 | <varlistentry> | 95 | <varlistentry> |
97 | <term>LIRC_GET_REC_CARRIER</term> | 96 | <term>LIRC_GET_REC_CARRIER</term> |
98 | <listitem> | 97 | <listitem> |
99 | <to>Get carrier frequency (in Hz) currently used for IR reception.</to> | 98 | <para>Get carrier frequency (in Hz) currently used for IR reception.</para> |
100 | </listitem> | 99 | </listitem> |
101 | </varlistentry> | 100 | </varlistentry> |
102 | <varlistentry> | 101 | <varlistentry> |
103 | <term>LIRC_{G,S}ET_{SEND,REC}_DUTY_CYCLE</term> | 102 | <term>LIRC_{G,S}ET_{SEND,REC}_DUTY_CYCLE</term> |
104 | <listitem> | 103 | <listitem> |
105 | <to>Get/set the duty cycle (from 0 to 100) of the carrier signal. Currently, | 104 | <para>Get/set the duty cycle (from 0 to 100) of the carrier signal. Currently, |
106 | no special meaning is defined for 0 or 100, but this could be used to switch | 105 | no special meaning is defined for 0 or 100, but this could be used to switch |
107 | off carrier generation in the future, so these values should be reserved.</to> | 106 | off carrier generation in the future, so these values should be reserved.</para> |
108 | </listitem> | 107 | </listitem> |
109 | </varlistentry> | 108 | </varlistentry> |
110 | <varlistentry> | 109 | <varlistentry> |
111 | <term>LIRC_GET_REC_RESOLUTION</term> | 110 | <term>LIRC_GET_REC_RESOLUTION</term> |
112 | <listitem> | 111 | <listitem> |
113 | <to>Some receiver have maximum resolution which is defined by internal | 112 | <para>Some receiver have maximum resolution which is defined by internal |
114 | sample rate or data format limitations. E.g. it's common that signals can | 113 | sample rate or data format limitations. E.g. it's common that signals can |
115 | only be reported in 50 microsecond steps. This integer value is used by | 114 | only be reported in 50 microsecond steps. This integer value is used by |
116 | lircd to automatically adjust the aeps tolerance value in the lircd | 115 | lircd to automatically adjust the aeps tolerance value in the lircd |
117 | config file.</to> | 116 | config file.</para> |
118 | </listitem> | 117 | </listitem> |
119 | </varlistentry> | 118 | </varlistentry> |
120 | <varlistentry> | 119 | <varlistentry> |
121 | <term>LIRC_GET_M{IN,AX}_TIMEOUT</term> | 120 | <term>LIRC_GET_M{IN,AX}_TIMEOUT</term> |
122 | <listitem> | 121 | <listitem> |
123 | <to>Some devices have internal timers that can be used to detect when | 122 | <para>Some devices have internal timers that can be used to detect when |
124 | there's no IR activity for a long time. This can help lircd in detecting | 123 | there's no IR activity for a long time. This can help lircd in detecting |
125 | that a IR signal is finished and can speed up the decoding process. | 124 | that a IR signal is finished and can speed up the decoding process. |
126 | Returns an integer value with the minimum/maximum timeout that can be | 125 | Returns an integer value with the minimum/maximum timeout that can be |
127 | set. Some devices have a fixed timeout, in that case both ioctls will | 126 | set. Some devices have a fixed timeout, in that case both ioctls will |
128 | return the same value even though the timeout cannot be changed.</to> | 127 | return the same value even though the timeout cannot be changed.</para> |
129 | </listitem> | 128 | </listitem> |
130 | </varlistentry> | 129 | </varlistentry> |
131 | <varlistentry> | 130 | <varlistentry> |
132 | <term>LIRC_GET_M{IN,AX}_FILTER_{PULSE,SPACE}</term> | 131 | <term>LIRC_GET_M{IN,AX}_FILTER_{PULSE,SPACE}</term> |
133 | <listitem> | 132 | <listitem> |
134 | <to>Some devices are able to filter out spikes in the incoming signal | 133 | <para>Some devices are able to filter out spikes in the incoming signal |
135 | using given filter rules. These ioctls return the hardware capabilities | 134 | using given filter rules. These ioctls return the hardware capabilities |
136 | that describe the bounds of the possible filters. Filter settings depend | 135 | that describe the bounds of the possible filters. Filter settings depend |
137 | on the IR protocols that are expected. lircd derives the settings from | 136 | on the IR protocols that are expected. lircd derives the settings from |
138 | all protocols definitions found in its config file.</to> | 137 | all protocols definitions found in its config file.</para> |
139 | </listitem> | 138 | </listitem> |
140 | </varlistentry> | 139 | </varlistentry> |
141 | <varlistentry> | 140 | <varlistentry> |
142 | <term>LIRC_GET_LENGTH</term> | 141 | <term>LIRC_GET_LENGTH</term> |
143 | <listitem> | 142 | <listitem> |
144 | <to>Retrieves the code length in bits (only for LIRC_MODE_LIRCCODE). | 143 | <para>Retrieves the code length in bits (only for LIRC_MODE_LIRCCODE). |
145 | Reads on the device must be done in blocks matching the bit count. | 144 | Reads on the device must be done in blocks matching the bit count. |
146 | The bit could should be rounded up so that it matches full bytes.</to> | 145 | The bit could should be rounded up so that it matches full bytes.</para> |
147 | </listitem> | 146 | </listitem> |
148 | </varlistentry> | 147 | </varlistentry> |
149 | <varlistentry> | 148 | <varlistentry> |
150 | <term>LIRC_SET_{SEND,REC}_MODE</term> | 149 | <term>LIRC_SET_{SEND,REC}_MODE</term> |
151 | <listitem> | 150 | <listitem> |
152 | <to>Set send/receive mode. Largely obsolete for send, as only | 151 | <para>Set send/receive mode. Largely obsolete for send, as only |
153 | LIRC_MODE_PULSE is supported.</to> | 152 | LIRC_MODE_PULSE is supported.</para> |
154 | </listitem> | 153 | </listitem> |
155 | </varlistentry> | 154 | </varlistentry> |
156 | <varlistentry> | 155 | <varlistentry> |
157 | <term>LIRC_SET_{SEND,REC}_CARRIER</term> | 156 | <term>LIRC_SET_{SEND,REC}_CARRIER</term> |
158 | <listitem> | 157 | <listitem> |
159 | <to>Set send/receive carrier (in Hz).</to> | 158 | <para>Set send/receive carrier (in Hz).</para> |
160 | </listitem> | 159 | </listitem> |
161 | </varlistentry> | 160 | </varlistentry> |
162 | <varlistentry> | 161 | <varlistentry> |
163 | <term>LIRC_SET_TRANSMITTER_MASK</term> | 162 | <term>LIRC_SET_TRANSMITTER_MASK</term> |
164 | <listitem> | 163 | <listitem> |
165 | <to>This enables the given set of transmitters. The first transmitter | 164 | <para>This enables the given set of transmitters. The first transmitter |
166 | is encoded by the least significant bit, etc. When an invalid bit mask | 165 | is encoded by the least significant bit, etc. When an invalid bit mask |
167 | is given, i.e. a bit is set, even though the device does not have so many | 166 | is given, i.e. a bit is set, even though the device does not have so many |
168 | transitters, then this ioctl returns the number of available transitters | 167 | transitters, then this ioctl returns the number of available transitters |
169 | and does nothing otherwise.</to> | 168 | and does nothing otherwise.</para> |
170 | </listitem> | 169 | </listitem> |
171 | </varlistentry> | 170 | </varlistentry> |
172 | <varlistentry> | 171 | <varlistentry> |
173 | <term>LIRC_SET_REC_TIMEOUT</term> | 172 | <term>LIRC_SET_REC_TIMEOUT</term> |
174 | <listitem> | 173 | <listitem> |
175 | <to>Sets the integer value for IR inactivity timeout (cf. | 174 | <para>Sets the integer value for IR inactivity timeout (cf. |
176 | LIRC_GET_MIN_TIMEOUT and LIRC_GET_MAX_TIMEOUT). A value of 0 (if | 175 | LIRC_GET_MIN_TIMEOUT and LIRC_GET_MAX_TIMEOUT). A value of 0 (if |
177 | supported by the hardware) disables all hardware timeouts and data should | 176 | supported by the hardware) disables all hardware timeouts and data should |
178 | be reported as soon as possible. If the exact value cannot be set, then | 177 | be reported as soon as possible. If the exact value cannot be set, then |
179 | the next possible value _greater_ than the given value should be set.</to> | 178 | the next possible value _greater_ than the given value should be set.</para> |
180 | </listitem> | 179 | </listitem> |
181 | </varlistentry> | 180 | </varlistentry> |
182 | <varlistentry> | 181 | <varlistentry> |
183 | <term>LIRC_SET_REC_TIMEOUT_REPORTS</term> | 182 | <term>LIRC_SET_REC_TIMEOUT_REPORTS</term> |
184 | <listitem> | 183 | <listitem> |
185 | <to>Enable (1) or disable (0) timeout reports in LIRC_MODE_MODE2. By | 184 | <para>Enable (1) or disable (0) timeout reports in LIRC_MODE_MODE2. By |
186 | default, timeout reports should be turned off.</to> | 185 | default, timeout reports should be turned off.</para> |
187 | </listitem> | 186 | </listitem> |
188 | </varlistentry> | 187 | </varlistentry> |
189 | <varlistentry> | 188 | <varlistentry> |
190 | <term>LIRC_SET_REC_FILTER_{,PULSE,SPACE}</term> | 189 | <term>LIRC_SET_REC_FILTER_{,PULSE,SPACE}</term> |
191 | <listitem> | 190 | <listitem> |
192 | <to>Pulses/spaces shorter than this are filtered out by hardware. If | 191 | <para>Pulses/spaces shorter than this are filtered out by hardware. If |
193 | filters cannot be set independently for pulse/space, the corresponding | 192 | filters cannot be set independently for pulse/space, the corresponding |
194 | ioctls must return an error and LIRC_SET_REC_FILTER shall be used instead.</to> | 193 | ioctls must return an error and LIRC_SET_REC_FILTER shall be used instead.</para> |
195 | </listitem> | 194 | </listitem> |
196 | </varlistentry> | 195 | </varlistentry> |
197 | <varlistentry> | 196 | <varlistentry> |
198 | <term>LIRC_SET_MEASURE_CARRIER_MODE</term> | 197 | <term>LIRC_SET_MEASURE_CARRIER_MODE</term> |
199 | <listitem> | 198 | <listitem> |
200 | <to>Enable (1)/disable (0) measure mode. If enabled, from the next key | 199 | <para>Enable (1)/disable (0) measure mode. If enabled, from the next key |
201 | press on, the driver will send LIRC_MODE2_FREQUENCY packets. By default | 200 | press on, the driver will send LIRC_MODE2_FREQUENCY packets. By default |
202 | this should be turned off.</to> | 201 | this should be turned off.</para> |
203 | </listitem> | 202 | </listitem> |
204 | </varlistentry> | 203 | </varlistentry> |
205 | <varlistentry> | 204 | <varlistentry> |
206 | <term>LIRC_SET_REC_{DUTY_CYCLE,CARRIER}_RANGE</term> | 205 | <term>LIRC_SET_REC_{DUTY_CYCLE,CARRIER}_RANGE</term> |
207 | <listitem> | 206 | <listitem> |
208 | <to>To set a range use LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE | 207 | <para>To set a range use LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE |
209 | with the lower bound first and later LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER | 208 | with the lower bound first and later LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER |
210 | with the upper bound.</to> | 209 | with the upper bound.</para> |
211 | </listitem> | 210 | </listitem> |
212 | </varlistentry> | 211 | </varlistentry> |
213 | <varlistentry> | 212 | <varlistentry> |
214 | <term>LIRC_NOTIFY_DECODE</term> | 213 | <term>LIRC_NOTIFY_DECODE</term> |
215 | <listitem> | 214 | <listitem> |
216 | <to>This ioctl is called by lircd whenever a successful decoding of an | 215 | <para>This ioctl is called by lircd whenever a successful decoding of an |
217 | incoming IR signal could be done. This can be used by supporting hardware | 216 | incoming IR signal could be done. This can be used by supporting hardware |
218 | to give visual feedback to the user e.g. by flashing a LED.</to> | 217 | to give visual feedback to the user e.g. by flashing a LED.</para> |
219 | </listitem> | 218 | </listitem> |
220 | </varlistentry> | 219 | </varlistentry> |
221 | <varlistentry> | 220 | <varlistentry> |
222 | <term>LIRC_SETUP_{START,END}</term> | 221 | <term>LIRC_SETUP_{START,END}</term> |
223 | <listitem> | 222 | <listitem> |
224 | <to>Setting of several driver parameters can be optimized by encapsulating | 223 | <para>Setting of several driver parameters can be optimized by encapsulating |
225 | the according ioctl calls with LIRC_SETUP_START/LIRC_SETUP_END. When a | 224 | the according ioctl calls with LIRC_SETUP_START/LIRC_SETUP_END. When a |
226 | driver receives a LIRC_SETUP_START ioctl it can choose to not commit | 225 | driver receives a LIRC_SETUP_START ioctl it can choose to not commit |
227 | further setting changes to the hardware until a LIRC_SETUP_END is received. | 226 | further setting changes to the hardware until a LIRC_SETUP_END is received. |
228 | But this is open to the driver implementation and every driver must also | 227 | But this is open to the driver implementation and every driver must also |
229 | handle parameter changes which are not encapsulated by LIRC_SETUP_START | 228 | handle parameter changes which are not encapsulated by LIRC_SETUP_START |
230 | and LIRC_SETUP_END. Drivers can also choose to ignore these ioctls.</to> | 229 | and LIRC_SETUP_END. Drivers can also choose to ignore these ioctls.</para> |
231 | </listitem> | 230 | </listitem> |
232 | </varlistentry> | 231 | </varlistentry> |
233 | </variablelist> | 232 | </variablelist> |
234 | 233 | ||
235 | </section> | 234 | </section> |
235 | </section> | ||
diff --git a/Documentation/DocBook/v4l/remote_controllers.xml b/Documentation/DocBook/v4l/remote_controllers.xml index 73f5eab091f4..3c3b667b28e7 100644 --- a/Documentation/DocBook/v4l/remote_controllers.xml +++ b/Documentation/DocBook/v4l/remote_controllers.xml | |||
@@ -173,3 +173,5 @@ keymapping.</para> | |||
173 | <para>This program demonstrates how to replace the keymap tables.</para> | 173 | <para>This program demonstrates how to replace the keymap tables.</para> |
174 | &sub-keytable-c; | 174 | &sub-keytable-c; |
175 | </section> | 175 | </section> |
176 | |||
177 | &sub-lirc_device_interface; | ||