]> cloudbase.mooo.com Git - irmp.git/blob - irsndconfig.h
corrected SIEMENS protocol, added NIKON protocol
[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.15 2010/11/10 08:01:46 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 >= 10000 uses ~200 bytes
40 #define IRSND_SUPPORT_JVC_PROTOCOL 1 // JVC >= 10000 uses ~150 bytes
41 #define IRSND_SUPPORT_RC6_PROTOCOL 0 // RC6 NOT SUPPORTED YET! DON'T CHANGE!
42 #define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL 1 // Bang&Olufsen >= 10000 uses ~250 bytes
43 #define IRSND_SUPPORT_GRUNDIG_PROTOCOL 1 // Grundig >= 10000 uses ~300 bytes
44 #define IRSND_SUPPORT_NOKIA_PROTOCOL 1 // Nokia >= 10000 uses ~400 bytes
45 #define IRSND_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 uses ~100 bytes
46 #define IRSND_SUPPORT_NIKON_PROTOCOL 0 // NIKON >= 10000 uses ~150 bytes
47 #define IRSND_SUPPORT_FDC_PROTOCOL 0 // FDC IR keyboard >= 10000 (better 15000) uses ~150 bytes
48 #define IRSND_SUPPORT_RCCAR_PROTOCOL 0 // RC CAR >= 10000 (better 15000) uses ~150 bytes
49 #define IRSND_SUPPORT_SIEMENS_PROTOCOL 0 // Siemens, Gigaset >= 15000 uses ~150 bytes
50 #define IRSND_SUPPORT_RECS80_PROTOCOL 0 // RECS80 >= 20000 uses ~100 bytes
51 #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 0 // RECS80EXT >= 20000 uses ~100 bytes
52
53
54 /*---------------------------------------------------------------------------------------------------------------------------------------------------
55 * Change hardware pin here:
56 *---------------------------------------------------------------------------------------------------------------------------------------------------
57 */
58 #if defined (__AVR_ATmega32__) || defined (__AVR_ATmega644P__)
59 #define IRSND_PORT PORTD // port D
60 #define IRSND_DDR DDRD // ddr D
61 #define IRSND_BIT 7 // OC2A
62 #else
63 #define IRSND_PORT PORTB // port B
64 #define IRSND_DDR DDRB // ddr B
65 #define IRSND_BIT 3 // OC2A
66 #endif // __AVR...
67
68
69 #if IRSND_SUPPORT_SIEMENS_PROTOCOL == 1 && F_INTERRUPTS < 15000
70 #warning F_INTERRUPTS too low, SIEMENS protocol disabled (should be at least 15000)
71 #undef IRSND_SUPPORT_SIEMENS_PROTOCOL
72 #define IRSND_SUPPORT_SIEMENS_PROTOCOL 0 // DO NOT CHANGE! F_INTERRUPTS too low!
73 #endif
74
75 #if IRSND_SUPPORT_RECS80_PROTOCOL == 1 && F_INTERRUPTS < 20000
76 #warning F_INTERRUPTS too low, RECS80 protocol disabled (should be at least 20000)
77 #undef IRSND_SUPPORT_RECS80_PROTOCOL
78 #define IRSND_SUPPORT_RECS80_PROTOCOL 0
79 #endif
80
81 #if IRSND_SUPPORT_RECS80EXT_PROTOCOL == 1 && F_INTERRUPTS < 20000
82 #warning F_INTERRUPTS too low, RECS80EXT protocol disabled (should be at least 20000)
83 #undef IRSND_SUPPORT_RECS80EXT_PROTOCOL
84 #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 0
85 #endif