]> cloudbase.mooo.com Git - irmp.git/blob - irsndconfig.h
version 1.9.6: corrected RECS80 decoder
[irmp.git] / irsndconfig.h
1 /*---------------------------------------------------------------------------------------------------------------------------------------------------
2 * irsndconfig.h
3 *
4 * Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de
5 *
6 * $Id: irsndconfig.h,v 1.17 2011/01/18 13:02:15 fm Exp $
7 *
8 * ATMEGA88 @ 8 MHz
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *---------------------------------------------------------------------------------------------------------------------------------------------------
15 */
16
17 /*---------------------------------------------------------------------------------------------------------------------------------------------------
18 * Change F_INTERRUPTS if you change the number of interrupts per second, F_INTERRUPTS should be in the range from 10000 to 15000
19 *---------------------------------------------------------------------------------------------------------------------------------------------------
20 */
21 #ifndef F_INTERRUPTS
22 #define F_INTERRUPTS 10000 // interrupts per second
23 #endif
24
25 /*---------------------------------------------------------------------------------------------------------------------------------------------------
26 * Change settings from 1 to 0 if you want to disable one or more encoders.
27 * This saves program space.
28 * 1 enable decoder
29 * 0 disable decoder
30 *---------------------------------------------------------------------------------------------------------------------------------------------------
31 */
32 // Protocol Enable Remarks F_INTERRUPTS Program Space
33 #define IRSND_SUPPORT_SIRCS_PROTOCOL 1 // Sony SIRCS >= 10000 uses ~150 bytes
34 #define IRSND_SUPPORT_NEC_PROTOCOL 1 // NEC + APPLE >= 10000 uses ~100 bytes
35 #define IRSND_SUPPORT_SAMSUNG_PROTOCOL 1 // Samsung + Samsung32 >= 10000 uses ~300 bytes
36 #define IRSND_SUPPORT_MATSUSHITA_PROTOCOL 1 // Matsushita >= 10000 uses ~200 bytes
37 #define IRSND_SUPPORT_KASEIKYO_PROTOCOL 1 // Kaseikyo >= 10000 uses ~150 bytes
38 #define IRSND_SUPPORT_RC5_PROTOCOL 1 // RC5 >= 10000 uses ~150 bytes
39 #define IRSND_SUPPORT_DENON_PROTOCOL 1 // DENON, Sharp >= 10000 uses ~200 bytes
40 #define IRSND_SUPPORT_JVC_PROTOCOL 1 // JVC >= 10000 uses ~150 bytes
41 #define IRSND_SUPPORT_RC6_PROTOCOL 1 // RC6 >= 10000 uses ~250 bytes
42 #define IRSND_SUPPORT_RC6A_PROTOCOL 1 // RC6A >= 10000 uses ~250 bytes
43 #define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL 1 // Bang&Olufsen >= 10000 uses ~250 bytes
44 #define IRSND_SUPPORT_GRUNDIG_PROTOCOL 1 // Grundig >= 10000 uses ~300 bytes
45 #define IRSND_SUPPORT_NOKIA_PROTOCOL 1 // Nokia >= 10000 uses ~400 bytes
46 #define IRSND_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 uses ~100 bytes
47 #define IRSND_SUPPORT_NIKON_PROTOCOL 0 // NIKON >= 10000 uses ~150 bytes
48 #define IRSND_SUPPORT_FDC_PROTOCOL 0 // FDC IR keyboard >= 10000 (better 15000) uses ~150 bytes
49 #define IRSND_SUPPORT_RCCAR_PROTOCOL 0 // RC CAR >= 10000 (better 15000) uses ~150 bytes
50 #define IRSND_SUPPORT_SIEMENS_PROTOCOL 0 // Siemens, Gigaset >= 15000 uses ~150 bytes
51 #define IRSND_SUPPORT_RECS80_PROTOCOL 0 // RECS80 >= 20000 uses ~100 bytes
52 #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 0 // RECS80EXT >= 20000 uses ~100 bytes
53
54
55 /*---------------------------------------------------------------------------------------------------------------------------------------------------
56 * Change hardware pin here:
57 *---------------------------------------------------------------------------------------------------------------------------------------------------
58 */
59 #if defined (__AVR_ATmega32__) || defined (__AVR_ATmega644P__)
60 #define IRSND_PORT PORTD // port D
61 #define IRSND_DDR DDRD // ddr D
62 #define IRSND_BIT 7 // OC2A
63 #else
64 #define IRSND_PORT PORTB // port B
65 #define IRSND_DDR DDRB // ddr B
66 #define IRSND_BIT 3 // OC2A
67 #endif // __AVR...
68
69
70 #if IRSND_SUPPORT_SIEMENS_PROTOCOL == 1 && F_INTERRUPTS < 15000
71 #warning F_INTERRUPTS too low, SIEMENS protocol disabled (should be at least 15000)
72 #undef IRSND_SUPPORT_SIEMENS_PROTOCOL
73 #define IRSND_SUPPORT_SIEMENS_PROTOCOL 0 // DO NOT CHANGE! F_INTERRUPTS too low!
74 #endif
75
76 #if IRSND_SUPPORT_RECS80_PROTOCOL == 1 && F_INTERRUPTS < 20000
77 #warning F_INTERRUPTS too low, RECS80 protocol disabled (should be at least 20000)
78 #undef IRSND_SUPPORT_RECS80_PROTOCOL
79 #define IRSND_SUPPORT_RECS80_PROTOCOL 0
80 #endif
81
82 #if IRSND_SUPPORT_RECS80EXT_PROTOCOL == 1 && F_INTERRUPTS < 20000
83 #warning F_INTERRUPTS too low, RECS80EXT protocol disabled (should be at least 20000)
84 #undef IRSND_SUPPORT_RECS80EXT_PROTOCOL
85 #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 0
86 #endif