]> cloudbase.mooo.com Git - irmp.git/blame - irmp.c
Version 1.7.1: fixed #undefs for RECS80, RECS80EXT, SIEMENS
[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 418.
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
f613f7dc 6 * $Id: irmp.c,v 1.73 2010/06/26 18:13:11 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
d155e9ab 26 * GRUNDIG - Grundig\r
27 * NOKIA - Nokia\r
a7054daf 28 * SIEMENS - Siemens, e.g. Gigaset M740AV\r
4225a882 29 *\r
30 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
31 *\r
32 * SIRCS\r
33 * -----\r
34 *\r
35 * frame: 1 start bit + 12-20 data bits + no stop bit\r
36 * data: 7 command bits + 5 address bits + 0 to 8 additional bits\r
37 *\r
38 * start bit: data "0": data "1": stop bit:\r
39 * -----------------_________ ------_____ ------------______\r
40 * 2400us 600us 600us 600us 1200us 600 us no stop bit\r
41 *\r
42 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
43 *\r
44 * NEC + extended NEC\r
45 * -------------------------\r
46 *\r
47 * frame: 1 start bit + 32 data bits + 1 stop bit\r
48 * data NEC: 8 address bits + 8 inverted address bits + 8 command bits + 8 inverted command bits\r
49 * data extended NEC: 16 address bits + 8 command bits + 8 inverted command bits\r
50 *\r
51 * start bit: data "0": data "1": stop bit:\r
52 * -----------------_________ ------______ ------________________ ------______....\r
53 * 9000us 4500us 560us 560us 560us 1690 us 560us\r
54 *\r
55 *\r
56 * Repetition frame:\r
57 *\r
58 * -----------------_________------______ .... ~100ms Pause, then repeat\r
59 * 9000us 2250us 560us\r
60 *\r
61 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
62 *\r
63 * SAMSUNG\r
64 * -------\r
65 *\r
66 * frame: 1 start bit + 16 data(1) bits + 1 sync bit + additional 20 data(2) bits + 1 stop bit\r
67 * data(1): 16 address bits\r
68 * data(2): 4 ID bits + 8 command bits + 8 inverted command bits\r
69 *\r
70 * start bit: data "0": data "1": sync bit: stop bit:\r
71 * ----------______________ ------______ ------________________ ------______________ ------______....\r
72 * 4500us 4500us 550us 450us 550us 1450us 550us 4500us 550us\r
73 *\r
74 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
75 *\r
76 * SAMSUNG32\r
77 * ----------\r
78 *\r
79 * frame: 1 start bit + 32 data bits + 1 stop bit\r
80 * data: 16 address bits + 16 command bits\r
81 *\r
82 * start bit: data "0": data "1": stop bit:\r
83 * ----------______________ ------______ ------________________ ------______....\r
84 * 4500us 4500us 550us 450us 550us 1450us 550us\r
85 *\r
86 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
87 *\r
88 * MATSUSHITA\r
89 * ----------\r
90 *\r
91 * frame: 1 start bit + 24 data bits + 1 stop bit\r
92 * data: 6 custom bits + 6 command bits + 12 address bits\r
93 *\r
94 * start bit: data "0": data "1": stop bit:\r
95 * ----------_________ ------______ ------________________ ------______....\r
96 * 3488us 3488us 872us 872us 872us 2616us 872us\r
97 *\r
98 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
99 *\r
100 * KASEIKYO\r
101 * --------\r
102 *\r
103 * frame: 1 start bit + 48 data bits + 1 stop bit\r
104 * data: 16 manufacturer bits + 4 parity bits + 4 genre1 bits + 4 genre2 bits + 10 command bits + 2 id bits + 8 parity bits\r
105 *\r
106 * start bit: data "0": data "1": stop bit:\r
107 * ----------______ ------______ ------________________ ------______....\r
108 * 3380us 1690us 423us 423us 423us 1269us 423us\r
109 *\r
110 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
111 *\r
112 * RECS80\r
113 * ------\r
114 *\r
115 * frame: 2 start bits + 10 data bits + 1 stop bit\r
116 * data: 1 toggle bit + 3 address bits + 6 command bits\r
117 *\r
118 * start bit: data "0": data "1": stop bit:\r
119 * -----_____________________ -----____________ -----______________ ------_______....\r
120 * 158us 7432us 158us 4902us 158us 7432us 158us\r
121 *\r
122 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
123 *\r
124 * RECS80EXT\r
125 * ---------\r
126 *\r
127 * frame: 2 start bits + 11 data bits + 1 stop bit\r
128 * data: 1 toggle bit + 4 address bits + 6 command bits\r
129 *\r
130 * start bit: data "0": data "1": stop bit:\r
131 * -----_____________________ -----____________ -----______________ ------_______....\r
132 * 158us 3637us 158us 4902us 158us 7432us 158us\r
133 *\r
134 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
135 *\r
136 * RC5 + RC5X\r
137 * ----------\r
138 *\r
139 * RC5 frame: 2 start bits + 12 data bits + no stop bit\r
140 * RC5 data: 1 toggle bit + 5 address bits + 6 command bits\r
141 * RC5X frame: 1 start bit + 13 data bits + no stop bit\r
142 * RC5X data: 1 inverted command bit + 1 toggle bit + 5 address bits + 6 command bits\r
143 *\r
144 * start bit: data "0": data "1":\r
145 * ______----- ------______ ______------\r
146 * 889us 889us 889us 889us 889us 889us\r
147 *\r
148 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
149 *\r
150 * DENON\r
151 * -----\r
152 *\r
153 * frame: 0 start bits + 16 data bits + stop bit + 65ms pause + 16 inverted data bits + stop bit\r
154 * data: 5 address bits + 10 command bits\r
155 *\r
156 * data "0": data "1":\r
157 * ------________________ ------______________\r
b5ea7869 158 * 275us 775us 275us 1900us\r
4225a882 159 *\r
160 *---------------------------------------------------------------------------------------------------------------------------------------------------\r
161 *\r
162 * RC6\r
163 * ---\r
164 *\r
165