]> cloudbase.mooo.com Git - irmp.git/blame - irmp.c
Version 1.1: Added Bang & Olufsen protocol
[irmp.git] / irmp.c
Content-type: text/html ]> cloudbase.mooo.com Git - irmp.git/blame - irmp.c


500 - Internal Server Error

Malformed UTF-8 character (fatal) at (eval 6) line 1, <$fd> line 353.
CommitLineData
4225a882 1/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
2 * irmp.c - infrared multi-protocol decoder, supports several remote control protocols\r
3 *\r
4 * Copyright (c) 2009-2010 Frank Meyer - frank(at)fli4l.de\r
5 *\r
504d9df9 6 * $Id: irmp.c,v 1.15 2010/04/12 10:15:40 fm Exp $\r
cb8474cc 7 *\r
4225a882 8 * ATMEGA88 @ 8 MHz\r
9 *\r
10 * Typical manufacturers:\r
11 *\r
12 * SIRCS - Sony\r
13 * NEC - NEC, Yamaha, Canon, Tevion, Harman/Kardon, Hitachi, JVC, Pioneer, Toshiba, Xoro, Orion, and many other Japanese manufacturers\r
14 * SAMSUNG - Samsung\r
15 * MATSUSHITA - Matsushita\r
16 * KASEIKYO - Panasonic, Denon & other Japanese manufacturers (members of "Japan's Association for Electric Home Application")\r
17 * RECS80 - Philips, Nokia, Thomson, Nordmende, Telefunken, Saba\r
18 * RC5 - Philips and other European manufacturers\r
19 * DENON - Denon\r
20 * RC6 - Philips and other European manufacturers\r
21 * APPLE - Apple\r
22 * NUBERT - Nubert Subwoofer System\r
23 * PANASONIC - Panasonic (older, yet not implemented)\r
24 *\r
25 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
26 *\r
27 * SIRCS\r
28 * -----\r
29 *\r
30 * frame: 1 start bit + 12-20 data bits + no stop bit\r
31 * data: 7 command bits + 5 address bits + 0 to 8 additional bits\r
32 *\r
33 * start bit: data "0": data "1": stop bit:\r
34 * -----------------_________ ------_____ ------------______\r
35 * 2400us 600us 600us 600us 1200us 600 us no stop bit\r
36 *\r
37 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
38 *\r
39 * NEC + extended NEC\r
40 * -------------------------\r
41 *\r
42 * frame: 1 start bit + 32 data bits + 1 stop bit\r
43 * data NEC: 8 address bits + 8 inverted address bits + 8 command bits + 8 inverted command bits\r
44 * data extended NEC: 16 address bits + 8 command bits + 8 inverted command bits\r
45 *\r
46 * start bit: data "0": data "1": stop bit:\r
47 * -----------------_________ ------______ ------________________ ------______....\r
48 * 9000us 4500us 560us 560us 560us 1690 us 560us\r
49 *\r
50 *\r
51 * Repetition frame:\r
52 *\r
53 * -----------------_________------______ .... ~100ms Pause, then repeat\r
54 * 9000us 2250us 560us\r
55 *\r
56 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
57 *\r
58 * SAMSUNG\r
59 * -------\r
60 *\r
61 * frame: 1 start bit + 16 data(1) bits + 1 sync bit + additional 20 data(2) bits + 1 stop bit\r
62 * data(1): 16 address bits\r
63 * data(2): 4 ID bits + 8 command bits + 8 inverted command bits\r
64 *\r
65 * start bit: data "0": data "1": sync bit: stop bit:\r
66 * ----------______________ ------______ ------________________ ------______________ ------______....\r
67 * 4500us 4500us 550us 450us 550us 1450us 550us 4500us 550us\r
68 *\r
69 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
70 *\r
71 * SAMSUNG32\r
72 * ----------\r
73 *\r
74 * frame: 1 start bit + 32 data bits + 1 stop bit\r
75 * data: 16 address bits + 16 command bits\r
76 *\r
77 * start bit: data "0": data "1": stop bit:\r
78 * ----------______________ ------______ ------________________ ------______....\r
79 * 4500us 4500us 550us 450us 550us 1450us 550us\r
80 *\r
81 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
82 *\r
83 * MATSUSHITA\r
84 * ----------\r
85 *\r
86 * frame: 1 start bit + 24 data bits + 1 stop bit\r
87 * data: 6 custom bits + 6 command bits + 12 address bits\r
88 *\r
89 * start bit: data "0": data "1": stop bit:\r
90 * ----------_________ ------______ ------________________ ------______....\r
91 * 3488us 3488us 872us 872us 872us 2616us 872us\r
92 *\r
93 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
94 *\r
95 * KASEIKYO\r
96 * --------\r
97 *\r
98 * frame: 1 start bit + 48 data bits + 1 stop bit\r
99 * data: 16 manufacturer bits + 4 parity bits + 4 genre1 bits + 4 genre2 bits + 10 command bits + 2 id bits + 8 parity bits\r
100 *\r
101 * start bit: data "0": data "1": stop bit:\r
102 * ----------______ ------______ ------________________ ------______....\r
103 * 3380us 1690us 423us 423us 423us 1269us 423us\r
104 *\r
105 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
106 *\r
107 * RECS80\r
108 * ------\r
109 *\r
110 * frame: 2 start bits + 10 data bits + 1 stop bit\r
111 * data: 1 toggle bit + 3 address bits + 6 command bits\r
112 *\r
113 * start bit: data "0": data "1": stop bit:\r
114 * -----_____________________ -----____________ -----______________ ------_______....\r
115 * 158us 7432us 158us 4902us 158us 7432us 158us\r
116 *\r
117 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
118 *\r
119 * RECS80EXT\r
120 * ---------\r
121 *\r
122 * frame: 2 start bits + 11 data bits + 1 stop bit\r
123 * data: 1 toggle bit + 4 address bits + 6 command bits\r
124 *\r
125 * start bit: data "0": data "1": stop bit:\r
126 * -----_____________________ -----____________ -----______________ ------_______....\r
127 * 158us 3637us 158us 4902us 158us 7432us 158us\r
128 *\r
129 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
130 *\r
131 * RC5 + RC5X\r
132 * ----------\r
133 *\r
134 * RC5 frame: 2 start bits + 12 data bits + no stop bit\r
135 * RC5 data: 1 toggle bit + 5 address bits + 6 command bits\r
136 * RC5X frame: 1 start bit + 13 data bits + no stop bit\r
137 * RC5X data: 1 inverted command bit + 1 toggle bit + 5 address bits + 6 command bits\r
138 *\r
139 * start bit: data "0": data "1":\r
140 * ______----- ------______ ______------\r
141 * 889us 889us 889us 889us 889us 889us\r
142 *\r
143 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
144 *\r
145 * DENON\r
146 * -----\r
147 *\r
148 * frame: 0 start bits + 16 data bits + stop bit + 65ms pause + 16 inverted data bits + stop bit\r
149 * data: 5 address bits + 10 command bits\r
150 *\r
151 * data "0": data "1":\r
152 * ------________________ ------______________\r
153 * 275us 1050us 275us 1900us\r
154 *\r
155 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
156 *\r
157 * RC6\r
158 * ---\r
159 *\r
160