]> cloudbase.mooo.com Git - irmp.git/blob - irsndconfig.h
Version 1.6.5: handle uint8_t overflow above 15395 Hz
[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.7 2010/06/10 21:24:50 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 #define IRSND_SUPPORT_SIRCS_PROTOCOL 1 // flag: support SIRCS uses ~150 bytes
33 #define IRSND_SUPPORT_NEC_PROTOCOL 1 // flag: support NEC + APPLE uses ~100 bytes
34 #define IRSND_SUPPORT_SAMSUNG_PROTOCOL 1 // flag: support Samsung + Samsung32 uses ~300 bytes
35 #define IRSND_SUPPORT_MATSUSHITA_PROTOCOL 1 // flag: support Matsushita uses ~150 bytes
36 #define IRSND_SUPPORT_KASEIKYO_PROTOCOL 0 // flag: support Kaseikyo NOT SUPPORTED YET!
37 #define IRSND_SUPPORT_RECS80_PROTOCOL 1 // flag: support RECS80 uses ~100 bytes
38 #define IRSND_SUPPORT_RC5_PROTOCOL 1 // flag: support RC5 uses ~150 bytes
39 #define IRSND_SUPPORT_DENON_PROTOCOL 1 // flag: support DENON uses ~200 bytes
40 #define IRSND_SUPPORT_RC6_PROTOCOL 0 // flag: support RC6 NOT SUPPORTED YET!
41 #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 1 // flag: support RECS80EXT uses ~100 bytes
42 #define IRSND_SUPPORT_NUBERT_PROTOCOL 1 // flag: support NUBERT uses ~100 bytes
43 #define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL 1 // flag: support Bang&Olufsen uses ~250 bytes
44 #define IRSND_SUPPORT_GRUNDIG_PROTOCOL 1 // flag: support Grundig uses ~300 bytes
45 #define IRSND_SUPPORT_NOKIA_PROTOCOL 1 // flag: support Nokia uses ~400 bytes
46
47 /*---------------------------------------------------------------------------------------------------------------------------------------------------
48 * THE FOLLOWING ENCODERS WORK ONLY FOR F_INTERRUPTS > 14500!
49 *---------------------------------------------------------------------------------------------------------------------------------------------------
50 */
51 #if F_INTERRUPTS >= 14500
52 #define IRSND_SUPPORT_SIEMENS_PROTOCOL 1 // flag: support Siemens, e.g. Gigaset uses ~150 bytes
53 #define IRSND_SUPPORT_FDC1_PROTOCOL 1 // flag: support FDC1 infrared keyboard uses ~150 bytes
54 #define IRSND_SUPPORT_FDC2_PROTOCOL 1 // flag: support FDC2 infrared keyboard uses ~150 bytes
55 #else
56 #define IRSND_SUPPORT_SIEMENS_PROTOCOL 0 // DO NOT CHANGE! F_INTERRUPTS too low!
57 #define IRSND_SUPPORT_FDC1_PROTOCOL 0 // DO NOT CHANGE! F_INTERRUPTS too low!
58 #define IRSND_SUPPORT_FDC2_PROTOCOL 0 // DO NOT CHANGE! F_INTERRUPTS too low!
59 #endif
60
61
62 /*---------------------------------------------------------------------------------------------------------------------------------------------------
63 * Change hardware pin here:
64 *---------------------------------------------------------------------------------------------------------------------------------------------------
65 */
66 #if defined (__AVR_ATmega32__) || defined (__AVR_ATmega644P__)
67 #define IRSND_PORT PORTD // port D
68 #define IRSND_DDR DDRD // ddr D
69 #define IRSND_BIT 7 // OC2A
70 #else
71 #define IRSND_PORT PORTB // port B
72 #define IRSND_DDR DDRB // ddr B
73 #define IRSND_BIT 3 // OC2A
74 #endif // __AVR...