docs
[mirrors/Programs.git] / c / tv-b-gone / NAcodes.c
1 #include <avr/io.h> // this contains all the IO port definitions
2 #include <avr/pgmspace.h> // definitions or keeping constants in program memory
3 #include "main.h"
4
5 // table of POWER codes
6
7 #define freq_to_timerval(x) ((F_CPU / x - 1 )/ 2)
8
9
10 // Code 000 -- Sony, Baur, Neckermann, Otto Versand, Palladium, Quelle, SEI, Sinudyne, Sonolor, Universum
11 const struct powercode sonyCode PROGMEM = {
12 freq_to_timerval(37470), // 37.47 KHz
13 {{245, 60},
14 {123, 60},
15 {61 , 60},
16 {123, 60},
17 {61 , 60},
18 {123, 60},
19 {61 , 60},
20 {61 , 60},
21 {123, 60},
22 {61 , 60},
23 {61 , 60},
24 {61 , 60},
25 {61 , 2759},
26 {245, 60},
27 {123, 60},
28 {61 , 60},
29 {123, 60},
30 {61 , 60},
31 {123, 60},
32 {61 , 60},
33 {61 , 60},
34 {123, 60},
35 {61 , 60},
36 {61 , 60},
37 {61 , 60},
38 {61 , 0}// end of code
39 }
40 };
41
42 //Code 001 - Proscan, RCA, Curtis Mathes, Dimensia, GE, JC Penney, LXI, Radio Shack/Realistic, Sears, Wards
43 const struct powercode rcaCode PROGMEM = {
44 freq_to_timerval(55600), // 55.6 KHz
45 {{ 411, 410 },
46 { 52, 205 },
47 { 52, 205 },
48 { 52, 205 },
49 { 52, 205 },
50 { 52, 102 },
51 { 52, 102 },
52 { 52, 205 },
53 { 52, 102 },
54 { 52, 205 },
55 { 52, 102 },
56 { 52, 205 },
57 { 52, 102 },
58 { 52, 102 },
59 { 52, 102 },
60 { 52, 102 },
61 { 52, 102 },
62 { 52, 205 },
63 { 52, 205 },
64 { 52, 102 },
65 { 52, 205 },
66 { 52, 102 },
67 { 52, 205 },
68 { 52, 102 },
69 { 52, 205 },
70 { 52, 821 },
71 { 411, 410},
72 { 52, 205},
73 { 52, 205},
74 { 52, 205},
75 { 52, 205},
76 { 52, 102},
77 { 52, 102},
78 { 52, 205},
79 { 52, 102},
80 { 52, 205},
81 { 52, 102},
82 { 52, 205},
83 { 52, 102},
84 { 52, 102},
85 { 52, 102},
86 { 52, 102},
87 { 52, 102},
88 { 52, 205},
89 { 52, 205},
90 { 52, 102},
91 { 52, 205},
92 { 52, 102},
93 { 52, 205},
94 { 52, 102},
95 { 52, 205},
96 { 52, 0}
97 }
98 };
99
100 // Code 002 -- Panasonic
101 const struct powercode panasonicCode PROGMEM = {
102 freq_to_timerval(36130), // 36.13 KHz
103 {{ 358, 179 },
104 { 44, 45 },
105 { 44, 135 },
106 { 44, 45 },
107 { 44, 45 },
108 { 44, 45 },
109 { 44, 45 },
110 { 44, 45 },
111 { 44, 45 },
112 { 44, 45 },
113 { 44, 45 },
114 { 44, 45 },
115 { 44, 45 },
116 { 44, 45 },
117 { 44, 135 },
118 { 44, 45 },
119 { 44, 45 },
120 { 44, 45 },
121 { 44, 45 },
122 { 44, 45 },
123 { 44, 45 },
124 { 44, 45 },
125 { 44, 45 },
126 { 44, 45 },
127 { 44, 135 },
128 { 44, 45 },
129 { 44, 45 },
130 { 44, 45 },
131 { 44, 45 },
132 { 44, 45 },
133 { 44, 45 },
134 { 44, 45 },
135 { 44, 45 },
136 { 44, 135 },
137 { 44, 45 },
138 { 44, 135 },
139 { 44, 135 },
140 { 44, 135 },
141 { 44, 135 },
142 { 44, 45 },
143 { 44, 45 },
144 { 44, 135 },
145 { 44, 45 },
146 { 44, 135 },
147 { 44, 135 },
148 { 44, 135 },
149 { 44, 135 },
150 { 44, 45 },
151 { 44, 135 },
152 { 44, 7720 },
153 { 358, 180 },
154 { 44, 45 },
155 { 44, 135 },
156 { 44, 45 },
157 { 44, 45 },
158 { 44, 45 },
159 { 44, 45 },
160 { 44, 45 },
161 { 44, 45 },
162 { 44, 45 },
163 { 44, 45 },
164 { 44, 45 },
165 { 44, 45 },
166 { 44, 45 },
167 { 44, 135 },
168 { 44, 45 },
169 { 44, 45 },
170 { 44, 45 },
171 { 44, 45 },
172 { 44, 45 },
173 { 44, 45 },
174 { 44, 45 },
175 { 44, 45 },
176 { 44, 45 },
177 { 44, 135 },
178 { 44, 45 },
179 { 44, 45 },
180 { 44, 45 },
181 { 44, 45 },
182 { 44, 45 },
183 { 44, 45 },
184 { 44, 45 },
185 { 44, 45 },
186 { 44, 135 },
187 { 44, 45 },
188 { 44, 135 },
189 { 44, 135 },
190 { 44, 135 },
191 { 44, 135 },
192 { 44, 45 },
193 { 44, 45 },
194 { 44, 135 },
195 { 44, 45 },
196 { 44, 135 },
197 { 44, 135 },
198 { 44, 135 },
199 { 44, 135 },
200 { 44, 45 },
201 { 44, 135 },
202 { 44, 0 }}
203 };
204
205 // Code 003 -- Sharp
206 const struct powercode sharpCode PROGMEM = {
207 freq_to_timerval( 37470), // 37.47 KHz
208 {{ 28, 189 },
209 { 29, 81 },
210 { 29, 81 },
211 { 29, 81 },
212 { 29, 81 },
213 { 29, 81 },
214 { 29, 189 },
215 { 29, 189 },
216 { 29, 81 },
217 { 29, 189 },
218 { 29, 81 },
219 { 29, 81 },
220 { 29, 81 },
221 { 29, 189 },
222 { 29, 81 },
223 { 29, 4670 },
224 { 29, 189 },
225 { 29, 81 },
226 { 29, 81 },
227 { 29, 81 },
228 { 29, 81 },
229 { 29, 189 },
230 { 29, 81 },
231 { 29, 81 },
232 { 29, 189 },
233 { 29, 81 },
234 { 29, 189 },
235 { 29, 189 },
236 { 29, 189 },
237 { 29, 81 },
238 { 29, 189 },
239 { 29, 4670 },
240 { 29, 189 },
241 { 29, 81 },
242 { 29, 81 },
243 { 29, 81 },
244 { 29, 81 },
245 { 29, 81 },
246 { 29, 189 },
247 { 29, 189 },
248 { 29, 81 },
249 { 29, 189 },
250 { 29, 81 },
251 { 29, 81 },
252 { 29, 81 },
253 { 29, 189 },
254 { 29, 81 },
255 { 29, 4670 },
256 { 29, 189 },
257 { 29, 81 },
258 { 29, 81 },
259 { 29, 81 },
260 { 29, 81 },
261 { 29, 189 },
262 { 29, 81 },
263 { 29, 81 },
264 { 29, 189 },
265 { 29, 81 },
266 { 29, 189 },
267 { 29, 189 },
268 { 29, 189 },
269 { 29, 81 },
270 { 29, 189 },
271 { 29, 0 }}
272 };
273
274 // Code 004 -- Toshiba, Apex
275 const struct powercode toshibaCode PROGMEM = {
276 freq_to_timerval( 37470), // 37.47 KHz
277 {{ 924, 464 },
278 { 58, 57 },
279 { 58, 57 },
280 { 58, 57 },
281 { 58, 57 },
282 { 58, 57 },
283 { 58, 57 },
284 { 58, 173 },
285 { 58, 57 },
286 { 58, 173 },
287 { 58, 173 },
288 { 58, 173 },
289 { 58, 173 },
290 { 58, 173 },
291 { 58, 173 },
292 { 58, 57 },
293 { 58, 173 },
294 { 58, 57 },
295 { 58, 173 },
296 { 58, 57 },
297 { 58, 57 },
298 { 58, 173 },
299 { 58, 57 },
300 { 58, 57 },
301 { 58, 57 },
302 { 58, 173 },
303 { 58, 57 },
304 { 58, 173 },
305 { 58, 173 },
306 { 58, 57 },
307 { 58, 173 },
308 { 58, 173 },
309 { 58, 173 },
310 { 58, 4054 },
311 { 926, 230 },
312 { 58, 9880 },
313 { 926, 230 },
314 { 58, 0 },
315 }
316 };
317
318 // Code 005 -- Philips, Grundig, Pye
319 const struct powercode philipsCode PROGMEM = {
320 freq_to_timerval( 34800), // 37.47 KHz
321 { { 92, 92 },
322 { 184, 92 },
323 { 92, 92 },
324 { 92, 92 },
325 { 92, 92 },
326 { 92, 92 },
327 { 92, 92 },
328 { 92, 92 },
329 { 92, 184 },
330 { 92, 92 },
331 { 184, 92 },
332 { 92, 9216 },
333 { 92, 92 },
334 { 184, 92 },
335 { 92, 92 },
336 { 92, 92 },
337 { 92, 92 },
338 { 92, 92 },
339 { 92, 92 },
340 { 92, 92 },
341 { 92, 184 },
342 { 92, 92 },
343 { 184, 92 },
344 { 92, 0 },
345 }
346 };
347
348 // Code 006 -- Samsung
349 const struct powercode samsungCode PROGMEM = {
350 freq_to_timerval( 37470), // 37.47 KHz
351 {{ 462, 476 },
352 { 53, 175 },
353 { 53, 175 },
354 { 53, 175 },
355 { 53, 62 },
356 { 53, 62 },
357 { 53, 62 },
358 { 53, 62 },
359 { 53, 62 },
360 { 53, 175 },
361 { 53, 175 },
362 { 53, 175 },
363 { 53, 62 },
364 { 53, 62 },
365 { 53, 62 },
366 { 53, 62 },
367 { 53, 62 },
368 { 53, 62 },
369 { 53, 175 },
370 { 53, 62 },
371 { 53, 62 },
372 { 53, 62 },
373 { 53, 62 },
374 { 53, 62 },
375 { 53, 62 },
376 { 53, 175 },
377 { 53, 62 },
378 { 53, 175 },
379 { 53, 175 },
380 { 53, 175 },
381 { 53, 175 },
382 { 53, 175 },
383 { 53, 175 },
384 { 53, 4661 },
385 { 464, 476 },
386 { 53, 175 },
387 { 53, 175 },
388 { 53, 175 },
389 { 53, 62 },
390 { 53, 62 },
391 { 53, 62 },
392 { 53, 62 },
393 { 53, 62 },
394 { 53, 175 },
395 { 53, 175 },
396 { 53, 175 },
397 { 53, 62 },
398 { 53, 62 },
399 { 53, 62 },
400 { 53, 62 },
401 { 53, 62 },
402 { 53, 62 },
403 { 53, 175 },
404 { 53, 62 },
405 { 53, 62 },
406 { 53, 62 },
407 { 53, 62 },
408 { 53, 62 },
409 { 53, 62 },
410 { 53, 175 },
411 { 53, 62 },
412 { 53, 175 },
413 { 53, 175 },
414 { 53, 175 },
415 { 53, 175 },
416 { 53, 175 },
417 { 53, 175 },
418 { 53, 0 },
419 }
420 };
421
422 // Code 007 -- Zenith
423 const struct powercode zenithCode PROGMEM = {
424 freq_to_timerval( 38200),
425 {{ 52, 49 },
426 { 52, 419 },
427 { 52, 522 },
428 { 52, 49 },
429 { 52, 419 },
430 { 52, 49 },
431 { 52, 419 },
432 { 52, 522 },
433 { 52, 49 },
434 { 52, 419 },
435 { 52, 522 },
436 { 52, 49 },
437 { 52, 419 },
438 { 52, 522 },
439 { 52, 522 },
440 { 52, 49 },
441 { 52, 12433 },
442 { 52, 49 },
443 { 52, 419 },
444 { 52, 522 },
445 { 52, 49 },
446 { 52, 419 },
447 { 52, 49 },
448 { 52, 419 },
449 { 52, 522 },
450 { 52, 49 },
451 { 52, 419 },
452 { 52, 522 },
453 { 52, 49 },
454 { 52, 419 },
455 { 52, 522 },
456 { 52, 522 },
457 { 52, 49 },
458 { 52, 0 },
459 }
460 };
461
462 // Code 008 --Pioneer, Sansui, Toshiba
463 const struct powercode pioneerCode PROGMEM = {
464 freq_to_timerval( 37470),
465 {{924, 462},
466 { 59, 173},
467 { 59, 59},
468 { 59, 59},
469 { 59, 59},
470 { 59, 173},
471 { 59, 173},
472 { 59, 173},
473 { 59, 59},
474 { 59, 59},
475 { 59, 173},
476 { 59, 173},
477 { 59, 173},
478 { 59, 59},
479 { 59, 59},
480 { 59, 59},
481 { 59, 173},
482 { 59, 59},
483 { 59, 173},
484 { 59, 59},
485 { 59, 173},
486 { 59, 59},
487 { 59, 59},
488 { 59, 173},
489 { 59, 59},
490 { 59, 173},
491 { 59, 59},
492 { 59, 173},
493 { 59, 59},
494 { 59, 173},
495 { 59, 173},
496 { 59, 59},
497 { 59, 173},
498 { 59, 4117},
499 {926, 459},
500 { 59, 173},
501 { 59, 59},
502 { 59, 59},
503 { 59, 59},
504 { 59, 173},
505 { 59, 173},
506 { 59, 173},
507 { 59, 59},
508 { 59, 59},
509 { 59, 173},
510 { 59, 173},
511 { 59, 173},
512 { 59, 59},
513 { 59, 59},
514 { 59, 59},
515 { 59, 173},
516 { 59, 59},
517 { 59, 173},
518 { 59, 59},
519 { 59, 173},
520 { 59, 59},
521 { 59, 59},
522 { 59, 173},
523 { 59, 59},
524 { 59, 173},
525 { 59, 59},
526 { 59, 173},
527 { 59, 59},
528 { 59, 173},
529 { 59, 173},
530 { 59, 59},
531 { 59, 173},
532 { 59, 0}}
533 };
534
535 // Code 009 -- Sylvania
536 const struct powercode sylvaniaCode PROGMEM = {
537 freq_to_timerval( 37430),
538 {{924, 461},
539 {56, 174},
540 {56, 174},
541 {56, 174},
542 {56, 56},
543 {56, 56},
544 {56, 56},
545 {56, 56},
546 {56, 174},
547 {56, 56},
548 {56, 174},
549 {56, 56},
550 {56, 56},
551 {56, 56},
552 {56, 174},
553 {56, 56},
554 {56, 56},
555 {56, 56},
556 {56, 56},
557 {56, 56},
558 {56, 56},
559 {56, 56},
560 {56, 174},
561 {56, 174},
562 {56, 174},
563 {56, 174},
564 {56, 174},
565 {56, 174},
566 {56, 174},
567 {56, 174},
568 {56, 56},
569 {56, 56},
570 {56, 56},
571 {56, 4055},
572 {926, 230},
573 {56, 9855},
574 {926, 230},
575 {56, 0}
576 }
577 };
578
579 // Code 010 -- JVC
580 const struct powercode jvcCode PROGMEM = {
581 freq_to_timerval( 37470),
582 { {865, 429},
583 {53, 161},
584 {53, 161},
585 {53, 55},
586 {53, 55},
587 {53, 55},
588 {53, 55},
589 {53, 55},
590 {53, 55},
591 {53, 161},
592 {53, 161},
593 {53, 161},
594 {53, 55},
595 {53, 161},
596 {53, 55},
597 {53, 55},
598 {53, 55},
599 {53, 2347},
600 {53, 161},
601 {53, 161},
602 {53, 55},
603 {53, 55},
604 {53, 55},
605 {53, 55},
606 {53, 55},
607 {53, 55},
608 {53, 161},
609 {53, 161},
610 {53, 161},
611 {53, 55},
612 {53, 161},
613 {53, 55},
614 {53, 55},
615 {53, 55},
616 {53, 2347},
617 {53, 161},
618 {53, 161},
619 {53, 55},
620 {53, 55},
621 {53, 55},
622 {53, 55},
623 {53, 55},
624 {53, 55},
625 {53, 161},
626 {53, 161},
627 {53, 161},
628 {53, 55},
629 {53, 161},
630 {53, 55},
631 {53, 55},
632 {53, 55},
633 {53, 0}}
634 };
635
636 // Code 011 -- Hitachi
637 const struct powercode hitachiCode PROGMEM = {
638 freq_to_timerval( 37470),
639 { {909, 452},
640 {58, 55},
641 {58, 55},
642 {58, 55},
643 {58, 55},
644 {58, 175},
645 {58, 55},
646 {58, 175},
647 {58, 55},
648 {58, 175},
649 {58, 175},
650 {58, 175},
651 {58, 175},
652 {58, 55},
653 {58, 175},
654 {58, 55},
655 {58, 175},
656 {58, 175},
657 {58, 175},
658 {58, 175},
659 {58, 55},
660 {58, 175},
661 {58, 55},
662 {58, 55},
663 {58, 55},
664 {58, 55},
665 {58, 55},
666 {58, 55},
667 {58, 175},
668 {58, 55},
669 {58, 175},
670 {58, 175},
671 {58, 175},
672 {58, 4146},
673 {910, 229},
674 {58, 9597},
675 {910, 229},
676 {56, 0} }
677 };
678
679 // Code 012 -- Sampo
680 const struct powercode sampoCode PROGMEM = {
681 freq_to_timerval( 37470),
682 { {342, 343},
683 {85, 260},
684 {85, 87},
685 {85, 260},
686 {85, 260},
687 {85, 87},
688 {85, 260},
689 {85, 87},
690 {85, 260},
691 {85, 260},
692 {85, 87},
693 {85, 87},
694 {85, 87},
695 {85, 87},
696 {85, 260},
697 {85, 87},
698 {85, 260},
699 {85, 87},
700 {85, 87},
701 {85, 260},
702 {85, 87},
703 {85, 87},
704 {85, 260},
705 {85, 260},
706 {85, 260},
707 {85, 3366},
708 {342, 344},
709 {85, 260},
710 {85, 87},
711 {85, 260},
712 {85, 260},
713 {85, 87},
714 {85, 260},
715 {85, 87},
716 {85, 260},
717 {85, 260},
718 {85, 87},
719 {85, 87},
720 {85, 87},
721 {85, 87},
722 {85, 260},
723 {85, 87},
724 {85, 260},
725 {85, 87},
726 {85, 87},
727 {85, 260},
728 {85, 87},
729 {85, 87},
730 {85, 260},
731 {85, 260},
732 {85, 260},
733 {85, 0}}
734 };
735
736 // Code 013 -- Hisense
737 const struct powercode hisenseCode PROGMEM = {
738 freq_to_timerval( 37520),
739 { {918, 459},
740 {56, 55},
741 {56, 55},
742 {56, 170},
743 {56, 170},
744 {56, 170},
745 {56, 55},
746 {56, 55},
747 {56, 55},
748 {56, 170},
749 {56, 55},
750 {56, 55},
751 {56, 55},
752 {56, 55},
753 {56, 170},
754 {56, 170},
755 {56, 55},
756 {56, 55},
757 {56, 55},
758 {56, 170},
759 {56, 170},
760 {56, 170},
761 {56, 55},
762 {56, 170},
763 {56, 170},
764 {56, 170},
765 {56, 170},
766 {56, 55},
767 {56, 170},
768 {56, 55},
769 {56, 55},
770 {56, 170},
771 {56, 55},
772 {56, 55},
773 {56, 55},
774 {56, 170},
775 {56, 55},
776 {56, 170},
777 {56, 170},
778 {56, 55},
779 {56, 170},
780 {56, 170},
781 {56, 170},
782 {56, 2364},
783 {920, 458},
784 {56, 9620},
785 {920, 458},
786 {56, 0}}
787 };
788
789 // Code 014 -- Viewsonic, Acer
790 const struct powercode viewsonicCode PROGMEM = {
791 freq_to_timerval( 37470),
792 { {924, 464},
793 {58, 57},
794 {58, 57},
795 {58, 57},
796 {58, 57},
797 {58, 57},
798 {58, 173},
799 {58, 173},
800 {58, 57},
801 {58, 173},
802 {58, 173},
803 {58, 173},
804 {58, 173},
805 {58, 173},
806 {58, 57},
807 {58, 57},
808 {58, 173},
809 {58, 173},
810 {58, 173},
811 {58, 57},
812 {58, 57},
813 {58, 57},
814 {58, 57},
815 {58, 57},
816 {58, 57},
817 {58, 57},
818 {58, 57},
819 {58, 173},
820 {58, 173},
821 {58, 173},
822 {58, 173},
823 {58, 173},
824 {58, 173},
825 {58, 4054},
826 {926, 230},
827 {58, 9880},
828 {926, 230},
829 {58, 0}}
830 };
831
832 // Code 015 -- Bush, NET-TV
833 const struct powercode bushCode PROGMEM = {
834 freq_to_timerval( 37470),
835 { {924, 464},
836 {58, 57},
837 {58, 173},
838 {58, 57},
839 {58, 57},
840 {58, 57},
841 {58, 57},
842 {58, 173},
843 {58, 57},
844 {58, 173},
845 {58, 57},
846 {58, 173},
847 {58, 173},
848 {58, 173},
849 {58, 173},
850 {58, 57},
851 {58, 173},
852 {58, 173},
853 {58, 57},
854 {58, 57},
855 {58, 57},
856 {58, 57},
857 {58, 57},
858 {58, 57},
859 {58, 57},
860 {58, 57},
861 {58, 173},
862 {58, 173},
863 {58, 173},
864 {58, 173},
865 {58, 173},
866 {58, 173},
867 {58, 173},
868 {58, 4054},
869 {926, 230},
870 {58, 9880},
871 {926, 230},
872 {58, 0}}
873 };
874
875 // Code 016 -- AOC, Daewoo, Goldstar, JC Penney, LG, Memorex, MGA,
876 // Mistubishi, MTC, NEC, Philco, Portland, RCA, Samsung,
877 // Teknika, Vidtech, Wards, Yamaha
878 const struct powercode aocCode PROGMEM = {
879 freq_to_timerval(33600),
880 { {30, 215},
881 {30, 216},
882 {30, 216},
883 {30, 91},
884 {30, 91},
885 {30, 91},
886 {30, 216},
887 {30, 91},
888 {30, 91},
889 {30, 216},
890 {30, 91},
891 {30, 91},
892 {30, 91},
893 {30, 91},
894 {30, 91},
895 {30, 91},
896 {30, 2573},
897 {30, 216},
898 {30, 216},
899 {30, 216},
900 {30, 91},
901 {30, 91},
902 {30, 91},
903 {30, 216},
904 {30, 91},
905 {30, 91},
906 {30, 216},
907 {30, 91},
908 {30, 91},
909 {30, 91},
910 {30, 91},
911 {30, 91},
912 {30, 91},
913 {30, 0}}
914 };
915
916 // Code 017 -- Bell & Howell, Curtis Mathes, Emerson, Fisher, LXI, Memorex,
917 // Radio Shack, Realistic, Sanyo, Sears, Toshiba
918 const struct powercode bellCode PROGMEM = {
919 freq_to_timerval(38970),
920 { {924, 459},
921 {59, 57},
922 {59, 57},
923 {59, 57},
924 {59, 178},
925 {59, 178},
926 {59, 178},
927 {59, 57},
928 {59, 57},
929 {59, 178},
930 {59, 178},
931 {59, 178},
932 {59, 57},
933 {59, 57},
934 {59, 57},
935 {59, 178},
936 {59, 178},
937 {59, 57},
938 {59, 178},
939 {59, 57},
940 {59, 57},
941 {59, 178},
942 {59, 57},
943 {59, 57},
944 {59, 57},
945 {59, 178},
946 {59, 57},
947 {59, 178},
948 {59, 178},
949 {59, 57},
950 {59, 178},
951 {59, 178},
952 {59, 178},
953 {59, 4260},
954 {924, 231},
955 {59, 9753},
956 {924, 231},
957 {59, 0}}
958 };
959
960 // Code 018 -- Pioneer, Hitachi
961 const struct powercode pioneer2Code PROGMEM = {
962 freq_to_timerval(37470),
963 { {873, 439},
964 {53, 55},
965 {53, 164},
966 {53, 55},
967 {53, 164},
968 {53, 55},
969 {53, 164},
970 {53, 55},
971 {53, 164},
972 {53, 164},
973 {53, 55},
974 {53, 164},
975 {53, 55},
976 {53, 164},
977 {53, 55},
978 {53, 164},
979 {53, 55},
980 {53, 55},
981 {53, 55},
982 {53, 164},
983 {53, 164},
984 {53, 164},
985 {53, 55},
986 {53, 55},
987 {53, 55},
988 {53, 164},
989 {53, 164},
990 {53, 55},
991 {53, 55},
992 {53, 55},
993 {53, 164},
994 {53, 164},
995 {53, 164},
996 {53, 2633},
997 {873, 440},
998 {53, 55},
999 {53, 164},
1000 {53, 55},
1001 {53, 164},
1002 {53, 55},
1003 {53, 164},
1004 {53, 55},
1005 {53, 164},
1006 {53, 164},
1007 {53, 55},
1008 {53, 164},
1009 {53, 55},
1010 {53, 164},
1011 {53, 55},
1012 {53, 164},
1013 {53, 55},
1014 {53, 55},
1015 {53, 55},
1016 {53, 164},
1017 {53, 164},
1018 {53, 164},
1019 {53, 55},
1020 {53, 55},
1021 {53, 55},
1022 {53, 164},
1023 {53, 164},
1024 {53, 55},
1025 {53, 55},
1026 {53, 55},
1027 {53, 164},
1028 {53, 164},
1029 {53, 164},
1030 {53, 2633},
1031 {873, 440},
1032 {53, 55},
1033 {53, 164},
1034 {53, 55},
1035 {53, 164},
1036 {53, 55},
1037 {53, 164},
1038 {53, 55},
1039 {53, 164},
1040 {53, 164},
1041 {53, 55},
1042 {53, 164},
1043 {53, 55},
1044 {53, 164},
1045 {53, 55},
1046 {53, 164},
1047 {53, 55},
1048 {53, 55},
1049 {53, 55},
1050 {53, 164},
1051 {53, 164},
1052 {53, 164},
1053 {53, 55},
1054 {53, 55},
1055 {53, 55},
1056 {53, 164},
1057 {53, 164},
1058 {53, 55},
1059 {53, 55},
1060 {53, 55},
1061 {53, 164},
1062 {53, 0}}
1063 };
1064
1065 // Code 019 -- Fujitsu
1066 const struct powercode fujitsuCode PROGMEM = {
1067 freq_to_timerval(37470),
1068 { {335, 166},
1069 {43, 42},
1070 {43, 42},
1071 {43, 126},
1072 {43, 42},
1073 {43, 126},
1074 {43, 42},
1075 {43, 42},
1076 {43, 42},
1077 {43, 126},
1078 {43, 126},
1079 {43, 42},
1080 {43, 42},
1081 {43, 42},
1082 {43, 126},
1083 {43, 126},
1084 {43, 42},
1085 {43, 42},
1086 {43, 42},
1087 {43, 42},
1088 {43, 42},
1089 {43, 42},
1090 {43, 42},
1091 {43, 42},
1092 {43, 42},
1093 {43, 42},
1094 {43, 42},
1095 {43, 126},
1096 {43, 42},
1097 {43, 42},
1098 {43, 42},
1099 {43, 42},
1100 {43, 126},
1101 {43, 42},
1102 {43, 42},
1103 {43, 126},
1104 {43, 42},
1105 {43, 42},
1106 {43, 42},
1107 {43, 42},
1108 {43, 126},
1109 {43, 42},
1110 {43, 126},
1111 {43, 42},
1112 {43, 42},
1113 {43, 42},
1114 {43, 42},
1115 {43, 42},
1116 {43, 42},
1117 {43, 4723},
1118 {336, 166},
1119 {43, 42},
1120 {43, 42},
1121 {43, 126},
1122 {43, 42},
1123 {43, 126},
1124 {43, 42},
1125 {43, 42},
1126 {43, 42},
1127 {43, 126},
1128 {43, 126},
1129 {43, 42},
1130 {43, 42},
1131 {43, 42},
1132 {43, 126},
1133 {43, 126},
1134 {43, 42},
1135 {43, 42},
1136 {43, 42},
1137 {43, 42},
1138 {43, 42},
1139 {43, 42},
1140 {43, 42},
1141 {43, 42},
1142 {43, 42},
1143 {43, 42},
1144 {43, 42},
1145 {43, 126},
1146 {43, 42},
1147 {43, 42},
1148 {43, 42},
1149 {43, 42},
1150 {43, 126},
1151 {43, 42},
1152 {43, 42},
1153 {43, 126},
1154 {43, 42},
1155 {43, 42},
1156 {43, 42},
1157 {43, 42},
1158 {43, 126},
1159 {43, 42},
1160 {43, 126},
1161 {43, 42},
1162 {43, 42},
1163 {43, 42},
1164 {43, 42},
1165 {43, 42},
1166 {43, 42},
1167 {43, 0}}
1168 };
1169
1170
1171 // Code 020 - Gold Star, JC Penney, LXI, Marantz, Memorex, Proton, Pulsar,
1172 // Toshiba, Wards
1173
1174 const struct powercode goldstarCode PROGMEM = {
1175 freq_to_timerval(37470),
1176 { {924, 472},
1177 {63, 55},
1178 {63, 55},
1179 {63, 166},
1180 {63, 55},
1181 {63, 55},
1182 {63, 55},
1183 {63, 55},
1184 {63, 55},
1185 {63, 166},
1186 {63, 166},
1187 {63, 55},
1188 {63, 166},
1189 {63, 166},
1190 {63, 166},
1191 {63, 166},
1192 {63, 166},
1193 {63, 55},
1194 {63, 55},
1195 {63, 55},
1196 {63, 166},
1197 {63, 55},
1198 {63, 55},
1199 {63, 55},
1200 {63, 55},
1201 {63, 166},
1202 {63, 166},
1203 {63, 166},
1204 {63, 55},
1205 {63, 166},
1206 {63, 166},
1207 {63, 166},
1208 {63, 166},
1209 {63, 4207},
1210 {926, 234},
1211 {63, 9957},
1212 {926, 234},
1213 {62, 0}}
1214 };
1215
1216
1217 // Code 021 - Daewoo, Emerson, Hitachi, RCA, White Westinghouse, Zenith
1218 const struct powercode daewooCode PROGMEM = {
1219 freq_to_timerval(37470),
1220 { {821, 409},
1221 {51, 52},
1222 {51, 52},
1223 {51, 163},
1224 {51, 52},
1225 {51, 163},
1226 {51, 52},
1227 {51, 52},
1228 {51, 52},
1229 {51, 409},
1230 {51, 163},
1231 {51, 52},
1232 {51, 163},
1233 {51, 52},
1234 {51, 163},
1235 {51, 52},
1236 {51, 52},
1237 {51, 52},
1238 {51, 2397},
1239 {822, 409},
1240 {51, 52},
1241 {51, 52},
1242 {51, 163},
1243 {51, 52},
1244 {51, 163},
1245 {51, 52},
1246 {51, 52},
1247 {51, 52},
1248 {51, 409},
1249 {51, 163},
1250 {51, 52},
1251 {51, 163},
1252 {51, 52},
1253 {51, 163},
1254 {51, 52},
1255 {51, 52},
1256 {51, 52},
1257 {51, 0}}
1258 };
1259
1260
1261 // Code 022 - NEC
1262 const struct powercode NECCode PROGMEM = {
1263 freq_to_timerval(37470),
1264 {
1265 {918, 460},
1266 {56, 61},
1267 {56, 61},
1268 {56, 61},
1269 {56, 179},
1270 {56, 179},
1271 {56, 61},
1272 {56, 61},
1273 {56, 61},
1274 {56, 61},
1275 {56, 61},
1276 {56, 61},
1277 {56, 179},
1278 {56, 179},
1279 {56, 61},
1280 {56, 61},
1281 {56, 61},
1282 {56, 61},
1283 {56, 61},
1284 {56, 61},
1285 {56, 61},
1286 {56, 61},
1287 {56, 61},
1288 {56, 179},
1289 {56, 179},
1290 {56, 179},
1291 {56, 179},
1292 {56, 179},
1293 {56, 179},
1294 {56, 179},
1295 {56, 179},
1296 {56, 61},
1297 {56, 61},
1298 {56, 4581},
1299 {921, 230},
1300 {56, 9705},
1301 {921, 230},
1302 {56, 0}
1303 }
1304 };
1305
1306 // Code 023 - Admiral, Bell & Howell, Logik, Majestic, Memorex,
1307 // Montgomery Ward, Signature, Teknika, Wards, Zenith
1308 const struct powercode admiralCode PROGMEM = {
1309 freq_to_timerval(39010),
1310 {
1311 {51, 516},
1312 {51, 516},
1313 {51, 52},
1314 {51, 418},
1315 {51, 52},
1316 {51, 418},
1317 {51, 516},
1318 {51, 52},
1319 {51, 418},
1320 {51, 516},
1321 {51, 52},
1322 {51, 418},
1323 {51, 516},
1324 {51, 516},
1325 {51, 52},
1326 {51, 418},
1327 {51, 52},
1328 {51, 418},
1329 {51, 516},
1330 {51, 52},
1331 {51, 418},
1332 {51, 10746},
1333 {51, 516},
1334 {51, 516},
1335 {51, 52},
1336 {51, 418},
1337 {51, 52},
1338 {51, 418},
1339 {51, 516},
1340 {51, 52},
1341 {51, 418},
1342 {51, 516},
1343 {51, 52},
1344 {51, 418},
1345 {51, 516},
1346 {51, 516},
1347 {51, 52},
1348 {51, 418},
1349 {51, 52},
1350 {51, 418},
1351 {51, 516},
1352 {51, 52},
1353 {51, 418},
1354 {51, 0} }
1355 };
1356 // Code 024 - Sony
1357 const struct powercode sony2Code PROGMEM = {
1358 freq_to_timerval(37470),
1359 { {245, 60},
1360 {123, 60},
1361 {123, 60},
1362 {123, 60},
1363 {123, 60},
1364 {61, 60},
1365 {123, 60},
1366 {61, 60},
1367 {123, 60},
1368 {61, 60},
1369 {61, 60},
1370 {61, 60},
1371 {61, 2636},
1372 {246, 60},
1373 {123, 60},
1374 {123, 60},
1375 {123, 60},
1376 {123, 60},
1377 {61, 60},
1378 {123, 60},
1379 {61, 60},
1380 {123, 60},
1381 {61, 60},
1382 {61, 60},
1383 {61, 60},
1384 {61, 0} }
1385 };
1386
1387 // Code 025 - Viewsonic, Magnavox, NET-TV, Electrograph, Gateway, Maxent,
1388 // NetTV, Sampo
1389
1390 const struct powercode viewsonic2Code PROGMEM = {
1391 freq_to_timerval(37470),
1392 { {357, 358},
1393 {88, 270},
1394 {88, 270},
1395 {88, 270},
1396 {88, 270},
1397 {88, 270},
1398 {88, 270},
1399 {88, 270},
1400 {88, 91},
1401 {88, 91},
1402 {88, 91},
1403 {88, 91},
1404 {88, 91},
1405 {88, 91},
1406 {88, 91},
1407 {88, 91},
1408 {88, 91},
1409 {88, 91},
1410 {88, 91},
1411 {88, 91},
1412 {88, 270},
1413 {88, 270},
1414 {88, 270},
1415 {88, 270},
1416 {88, 270},
1417 {88, 3562},
1418 {358, 358},
1419 {88, 270},
1420 {88, 270},
1421 {88, 270},
1422 {88, 270},
1423 {88, 270},
1424 {88, 270},
1425 {88, 270},
1426 {88, 91},
1427 {88, 91},
1428 {88, 91},
1429 {88, 91},
1430 {88, 91},
1431 {88, 91},
1432 {88, 91},
1433 {88, 91},
1434 {88, 91},
1435 {88, 91},
1436 {88, 91},
1437 {88, 91},
1438 {88, 270},
1439 {88, 270},
1440 {88, 270},
1441 {88, 270},
1442 {88, 270},
1443 {88, 0},
1444 }
1445 };
1446
1447
1448 // Code 026 - Zenith
1449 const struct powercode zenith2Code PROGMEM = {
1450 freq_to_timerval(38200),
1451 { {52, 49},
1452 {52, 419},
1453 {52, 522},
1454 {52, 49},
1455 {52, 419},
1456 {52, 49},
1457 {52, 419},
1458 {52, 522},
1459 {52, 522},
1460 {52, 49},
1461 {52, 419},
1462 {52, 522},
1463 {52, 49},
1464 {52, 419},
1465 {52, 522},
1466 {52, 49},
1467 {52, 12922},
1468 {52, 49},
1469 {52, 419},
1470 {52, 522},
1471 {52, 49},
1472 {52, 419},
1473 {52, 49},
1474 {52, 419},
1475 {52, 522},
1476 {52, 522},
1477 {52, 49},
1478 {52, 419},
1479 {52, 522},
1480 {52, 49},
1481 {52, 419},
1482 {52, 522},
1483 {52, 49},
1484 {52, 0}}
1485 };
1486
1487
1488 // Code 027 - Thompson
1489 const struct powercode thompsonCode PROGMEM = {
1490 freq_to_timerval(55600),
1491 { {411, 410},
1492 {52, 102},
1493 {52, 205},
1494 {52, 205},
1495 {52, 205},
1496 {52, 102},
1497 {52, 102},
1498 {52, 205},
1499 {52, 102},
1500 {52, 205},
1501 {52, 102},
1502 {52, 205},
1503 {52, 102},
1504 {52, 205},
1505 {52, 102},
1506 {52, 102},
1507 {52, 102},
1508 {52, 205},
1509 {52, 205},
1510 {52, 102},
1511 {52, 205},
1512 {52, 102},
1513 {52, 205},
1514 {52, 102},
1515 {52, 205},
1516 {52, 821},
1517 {411, 410},
1518 {52, 102},
1519 {52, 205},
1520 {52, 205},
1521 {52, 205},
1522 {52, 102},
1523 {52, 102},
1524 {52, 205},
1525 {52, 102},
1526 {52, 205},
1527 {52, 102},
1528 {52, 205},
1529 {52, 102},
1530 {52, 205},
1531 {52, 102},
1532 {52, 102},
1533 {52, 102},
1534 {52, 205},
1535 {52, 205},
1536 {52, 102},
1537 {52, 205},
1538 {52, 102},
1539 {52, 205},
1540 {52, 102},
1541 {52, 205},
1542 {51, 0}}
1543 };
1544
1545 // Code 028 - Brillian, Sears
1546 const struct powercode brillianCode PROGMEM = {
1547 freq_to_timerval(37430),
1548 { {267, 276},
1549 {123, 123},
1550 {123, 277},
1551 {123, 123},
1552 {123, 277},
1553 {123, 123},
1554 {123, 277},
1555 {123, 277},
1556 {123, 123},
1557 {123, 277},
1558 {123, 277},
1559 {123, 123},
1560 {123, 123},
1561 {123, 123},
1562 {123, 277},
1563 {123, 123},
1564 {123, 277},
1565 {123, 4876},
1566 {267, 277},
1567 {123, 123},
1568 {123, 277},
1569 {123, 123},
1570 {123, 277},
1571 {123, 123},
1572 {123, 277},
1573 {123, 277},
1574 {123, 123},
1575 {123, 277},
1576 {123, 277},
1577 {123, 123},
1578 {123, 123},
1579 {123, 123},
1580 {123, 277},
1581 {123, 123},
1582 {123, 277},
1583 {123, 0}}
1584 };
1585 // Code 029 - Magnavox
1586 const struct powercode magnavoxCode PROGMEM = {
1587 freq_to_timerval(34800),
1588 { {92, 92},
1589 {184, 92},
1590 {92, 92},
1591 {92, 92},
1592 {92, 92},
1593 {92, 92},
1594 {92, 184},
1595 {184, 92},
1596 {92, 184},
1597 {92, 92},
1598 {184, 9216},
1599 {92, 92},
1600 {184, 92},
1601 {92, 92},
1602 {92, 92},
1603 {92, 92},
1604 {92, 92},
1605 {92, 184},
1606 {184, 92},
1607 {92, 184},
1608 {92, 92},
1609 {184, 0}}
1610 };
1611
1612 // Code 030 - Viewsonic
1613 const struct powercode viewsonic3Code PROGMEM = {
1614 freq_to_timerval(37470),
1615 { {924, 461},
1616 {56, 56},
1617 {56, 56},
1618 {56, 56},
1619 {56, 56},
1620 {56, 174},
1621 {56, 56},
1622 {56, 174},
1623 {56, 56},
1624 {56, 174},
1625 {56, 56},
1626 {56, 174},
1627 {56, 174},
1628 {56, 56},
1629 {56, 174},
1630 {56, 56},
1631 {56, 174},
1632 {56, 56},
1633 {56, 56},
1634 {56, 56},
1635 {56, 56},
1636 {56, 56},
1637 {56, 56},
1638 {56, 56},
1639 {56, 56},
1640 {56, 174},
1641 {56, 174},
1642 {56, 174},
1643 {56, 174},
1644 {56, 174},
1645 {56, 174},
1646 {56, 174},
1647 {56, 174},
1648 {56, 4055},
1649 {926, 230},
1650 {56, 9855},
1651 {926, 230},
1652 {56, 0}}
1653 };
1654
1655 // Code 031 - Crown, Infinity, JBL, Loewe, LXI, Magnavox, Marantz,
1656 // Panaxonic, Philco, Philips, Sylvania, Wards
1657 const struct powercode crownCode PROGMEM = {
1658 freq_to_timerval(34800),
1659 { {92, 91},
1660 {92, 91},
1661 {184, 91},
1662 {92, 91},
1663 {92, 91},
1664 {92, 91},
1665 {92, 91},
1666 {92, 91},
1667 {92, 182},
1668 {92, 91},
1669 {184, 91},
1670 {92, 9217},
1671 {92, 91},
1672 {92, 91},
1673 {184, 91},
1674 {92, 91},
1675 {92, 91},
1676 {92, 91},
1677 {92, 91},
1678 {92, 91},
1679 {92, 182},
1680 {92, 91},
1681 {184, 91},
1682 {92, 0}}
1683 };
1684
1685 // Code 032 - Hitachi
1686 const struct powercode hitachi2Code PROGMEM = {
1687 freq_to_timerval(37470),
1688 { {924, 461},
1689 {56, 56},
1690 {56, 56},
1691 {56, 56},
1692 {56, 56},
1693 {56, 174},
1694 {56, 56},
1695 {56, 174},
1696 {56, 56},
1697 {56, 174},
1698 {56, 56},
1699 {56, 174},
1700 {56, 174},
1701 {56, 56},
1702 {56, 174},
1703 {56, 56},
1704 {56, 174},
1705 {56, 56},
1706 {56, 174},
1707 {56, 56},
1708 {56, 56},
1709 {56, 56},
1710 {56, 56},
1711 {56, 56},
1712 {56, 56},
1713 {56, 174},
1714 {56, 56},
1715 {56, 174},
1716 {56, 174},
1717 {56, 174},
1718 {56, 174},
1719 {56, 174},
1720 {56, 174},
1721 {56, 4055},
1722 {926, 230},
1723 {56, 9855},
1724 {926, 230},
1725 {56, 0} }
1726 };
1727
1728 // Code 033 - Fujitsu
1729 const struct powercode fujitsu2Code PROGMEM = {
1730 freq_to_timerval(37470),
1731 { {344, 159},
1732 {43, 43},
1733 {43, 43},
1734 {43, 124},
1735 {43, 43},
1736 {43, 124},
1737 {43, 43},
1738 {43, 43},
1739 {43, 43},
1740 {43, 124},
1741 {43, 124},
1742 {43, 43},
1743 {43, 43},
1744 {43, 43},
1745 {43, 124},
1746 {43, 124},
1747 {43, 43},
1748 {43, 43},
1749 {43, 43},
1750 {43, 43},
1751 {43, 43},
1752 {43, 43},
1753 {43, 43},
1754 {43, 43},
1755 {43, 43},
1756 {43, 43},
1757 {43, 43},
1758 {43, 124},
1759 {43, 43},
1760 {43, 43},
1761 {43, 43},
1762 {43, 43},
1763 {43, 124},
1764 {43, 43},
1765 {43, 124},
1766 {43, 43},
1767 {43, 124},
1768 {43, 43},
1769 {43, 43},
1770 {43, 43},
1771 {43, 124},
1772 {43, 43},
1773 {43, 43},
1774 {43, 43},
1775 {43, 43},
1776 {43, 43},
1777 {43, 43},
1778 {43, 43},
1779 {43, 43},
1780 {43, 5438},
1781 {347, 157},
1782 {43, 43},
1783 {43, 43},
1784 {43, 124},
1785 {43, 43},
1786 {43, 124},
1787 {43, 43},
1788 {43, 43},
1789 {43, 43},
1790 {43, 124},
1791 {43, 124},
1792 {43, 43},
1793 {43, 43},
1794 {43, 43},
1795 {43, 124},
1796 {43, 124},
1797 {43, 43},
1798 {43, 43},
1799 {43, 43},
1800 {43, 43},
1801 {43, 43},
1802 {43, 43},
1803 {43, 43},
1804 {43, 43},
1805 {43, 43},
1806 {43, 43},
1807 {43, 43},
1808 {43, 124},
1809 {43, 43},
1810 {43, 43},
1811 {43, 43},
1812 {43, 43},
1813 {43, 124},
1814 {43, 43},
1815 {43, 124},
1816 {43, 43},
1817 {43, 124},
1818 {43, 43},
1819 {43, 43},
1820 {43, 43},
1821 {43, 124},
1822 {43, 43},
1823 {43, 43},
1824 {43, 43},
1825 {43, 43},
1826 {43, 43},
1827 {43, 43},
1828 {43, 43},
1829 {43, 43},
1830 {43, 0}}
1831 };
1832
1833
1834 // Code 034 - Hitachi
1835 const struct powercode hitachi3Code PROGMEM = {
1836 freq_to_timerval(37470),
1837 { {924, 464},
1838 {58, 57},
1839 {58, 57},
1840 {58, 57},
1841 {58, 57},
1842 {58, 173},
1843 {58, 57},
1844 {58, 173},
1845 {58, 57},
1846 {58, 173},
1847 {58, 173},
1848 {58, 173},
1849 {58, 173},
1850 {58, 57},
1851 {58, 173},
1852 {58, 57},
1853 {58, 173},
1854 {58, 173},
1855 {58, 173},
1856 {58, 173},
1857 {58, 173},
1858 {58, 173},
1859 {58, 173},
1860 {58, 57},
1861 {58, 57},
1862 {58, 57},
1863 {58, 57},
1864 {58, 57},
1865 {58, 57},
1866 {58, 57},
1867 {58, 57},
1868 {58, 173},
1869 {58, 173},
1870 {58, 4054},
1871 {925, 230},
1872 {58, 9880},
1873 {925, 230},
1874 {58, 0}}
1875 };
1876
1877
1878 // Code 035 - NEC
1879 const struct powercode NEC2Code PROGMEM = {
1880 freq_to_timerval(37470),
1881 { {924, 464},
1882 {58, 57},
1883 {58, 57},
1884 {58, 57},
1885 {58, 173},
1886 {58, 173},
1887 {58, 57},
1888 {58, 57},
1889 {58, 57},
1890 {58, 173},
1891 {58, 173},
1892 {58, 173},
1893 {58, 57},
1894 {58, 57},
1895 {58, 173},
1896 {58, 173},
1897 {58, 173},
1898 {58, 57},
1899 {58, 57},
1900 {58, 57},
1901 {58, 173},
1902 {58, 57},
1903 {58, 57},
1904 {58, 57},
1905 {58, 57},
1906 {58, 173},
1907 {58, 173},
1908 {58, 173},
1909 {58, 57},
1910 {58, 173},
1911 {58, 173},
1912 {58, 173},
1913 {58, 173},
1914 {58, 4054},
1915 {926, 230},
1916 {58, 9880},
1917 {926, 230},
1918 {58, 0} }
1919 };
1920
1921 // Code 036 - Hitachi
1922 const struct powercode hitachi4Code PROGMEM = {
1923 freq_to_timerval(40580),
1924 { {101, 94},
1925 {101, 94},
1926 {101, 94},
1927 {101, 293},
1928 {101, 94},
1929 {101, 293},
1930 {101, 94},
1931 {101, 293},
1932 {101, 94},
1933 {101, 94},
1934 {101, 3522},
1935 {101, 94},
1936 {101, 94},
1937 {101, 94},
1938 {101, 293},
1939 {101, 94},
1940 {101, 293},
1941 {101, 94},
1942 {101, 293},
1943 {101, 94},
1944 {101, 94},
1945 {101, 0}
1946 }
1947 };
1948
1949 // Code 037 - Anam National, Electrohome, GE, Motorola, NEC, Panasonic,
1950 // Philco, Philips, Quasar, RCA, Tatung
1951 const struct powercode anamCode PROGMEM = {
1952 freq_to_timerval(36090),
1953 { {88, 595},
1954 {88, 255},
1955 {88, 255},
1956 {88, 255},
1957 {88, 594},
1958 {88, 255},
1959 {88, 594},
1960 {88, 594},
1961 {88, 594},
1962 {88, 255},
1963 {88, 0}}
1964 };
1965
1966 // Code 038 - AOC, NEC
1967 const struct powercode aoc2Code PROGMEM = {
1968 freq_to_timerval(40580),
1969 { {530, 167},
1970 {42, 269},
1971 {42, 269},
1972 {42, 269},
1973 {170, 166},
1974 {42, 269},
1975 {170, 166},
1976 {170, 166},
1977 {42, 269},
1978 {42, 269},
1979 {42, 0} }
1980 };
1981
1982 // Code 039 - Candle, Citizen, JC Penney, Magnavox, Philco, Philips,
1983 // Simpson, Soundesign, Sylvania, Teknika
1984 const struct powercode candleCode PROGMEM = {
1985 freq_to_timerval(38970),
1986 { {924, 459},
1987 {59, 178},
1988 {59, 57},
1989 {59, 178},
1990 {59, 57},
1991 {59, 178},
1992 {59, 57},
1993 {59, 57},
1994 {59, 57},
1995 {59, 57},
1996 {59, 178},
1997 {59, 57},
1998 {59, 178},
1999 {59, 57},
2000 {59, 178},
2001 {59, 178},
2002 {59, 178},
2003 {59, 57},
2004 {59, 178},
2005 {59, 57},
2006 {59, 57},
2007 {59, 178},
2008 {59, 57},
2009 {59, 57},
2010 {59, 57},
2011 {59, 178},
2012 {59, 57},
2013 {59, 178},
2014 {59, 178},
2015 {59, 57},
2016 {59, 178},
2017 {59, 178},
2018 {59, 178},
2019 {59, 4262},
2020 {924, 231},
2021 {59, 9758},
2022 {924, 231},
2023 {59, 0}
2024 }
2025 };
2026
2027 // Code 040 - Contec/Cony, Emerson, Goldstar, Hitachi, JVC, Philco,
2028 // Philips, Proton, Radio Shack/Realistic, Samsung, Scott,
2029 // Sharp, Teknika
2030 const struct powercode contecCode PROGMEM = {
2031 freq_to_timerval(54070),
2032 { {118, 103},
2033 {708, 2778},
2034 {118, 103},
2035 {708, 0}
2036 }
2037 };
2038
2039 // Code 041 - Contec/Cony, Hitachi, JC Penney, JVC, Sears, Teknika
2040 const struct powercode contec2Code PROGMEM = {
2041 freq_to_timerval(38970),
2042 { {118, 103},
2043 {118, 103},
2044 {118, 205},
2045 {118, 2778},
2046 {118, 103},
2047 {118, 103},
2048 {118, 205},
2049 {118, 0}
2050 }
2051 };
2052
2053 // Code 042 - Sony
2054 const struct powercode sony3Code PROGMEM = {
2055 freq_to_timerval(74940),
2056 { {250, 63},
2057 {121, 63},
2058 { 60, 63},
2059 {121, 63},
2060 { 60, 63},
2061 {121, 63},
2062 { 60, 63},
2063 { 60, 63},
2064 {121, 63},
2065 { 60, 63},
2066 { 60, 63},
2067 { 60, 63},
2068 { 60, 2819},
2069 {250, 63},
2070 {121, 63},
2071 { 60, 63},
2072 {121, 63},
2073 { 60, 63},
2074 {121, 63},
2075 { 60, 63},
2076 { 60, 63},
2077 {121, 63},
2078 { 60, 63},
2079 { 60, 63},
2080 { 60, 63},
2081 { 60, 0}
2082 }
2083 };
2084
2085 // Code 043 - Alleron, Emerson, Fujitsu, Funai, Grunpy, Scott, Sears,
2086 // Soundesign, Teknika, Wards
2087
2088 const struct powercode alleronCode PROGMEM = {
2089 freq_to_timerval(38970),
2090 { {924, 431},
2091 { 56, 173},
2092 { 56, 173},
2093 { 56, 66},
2094 { 56, 66},
2095 { 56, 66},
2096 { 56, 66},
2097 { 56, 66},
2098 { 56, 173},
2099 { 56, 66},
2100 { 56, 173},
2101 { 56, 66},
2102 { 56, 173},
2103 { 56, 173},
2104 { 56, 173},
2105 { 56, 173},
2106 { 56, 66},
2107 { 56, 66},
2108 { 56, 66},
2109 { 56, 66},
2110 { 56, 173},
2111 { 56, 66},
2112 { 56, 66},
2113 { 56, 66},
2114 { 56, 66},
2115 { 56, 173},
2116 { 56, 173},
2117 { 56, 173},
2118 { 56, 66},
2119 { 56, 173},
2120 { 56, 173},
2121 { 56, 173},
2122 { 56, 173},
2123 { 56, 4208},
2124 {924, 231},
2125 { 56, 8899},
2126 {924, 231},
2127 { 56, 0}
2128 }
2129 };
2130
2131 // Code 044 - Contec/Cony, Hitachi, JVC, Sears, Teknika
2132
2133 const struct powercode contec3Code PROGMEM = {
2134 freq_to_timerval(39010),
2135 { { 46, 123},
2136 { 46, 123},
2137 { 46, 123},
2138 { 46, 123},
2139 { 46, 123},
2140 {136, 45},
2141 { 46, 123},
2142 { 46, 123},
2143 { 46, 123},
2144 { 46, 123},
2145 { 46, 123},
2146 { 46, 3583},
2147 { 46, 123},
2148 { 46, 123},
2149 { 46, 123},
2150 { 46, 123},
2151 { 46, 123},
2152 {136, 45},
2153 { 46, 123},
2154 { 46, 123},
2155 { 46, 123},
2156 { 46, 123},
2157 { 46, 123},
2158 { 46, 0}
2159 }
2160 };
2161
2162 /*
2163 // Code 045 - Curtis Mathes, Samsung
2164 const struct powercode curtisCode PROGMEM = {
2165 freq_to_timerval(38970),
2166 { {444, 446},
2167 { 54, 163},
2168 { 54, 163},
2169 { 54, 163},
2170 { 54, 51},
2171 { 54, 51},
2172 { 54, 51},
2173 { 54, 51},
2174 { 54, 51},
2175 { 54, 51},
2176 { 54, 51},
2177 { 54, 51},
2178 { 54, 163},
2179 { 54, 163},
2180 { 54, 163},
2181 { 54, 163},
2182 { 54, 163},
2183 { 54, 51},
2184 { 54, 163},
2185 { 54, 51},
2186 { 54, 51},
2187 { 54, 51},
2188 { 54, 51},
2189 { 54, 51},
2190 { 54, 51},
2191 { 54, 163},
2192 { 54, 51},
2193 { 54, 163},
2194 { 54, 163},
2195 { 54, 163},
2196 { 54, 163},
2197 { 54, 163},
2198 { 54, 163},
2199 { 54, 4204},
2200 {908, 224},
2201 { 54, 9767},
2202 {908, 224},
2203 { 54, 0}
2204 }
2205 };
2206
2207 // Code 046 - Aiko, Citizen, Daewoo, Nikko, NTC, Portland, Teknika
2208 const struct powercode aikoCode PROGMEM = {
2209 freq_to_timerval(37470),
2210 { {470, 459},
2211 { 61, 53},
2212 { 61, 170},
2213 { 61, 170},
2214 { 61, 53},
2215 { 61, 53},
2216 { 61, 53},
2217 { 61, 53},
2218 { 61, 53},
2219 { 61, 53},
2220 { 61, 170},
2221 { 61, 170},
2222 { 61, 53},
2223 { 61, 53},
2224 { 61, 53},
2225 { 61, 53},
2226 { 61, 53},
2227 { 61, 170},
2228 { 61, 170},
2229 { 61, 170},
2230 { 61, 170},
2231 { 61, 53},
2232 { 61, 53},
2233 { 61, 53},
2234 { 61, 53},
2235 { 61, 53},
2236 { 61, 53},
2237 { 61, 53},
2238 { 61, 53},
2239 { 61, 170},
2240 { 61, 170},
2241 { 61, 170},
2242 { 61, 170},
2243 { 61, 4612},
2244 {470, 459},
2245 { 61, 170},
2246 { 61, 9937},
2247 {470, 459},
2248 { 61, 170},
2249 { 61, 0}
2250 }
2251 };
2252
2253 // Code 047 - Daewoo
2254 const struct powercode daewoo2Code PROGMEM = {
2255 freq_to_timerval(28670),
2256 { { 56, 282},
2257 { 56, 106},
2258 {108, 52},
2259 { 56, 52},
2260 { 56, 52},
2261 { 56, 52},
2262 { 56, 2592},
2263 { 56, 282},
2264 { 56, 106},
2265 { 56, 52},
2266 { 56, 52},
2267 { 56, 52},
2268 { 56, 52},
2269 { 56, 52},
2270 { 56, 13150},
2271 { 56, 282},
2272 { 56, 106},
2273 { 56, 52},
2274 { 56, 52},
2275 { 56, 52},
2276 { 56, 52},
2277 { 56, 52},
2278 { 56, 0}
2279 }
2280 };
2281
2282 // Code 048 - Electrohome, GE, JC Penney, MGA, Mitsubishi
2283 const struct powercode electrohomeCode PROGMEM = {
2284 freq_to_timerval(38970),
2285 { {924, 459},
2286 { 59, 57},
2287 { 59, 57},
2288 { 59, 57},
2289 { 59, 57},
2290 { 59, 178},
2291 { 59, 57},
2292 { 59, 57},
2293 { 59, 57},
2294 { 59, 178},
2295 { 59, 178},
2296 { 59, 178},
2297 { 59, 178},
2298 { 59, 57},
2299 { 59, 178},
2300 { 59, 178},
2301 { 59, 178},
2302 { 59, 178},
2303 { 59, 178},
2304 { 59, 178},
2305 { 59, 178},
2306 { 59, 57},
2307 { 59, 178},
2308 { 59, 178},
2309 { 59, 178},
2310 { 59, 57},
2311 { 59, 57},
2312 { 59, 57},
2313 { 59, 57},
2314 { 59, 178},
2315 { 59, 57},
2316 { 59, 57},
2317 { 59, 57},
2318 { 59, 4260},
2319 {924, 231},
2320 { 59, 9752},
2321 {924, 231},
2322 { 59, 0}
2323 }
2324 };
2325
2326 // Code 049 - Emerson, Sharp
2327 const struct powercode emersonCode PROGMEM = {
2328 freq_to_timerval(38970),
2329 { {444, 446},
2330 { 54, 51},
2331 { 54, 51},
2332 { 54, 51},
2333 { 54, 51},
2334 { 54, 51},
2335 { 54, 51},
2336 { 54, 51},
2337 { 54, 51},
2338 { 54, 163},
2339 { 54, 163},
2340 { 54, 163},
2341 { 54, 163},
2342 { 54, 163},
2343 { 54, 163},
2344 { 54, 163},
2345 { 54, 163},
2346 { 54, 163},
2347 { 54, 163},
2348 { 54, 163},
2349 { 54, 163},
2350 { 54, 51},
2351 { 54, 51},
2352 { 54, 51},
2353 { 54, 51},
2354 { 54, 51},
2355 { 54, 51},
2356 { 54, 51},
2357 { 54, 51},
2358 { 54, 163},
2359 { 54, 163},
2360 { 54, 163},
2361 { 54, 163},
2362 { 54, 4204},
2363 {908, 224},
2364 { 54, 9767},
2365 {908, 224},
2366 { 54, 0}
2367 }
2368 };
2369 */
2370
2371 // Code 050 - Fisher, MGA, Mitsubishi, Sears
2372 const struct powercode fisherCode PROGMEM = {
2373 freq_to_timerval(44330),
2374 { {282, 876},
2375 {282, 2038},
2376 {282, 2038},
2377 {282, 876},
2378 {282, 876},
2379 {282, 2038},
2380 {282, 876},
2381 {282, 2038},
2382 {282, 2038},
2383 {282, 876},
2384 {282, 0}
2385 }
2386 };
2387
2388 /*
2389 // Code 051 - Amplivision, Atlantic, Clatronic, Condor, Desnet, Formenti,
2390 // Hanseatic, Korting, Manesth, NEC, Orion, Otto Versand,
2391 // Pathe Cinema, Perdio, Phoenix, Sogera, Soundwave, Standard,
2392 // Technema, Telemeister, Televideon, Tensai, Tenson, Uher,
2393 // Videotechnic, Vision, Watson, Weltblick, White Westinghouse
2394
2395 const struct powercode amplivisionCode PROGMEM = {
2396 freq_to_timerval(8860),
2397 { { 3, 29},
2398 { 71, 19},
2399 { 48, 29},
2400 { 3, 13072},
2401 { 3, 29},
2402 { 14, 19},
2403 { 3, 19},
2404 { 3, 19},
2405 { 3, 19},
2406 { 14, 19},
2407 { 48, 29},
2408 { 3, 0}
2409 }
2410 };
2411
2412 // Code 052 - GE, JC Penney, JVC, Midland, Panasonic, Prism, Quasar,
2413 // Techics, Techwood
2414 const struct powercode geCode PROGMEM = {
2415 freq_to_timerval(54160),
2416 { {369, 339},
2417 { 83, 89},
2418 { 83, 89},
2419 { 83, 89},
2420 { 83, 89},
2421 { 83, 89},
2422 { 83, 89},
2423 { 83, 89},
2424 { 83, 89},
2425 { 83, 89},
2426 { 83, 89},
2427 { 83, 260},
2428 { 83, 260},
2429 { 83, 260},
2430 { 83, 260},
2431 { 83, 260},
2432 { 83, 260},
2433 { 83, 260},
2434 { 83, 260},
2435 { 83, 260},
2436 { 83, 260},
2437 { 83, 260},
2438 { 83, 89},
2439 { 83, 3849},
2440 {369, 339},
2441 { 83, 89},
2442 { 83, 89},
2443 { 83, 89},
2444 { 83, 89},
2445 { 83, 89},
2446 { 83, 89},
2447 { 83, 89},
2448 { 83, 89},
2449 { 83, 89},
2450 { 83, 89},
2451 { 83, 260},
2452 { 83, 260},
2453 { 83, 260},
2454 { 83, 260},
2455 { 83, 260},
2456 { 83, 260},
2457 { 83, 260},
2458 { 83, 260},
2459 { 83, 260},
2460 { 83, 260},
2461 { 83, 260},
2462 { 83, 89},
2463 { 83, 0}
2464 }
2465 };
2466
2467 // Code 053 - JVC
2468 const struct powercode jvc2Code PROGMEM = {
2469 freq_to_timerval(38970),
2470 { {924, 459},
2471 { 59, 57},
2472 { 59, 57},
2473 { 59, 178},
2474 { 59, 57},
2475 { 59, 57},
2476 { 59, 57},
2477 { 59, 178},
2478 { 59, 178},
2479 { 59, 178},
2480 { 59, 178},
2481 { 59, 57},
2482 { 59, 178},
2483 { 58, 178},
2484 { 59, 178},
2485 { 59, 57},
2486 { 59, 57},
2487 { 59, 57},
2488 { 59, 57},
2489 { 59, 57},
2490 { 59, 178},
2491 { 59, 178},
2492 { 59, 57},
2493 { 59, 57},
2494 { 59, 57},
2495 { 58, 178},
2496 { 59, 178},
2497 { 59, 178},
2498 { 59, 57},
2499 { 59, 57},
2500 { 59, 178},
2501 { 59, 178},
2502 { 59, 178},
2503 { 59, 4260},
2504 {924, 231},
2505 { 59, 9752},
2506 {924, 231},
2507 { 59, 0}
2508 }
2509 };
2510
2511 // Code 054 - JVC
2512 const struct powercode jvc3Code PROGMEM = {
2513 freq_to_timerval(38970),
2514 { {924, 459},
2515 { 59, 178},
2516 { 59, 178},
2517 { 59, 178},
2518 { 59, 57},
2519 { 59, 178},
2520 { 59, 178},
2521 { 59, 57},
2522 { 59, 57},
2523 { 59, 57},
2524 { 59, 57},
2525 { 59, 57},
2526 { 59, 178},
2527 { 59, 57},
2528 { 59, 57},
2529 { 59, 178},
2530 { 59, 178},
2531 { 59, 57},
2532 { 59, 178},
2533 { 59, 57},
2534 { 59, 57},
2535 { 59, 178},
2536 { 59, 57},
2537 { 59, 57},
2538 { 59, 57},
2539 { 59, 178},
2540 { 59, 57},
2541 { 59, 178},
2542 { 59, 178},
2543 { 59, 57},
2544 { 59, 178},
2545 { 59, 178},
2546 { 58, 178},
2547 { 59, 4260},
2548 {924, 231},
2549 { 59, 9752},
2550 {924, 231},
2551 { 59, 0}
2552 }
2553 };
2554
2555 // Code 055 - Kloss Novabeam, Magnavox, Philco, Philips, Sylvania, Wards
2556 const struct powercode klossCode PROGMEM = {
2557 freq_to_timerval(54070),
2558 { { 53, 237},
2559 { 53, 812},
2560 { 53, 237},
2561 { 53, 812},
2562 { 53, 237},
2563 { 53, 812},
2564 { 53, 237},
2565 { 53, 524},
2566 { 53, 524},
2567 { 53, 237},
2568 { 53, 237},
2569 { 53, 237},
2570 { 53, 237},
2571 { 53, 524},
2572 { 53, 2959},
2573 { 53, 237},
2574 { 53, 812},
2575 { 53, 237},
2576 { 53, 812},
2577 { 53, 237},
2578 { 53, 812},
2579 { 53, 237},
2580 { 53, 524},
2581 { 53, 524},
2582 { 53, 237},
2583 { 53, 237},
2584 { 53, 237},
2585 { 53, 237},
2586 { 53, 524},
2587 { 53, 0}
2588 }
2589 };
2590 */
2591
2592
2593 const PGM_P *powerCodes[] PROGMEM = {
2594 &sonyCode, &rcaCode, &panasonicCode, &sharpCode, &toshibaCode,
2595 &philipsCode, &samsungCode,&zenithCode, &pioneerCode, &sylvaniaCode,
2596 &jvcCode, &hitachiCode, &sampoCode, &hisenseCode, &viewsonicCode,
2597 &bushCode, &aocCode, &bellCode, &pioneer2Code, &fujitsuCode,
2598 &goldstarCode, &daewooCode, &NECCode, &admiralCode, &sony2Code,
2599 &viewsonic2Code, &zenith2Code, &thompsonCode, &brillianCode, &magnavoxCode,
2600 &viewsonic3Code, &crownCode, &hitachi2Code, &fujitsu2Code, &hitachi3Code,
2601 &NEC2Code, &hitachi4Code, &anamCode, &aoc2Code, &candleCode,
2602 &contecCode, &contec2Code, &sony3Code, &alleronCode, &contec3Code,
2603 &fisherCode
2604 };
2605
2606
2607 uint8_t num_codes = (sizeof(powerCodes)/sizeof(*powerCodes));
This page took 3.544053 seconds and 4 git commands to generate.