Lines Matching +full:a +full:- +full:8

1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
9 IR is encoded as a series of pulses and spaces, using a protocol. These
10 protocols can encode e.g. an address (which device should respond) and a
12 across different devices for a given protocol.
14 Therefore out the output of the IR decoder is a scancode; a single u32
17 Other things can be encoded too. Some IR protocols encode a toggle bit; this
22 Some remotes have a pointer-type device which can used to control the
29 rc-5 (RC_PROTO_RC5)
30 -------------------
32 This IR protocol uses manchester encoding to encode 14 bits. There is a
38 .. flat-table:: rc5 bits scancode mapping
41 * - rc-5 bit
43 - scancode bit
45 - description
47 * - 1
49 - none
51 - Start bit, always set
53 * - 1
55 - 6 (inverted)
57 - 2nd start bit in rc5, re-used as 6th command bit
59 * - 1
61 - none
63 - Toggle bit
65 * - 5
67 - 8 to 13
69 - Address
71 * - 6
73 - 0 to 5
75 - Command
77 There is a variant of rc5 called either rc5x or extended rc5
81 done to keep it compatible with plain rc-5 where there are two start bits.
83 rc-5-sz (RC_PROTO_RC5_SZ)
84 -------------------------
85 This is much like rc-5 but one bit longer. The scancode is encoded
88 .. flat-table:: rc-5-sz bits scancode mapping
91 * - rc-5-sz bits
93 - scancode bit
95 - description
97 * - 1
99 - none
101 - Start bit, always set
103 * - 1
105 - 13
107 - Address bit
109 * - 1
111 - none
113 - Toggle bit
115 * - 6
117 - 6 to 11
119 - Address
121 * - 6
123 - 0 to 5
125 - Command
127 rc-5x-20 (RC_PROTO_RC5X_20)
128 ---------------------------
130 This rc-5 extended to encoded 20 bits. The is a 3555 microseconds space
131 after the 8th bit.
133 .. flat-table:: rc-5x-20 bits scancode mapping
136 * - rc-5-sz bits
138 - scancode bit
140 - description
142 * - 1
144 - none
146 - Start bit, always set
148 * - 1
150 - 14
152 - Address bit
154 * - 1
156 - none
158 - Toggle bit
160 * - 5
162 - 16 to 20
164 - Address
166 * - 6
168 - 8 to 13
170 - Address
172 * - 6
174 - 0 to 5
176 - Command
180 ------------------
185 The scancode is a 16 bits value, where the address is the lower 8 bits
186 and the command the higher 8 bits; this is reversed from IR order.
188 sony-12 (RC_PROTO_SONY12)
189 -------------------------
191 The sony protocol is a pulse-width encoding. There are three variants,
194 .. flat-table:: sony-12 bits scancode mapping
197 * - sony-12 bits
199 - scancode bit
201 - description
203 * - 5
205 - 16 to 20
207 - device
209 * - 7
211 - 0 to 6
213 - function
215 sony-15 (RC_PROTO_SONY15)
216 -------------------------
218 The sony protocol is a pulse-width encoding. There are three variants,
221 .. flat-table:: sony-12 bits scancode mapping
224 * - sony-12 bits
226 - scancode bit
228 - description
230 * - 8
232 - 16 to 23
234 - device
236 * - 7
238 - 0 to 6
240 - function
242 sony-20 (RC_PROTO_SONY20)
243 -------------------------
245 The sony protocol is a pulse-width encoding. There are three variants,
248 .. flat-table:: sony-20 bits scancode mapping
251 * - sony-20 bits
253 - scancode bit
255 - description
257 * - 5
259 - 16 to 20
261 - device
263 * - 7
265 - 0 to 7
267 - device
269 * - 8
271 - 8 to 15
273 - extended bits
276 ------------------
278 The nec protocol encodes an 8 bit address and an 8 bit command. It is
282 As a check, the nec protocol sends the address and command twice; the
285 A plain nec IR message has 16 bits; the high 8 bits are the address
286 and the low 8 bits are the command.
288 nec-x (RC_PROTO_NECX)
289 ---------------------
291 Extended nec has a 16 bit address and a 8 bit command. This is encoded
292 as a 24 bit value as you would expect, with the lower 8 bits the command
295 nec-32 (RC_PROTO_NEC32)
296 -----------------------
298 nec-32 does not send an inverted address or an inverted command; the
301 For this to be decoded correctly, the second 8 bits must not be the
302 inverted value of the first, and also the last 8 bits must not be the
303 inverted value of the third 8 bit value.
305 The scancode has a somewhat unusual encoding.
307 .. flat-table:: nec-32 bits scancode mapping
309 * - nec-32 bits
311 - scancode bit
313 * - First 8 bits
315 - 16 to 23
317 * - Second 8 bits
319 - 24 to 31
321 * - Third 8 bits
323 - 0 to 7
325 * - Fourth 8 bits
327 - 8 to 15
330 ----------------------
333 rather than 8 bits. Both the address and the command are followed by
336 Bis 8 to 20 of the scancode is the 13 bits address, and the lower 8
339 mcir2-kbd (RC_PROTO_MCIR2_KBD)
340 ------------------------------
343 events. Refer to the ir-mce_kbd-decoder.c to see how it is encoded.
345 mcir2-mse (RC_PROTO_MCIR2_MSE)
346 ------------------------------
349 events. Refer to the ir-mce_kbd-decoder.c to see how it is encoded.
351 rc-6-0 (RC_PROTO_RC6_0)
352 -----------------------
354 This is the rc-6 in mode 0. rc-6 is described here
356 The scancode is the exact 16 bits as in the protocol. There is also a
359 rc-6-6a-20 (RC_PROTO_RC6_6A_20)
360 -------------------------------
362 This is the rc-6 in mode 6a, 20 bits. rc-6 is described here
365 as in the protocol. There is also a toggle bit.
367 rc-6-6a-24 (RC_PROTO_RC6_6A_24)
368 -------------------------------
370 This is the rc-6 in mode 6a, 24 bits. rc-6 is described here
373 as in the protocol. There is also a toggle bit.
375 rc-6-6a-32 (RC_PROTO_RC6_6A_32)
376 -------------------------------
378 This is the rc-6 in mode 6a, 32 bits. rc-6 is described here
381 and the lower 16 bits are the vendor-specific bits. This protocol is
382 for the non-Microsoft MCE variant (vendor != 0x800f).
385 rc-6-mce (RC_PROTO_RC6_MCE)
386 ---------------------------
388 This is the rc-6 in mode 6a, 32 bits. The upper 16 bits are the vendor,
389 and the lower 16 bits are the vendor-specific bits. This protocol is
395 ----------------------
397 This is a protocol used by Sharp VCRs, is described here
398 https://www.sbprojects.net/knowledge/ir/sharp.php. There is a very long
402 There is a 5 bit address and a 8 bit command. In the scancode the address is
403 in bits 8 to 12, and the command in bits 0 to 7.
406 ------------------
409 to the decoder (ir-xmp-decoder.c) to see how it is encoded.
413 ------------------
415 This is not an IR protocol, this is a protocol over CEC. The CEC
416 infrastructure uses rc-core for handling CEC commands, so that they
420 --------------------
428 rc-mm-12 (RC_PROTO_RCMM12)
429 --------------------------
431 The rc-mm protocol is described here
435 rc-mm-24 (RC_PROTO_RCMM24)
436 --------------------------
438 The rc-mm protocol is described here
442 rc-mm-32 (RC_PROTO_RCMM32)
443 --------------------------
445 The rc-mm protocol is described here
449 xbox-dvd (RC_PROTO_XBOX_DVD)
450 ----------------------------
453 XBox. There is no in-kernel decoder or encoder for this protocol. The usb
454 device decodes the protocol. There is a BPF decoder available in v4l-utils.