]> cloudbase.mooo.com Git - irmp.git/blame - irmp.c
Version 1.3.0: added Grundig protocol, fixed auto repetition detection for SIRCS...
[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 381.
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
592411d1 6 * $Id: irmp.c,v 1.24 2010/05/16 21:58:13 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
46dd89b7 15 * SAMSUNG32 - Samsung\r
4225a882 16 * MATSUSHITA - Matsushita\r
17 * KASEIKYO - Panasonic, Denon & other Japanese manufacturers (members of "Japan's Association for Electric Home Application")\r
18 * RECS80 - Philips, Nokia, Thomson, Nordmende, Telefunken, Saba\r
19 * RC5 - Philips and other European manufacturers\r
20 * DENON - Denon\r
21 * RC6 - Philips and other European manufacturers\r
22 * APPLE - Apple\r
23 * NUBERT - Nubert Subwoofer System\r
fef942f6 24 * B&O - Bang & Olufsen\r
4225a882 25 * PANASONIC - Panasonic (older, yet not implemented)\r
592411d1 26 * Grundig - Grundig\r
4225a882 27 *\r
28 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
29 *\r
30 * SIRCS\r
31 * -----\r
32 *\r
33 * frame: 1 start bit + 12-20 data bits + no stop bit\r
34 * data: 7 command bits + 5 address bits + 0 to 8 additional bits\r
35 *\r
36 * start bit: data "0": data "1": stop bit:\r
37 * -----------------_________ ------_____ ------------______\r
38 * 2400us 600us 600us 600us 1200us 600 us no stop bit\r
39 *\r
40 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
41 *\r
42 * NEC + extended NEC\r
43 * -------------------------\r
44 *\r
45 * frame: 1 start bit + 32 data bits + 1 stop bit\r
46 * data NEC: 8 address bits + 8 inverted address bits + 8 command bits + 8 inverted command bits\r
47 * data extended NEC: 16 address bits + 8 command bits + 8 inverted command bits\r
48 *\r
49 * start bit: data "0": data "1": stop bit:\r
50 * -----------------_________ ------______ ------________________ ------______....\r
51 * 9000us 4500us 560us 560us 560us 1690 us 560us\r
52 *\r
53 *\r
54 * Repetition frame:\r
55 *\r
56 * -----------------_________------______ .... ~100ms Pause, then repeat\r
57 * 9000us 2250us 560us\r
58 *\r
59 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
60 *\r
61 * SAMSUNG\r
62 * -------\r
63 *\r
64 * frame: 1 start bit + 16 data(1) bits + 1 sync bit + additional 20 data(2) bits + 1 stop bit\r
65 * data(1): 16 address bits\r
66 * data(2): 4 ID bits + 8 command bits + 8 inverted command bits\r
67 *\r
68 * start bit: data "0": data "1": sync bit: stop bit:\r
69 * ----------______________ ------______ ------________________ ------______________ ------______....\r
70 * 4500us 4500us 550us 450us 550us 1450us 550us 4500us 550us\r
71 *\r
72 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
73 *\r
74 * SAMSUNG32\r
75 * ----------\r
76 *\r
77 * frame: 1 start bit + 32 data bits + 1 stop bit\r
78 * data: 16 address bits + 16 command bits\r
79 *\r
80 * start bit: data "0": data "1": stop bit:\r
81 * ----------______________ ------______ ------________________ ------______....\r
82 * 4500us 4500us 550us 450us 550us 1450us 550us\r
83 *\r
84 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
85 *\r
86 * MATSUSHITA\r
87 * ----------\r
88 *\r
89 * frame: 1 start bit + 24 data bits + 1 stop bit\r
90 * data: 6 custom bits + 6 command bits + 12 address bits\r
91 *\r
92 * start bit: data "0": data "1": stop bit:\r
93 * ----------_________ ------______ ------________________ ------______....\r
94 * 3488us 3488us 872us 872us 872us 2616us 872us\r
95 *\r
96 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
97 *\r
98 * KASEIKYO\r
99 * --------\r
100 *\r
101 * frame: 1 start bit + 48 data bits + 1 stop bit\r
102 * data: 16 manufacturer bits + 4 parity bits + 4 genre1 bits + 4 genre2 bits + 10 command bits + 2 id bits + 8 parity bits\r
103 *\r
104 * start bit: data "0": data "1": stop bit:\r
105 * ----------______ ------______ ------________________ ------______....\r
106 * 3380us 1690us 423us 423us 423us 1269us 423us\r
107 *\r
108 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
109 *\r
110 * RECS80\r
111 * ------\r
112 *\r
113 * frame: 2 start bits + 10 data bits + 1 stop bit\r
114 * data: 1 toggle bit + 3 address bits + 6 command bits\r
115 *\r
116 * start bit: data "0": data "1": stop bit:\r
117 * -----_____________________ -----____________ -----______________ ------_______....\r
118 * 158us 7432us 158us 4902us 158us 7432us 158us\r
119 *\r
120 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
121 *\r
122 * RECS80EXT\r
123 * ---------\r
124 *\r
125 * frame: 2 start bits + 11 data bits + 1 stop bit\r
126 * data: 1 toggle bit + 4 address bits + 6 command bits\r
127 *\r
128 * start bit: data "0": data "1": stop bit:\r
129 * -----_____________________ -----____________ -----______________ ------_______....\r
130 * 158us 3637us 158us 4902us 158us 7432us 158us\r
131 *\r
132 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
133 *\r
134 * RC5 + RC5X\r
135 * ----------\r
136 *\r
137 * RC5 frame: 2 start bits + 12 data bits + no stop bit\r
138 * RC5 data: 1 toggle bit + 5 address bits + 6 command bits\r
139 * RC5X frame: 1 start bit + 13 data bits + no stop bit\r
140 * RC5X data: 1 inverted command bit + 1 toggle bit + 5 address bits + 6 command bits\r
141 *\r
142 * start bit: data "0": data "1":\r
143 * ______----- ------______ ______------\r
144 * 889us 889us 889us 889us 889us 889us\r
145 *\r
146 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
147 *\r
148 * DENON\r
149 * -----\r
150 *\r
151 * frame: 0 start bits + 16 data bits + stop bit + 65ms pause + 16 inverted data bits + stop bit\r
152 * data: 5 address bits + 10 command bits\r
153 *\r
154 * data "0": data "1":\r
155 * ------________________ ------______________\r
156 * 275us 1050us 275us 1900us\r
157 *\r
158 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
159 *\r
160 * RC6\r
161 * ---\r
162 *\r
163