First attempt to implement RC6 Protocol
[pierogi] / keysets / magnavox.cpp
1 #include "magnavox.h"
2 #include "rc6protocol.h"
3 #include "rc5protocol.h"
4 #include "necprotocol.h"
5
6 MagnavoxDVD1::MagnavoxDVD1(
7   QObject *guiObject,
8   unsigned int index)
9   : PIRKeysetMetaData(
10       "DVD Keyset 1",
11       Magnavox_Make,
12       index)
13 {
14   addControlledDevice(Magnavox_Make, "MDV450", DVD_Device);
15
16   threadableProtocol = new RC6Protocol(guiObject, index, 0x04);
17
18   addKey("power", Power_Key, 0x0C, 8);
19   addKey("1", One_Key, 0x01, 8);
20   addKey("2", Two_Key, 0x02, 8);
21   addKey("3", Three_Key, 0x03, 8);
22   addKey("4", Four_Key, 0x04, 8);
23   addKey("5", Five_Key, 0x05, 8);
24   addKey("6", Six_Key, 0x06, 8);
25   addKey("7", Seven_Key, 0x07, 8);
26   addKey("8", Eight_Key, 0x08, 8);
27   addKey("9", Nine_Key, 0x09, 8);
28   addKey("0", Zero_Key, 0x00, 8);
29   addKey("title", DiscTitle_Key, 0x83, 8);
30   addKey("display", Info_Key, 0x0F, 8);
31   addKey("disc_Menu", DiscMenu_Key, 0x54, 8);
32   addKey("system_menu", Menu_Key, 0x82, 8);
33   addKey("^", Up_Key, 0x58, 8);
34   addKey("<", Left_Key, 0x5A, 8);
35   addKey(">", Right_Key, 0x5B, 8);
36   addKey("v", Down_Key, 0x5C, 8);
37   addKey("ok", Select_Key, 0x5D, 8);
38   addKey("<<", Rewind_Key, 0x21, 8);
39   addKey(">>", FastForward_Key, 0x20, 8);
40   addKey("stop", Stop_Key, 0x31, 8);
41   addKey("play", Play_Key, 0x2C, 8);
42   addKey("pause", Pause_Key, 0x30, 8);
43   addKey("subtitle", Captions_Key, 0x4B, 8);
44   addKey("angle", Unmapped_Key, 0x85, 8);
45   addKey("zoom", Unmapped_Key, 0xF7, 8);
46   addKey("audio", Unmapped_Key, 0x4E, 8);
47   addKey("repeat", Unmapped_Key, 0x1D, 8);
48   addKey("a-b", Unmapped_Key, 0x3B, 8);
49   addKey("preview", Unmapped_Key, 0xD5, 8);
50   addKey("mute", Mute_Key, 0x0D, 8);
51 }
52
53
54 MagnavoxVCR1::MagnavoxVCR1(
55   QObject *guiObject,
56   unsigned int index)
57   : PIRKeysetMetaData(
58       "VCR Keyset 1",
59       Magnavox_Make,
60       index)
61 {
62   threadableProtocol = new RC5Protocol(guiObject, index);
63
64   addKey("Power", Power_Key, 0x114C, 13);
65   addKey("0", Zero_Key, 0x1140, 13);
66   addKey("1", One_Key, 0x1141, 13);
67   addKey("2", Two_Key, 0x1142, 13);
68   addKey("3", Three_Key, 0x1143, 13);
69   addKey("4", Four_Key, 0x1144, 13);
70   addKey("5", Five_Key, 0x1145, 13);
71   addKey("6", Six_Key, 0x1146, 13);
72   addKey("7", Seven_Key, 0x1147, 13);
73   addKey("8", Eight_Key, 0x1148, 13);
74   addKey("9", Nine_Key, 0x1149, 13);
75   addKey("OneHundred", PlusOneHundred_Key, 0x114A, 13);
76   addKey("CancelAngle", Unmapped_Key, 0x1171, 13);
77   addKey("ChMinus", ChannelDown_Key, 0x1172, 13);
78   addKey("ChPlus", ChannelUp_Key, 0x1174, 13);
79   addKey("IndexTC", Unmapped_Key, 0x0170, 13);
80   addKey("Menu", Menu_Key, 0x0152, 13);
81   addKey("News", Unmapped_Key, 0x041A, 13);
82   addKey("Night", Unmapped_Key, 0x143E, 13);
83   addKey("OK", Select_Key, 0x0157, 13);
84   addKey("Pause", Pause_Key, 0x1169, 13);
85   addKey("Rew", Rewind_Key, 0x1172, 13);
86   addKey("FF", FastForward_Key, 0x1174, 13);
87   addKey("Play", Play_Key, 0x1175, 13);
88   addKey("Stop", Stop_Key, 0x1176, 13);
89   addKey("Record", Record_Key, 0x1177, 13);
90   addKey("UP", Up_Key, 0x0150, 13);
91   addKey("DOWN", Down_Key, 0x0151, 13);
92   addKey("LEFT", Left_Key, 0x0155, 13);
93   addKey("RIGHT", Right_Key, 0x0156, 13);
94   addKey("VOL+", VolumeUp_Key, 0x1410, 13);
95   addKey("VOL-", VolumeDown_Key, 0x1411, 13);
96   addKey("Mute", Mute_Key, 0x100D, 13);
97   addKey("TvPower", Unmapped_Key, 0x100C, 13);
98   addKey("TvVolumeUp", Unmapped_Key, 0x1010, 13);
99   addKey("TvVolumeDn", Unmapped_Key, 0x1011, 13);
100   addKey("TvChUp", Unmapped_Key, 0x1020, 13);
101   addKey("TvChDn", Unmapped_Key, 0x1021, 13);
102   addKey("SkipSrch", Unmapped_Key, 0x016A, 13);
103   addKey("FrameAdvance", StepForward_Key, 0x016B, 13);
104   addKey("VcrChUp", Unmapped_Key, 0x1160, 13);
105   addKey("VcrChDn", Unmapped_Key, 0x1161, 13);
106   addKey("Menu", Menu_Key, 0x115D, 13);
107   addKey("Slow", Unmapped_Key, 0x1168, 13);
108   addKey("Status", Info_Key, 0x114F, 13);
109   addKey("Clear", Clear_Key, 0x1171, 13);
110   addKey("VarSlowUp", Unmapped_Key, 0x1166, 13);
111   addKey("VarSlowDn", Unmapped_Key, 0x1165, 13);
112   addKey("Qtr", Unmapped_Key, 0x1167, 13);
113   addKey("TrackUp", TrackingPlus_Key, 0x014D, 13);
114   addKey("TrackDn", TrackingMinus_Key, 0x014E, 13);
115   addKey("GoTo", Unmapped_Key, 0x1173, 13);
116   addKey("Memo", Unmapped_Key, 0x117B, 13);
117   addKey("Speed", VHSSpeed_Key, 0x117A, 13);
118   addKey("VcrTv", Unmapped_Key, 0x117E, 13);
119   addKey("2xPlay", Unmapped_Key, 0x116A, 13);
120 }
121
122
123 MagnavoxConverterBox1::MagnavoxConverterBox1(
124   QObject *guiObject,
125   unsigned int index)
126   : PIRKeysetMetaData(
127       "Settop Box Keyset 1",
128       Magnavox_Make,
129       index)
130 {
131   addControlledDevice(Magnavox_Make, "TB100MG9", TV_Device);
132
133   NECProtocol *np = new NECProtocol(
134     guiObject,
135     index,
136     894, 795,
137     894, 2537,
138     33751, false);
139
140   threadableProtocol = np;
141
142   np->setHeaderPair(3514, 3396);
143   np->setTrailerPulse(894);
144
145   addKey("KEY_POWER", Power_Key, 0x541ABE, 24);
146   addKey("KEY_1", One_Key, 0x57EA81, 24);
147   addKey("KEY_2", Two_Key, 0x561A9E, 24);
148   addKey("KEY_3", Three_Key, 0x551AAE, 24);
149   addKey("KEY_4", Four_Key, 0x571A8E, 24);
150   addKey("KEY_5", Five_Key, 0x549AB6, 24);
151   addKey("KEY_6", Six_Key, 0x569A96, 24);
152   addKey("KEY_7", Seven_Key, 0x559AA6, 24);
153   addKey("KEY_8", Eight_Key, 0x579A86, 24);
154   addKey("KEY_9", Nine_Key, 0x545ABA, 24);
155   addKey("KEY_0", Zero_Key, 0x565A9A, 24);
156   addKey("KEY_OK", Select_Key, 0x55DAA2, 24);
157   addKey("KEY_UP", Up_Key, 0x547AB8, 24);
158   addKey("KEY_DOWN", Down_Key, 0x567A98, 24);
159   addKey("KEY_LEFT", Left_Key, 0x578A87, 24);
160   addKey("KEY_RIGHT", Right_Key, 0x558AA7, 24);
161   addKey("KEY_CHANNELUP", ChannelUp_Key, 0x542ABD, 24);
162   addKey("KEY_CHANNELDOWN", ChannelDown_Key, 0x544ABB, 24);
163   addKey("KEY_EPG", Guide_Key, 0x54FAB0, 24);
164   addKey("KEY_AUDIO", Unmapped_Key, 0x557AA8, 24);
165   addKey("KEY_DOT", Unmapped_Key, 0x56DA92, 24);
166   addKey("KEY_SETUP", Menu_Key, 0x57DA82, 24);
167   addKey("KEY_PAUSE", Pause_Key, 0x56FA90, 24);
168   addKey("KEY_LAST", Unmapped_Key, 0x55CAA3, 24);
169   addKey("KEY_BACK", PrevChannel_Key, 0x577A88, 24);
170   addKey("KEY_DISPLAY", Info_Key, 0x57CA83, 24);
171 }
172
173
174 MagnavoxTV1::MagnavoxTV1(
175   QObject *guiObject,
176   unsigned int index)
177   : PIRKeysetMetaData(
178       "TV(?) Keyset 1",
179       Magnavox_Make,
180       index)
181 {
182   threadableProtocol = new RC5Protocol(guiObject, index, 0x40);
183
184   addKey("Power", Power_Key, 0x0C, 6);
185   addKey("Reset", Reset_Key, 0x0E, 6);
186   addKey("Sleep", Sleep_Key, 0x26, 6);
187   addKey("Mute", Mute_Key, 0x0D, 6);
188   addKey("VolUp", VolumeUp_Key, 0x10, 6);
189   addKey("VolDown", VolumeDown_Key, 0x11, 6);
190   addKey("ChUp", ChannelUp_Key, 0x20, 6);
191   addKey("ChDown", ChannelDown_Key, 0x21, 6);
192   addKey("PrevCh", PrevChannel_Key, 0x21, 6);
193   addKey("One", One_Key, 0x01, 6);
194   addKey("Two", Two_Key, 0x02, 6);
195   addKey("Three", Three_Key, 0x03, 6);
196   addKey("Four", Four_Key, 0x04, 6);
197   addKey("Five", Five_Key, 0x05, 6);
198   addKey("Six", Six_Key, 0x06, 6);
199   addKey("Seven", Seven_Key, 0x07, 6);
200   addKey("Eight", Eight_Key, 0x08, 6);
201   addKey("Nine", Nine_Key, 0x09, 6);
202   addKey("Zero", Zero_Key, 0x00, 6);
203   addKey("Display", Info_Key, 0x2E, 6);
204   addKey("Plus", Right_Key, 0x2B, 6);
205   addKey("Minus", Left_Key, 0x2C, 6);
206   addKey("Status", Unmapped_Key, 0x0F, 6);
207   addKey("Play", Play_Key, 0x1C, 6);
208   addKey("Stop", Stop_Key, 0x1D, 6);
209   addKey("FF", FastForward_Key, 0x2B, 6);
210   addKey("Rev", Rewind_Key, 0x2C, 6);
211   addKey("Pause", Pause_Key, 0x3B, 6);
212 }