Rev 838 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 838 | Rev 903 | ||
---|---|---|---|
1 | /*--------------------------------------------------------------------------------------------------------------------------------------------------- |
1 | /*--------------------------------------------------------------------------------------------------------------------------------------------------- |
2 | * irsndconfig.h |
2 | * irsndconfig.h |
3 | * |
3 | * |
4 | * Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de |
4 | * Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de |
5 | * |
5 | * |
6 | * $Id: irsndconfig.h,v 1.15 2010/11/10 08:01:46 fm Exp $ |
6 | * $Id: irsndconfig.h,v 1.17 2011/01/18 13:02:15 fm Exp $ |
7 | * |
7 | * |
8 | * ATMEGA88 @ 8 MHz |
8 | * ATMEGA88 @ 8 MHz |
9 | * |
9 | * |
10 | * This program is free software; you can redistribute it and/or modify |
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 |
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 |
12 | * the Free Software Foundation; either version 2 of the License, or |
13 | * (at your option) any later version. |
13 | * (at your option) any later version. |
14 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
14 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
15 | */ |
15 | */ |
16 | 16 | ||
17 | /*--------------------------------------------------------------------------------------------------------------------------------------------------- |
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 |
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 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
19 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
20 | */ |
20 | */ |
21 | #ifndef F_INTERRUPTS |
21 | #ifndef F_INTERRUPTS |
22 | #define F_INTERRUPTS 20000 // interrupts per second |
22 | #define F_INTERRUPTS 20000 // interrupts per second |
23 | #endif |
23 | #endif |
24 | 24 | ||
25 | /*--------------------------------------------------------------------------------------------------------------------------------------------------- |
25 | /*--------------------------------------------------------------------------------------------------------------------------------------------------- |
26 | * Change settings from 1 to 0 if you want to disable one or more encoders. |
26 | * Change settings from 1 to 0 if you want to disable one or more encoders. |
27 | * This saves program space. |
27 | * This saves program space. |
28 | * 1 enable decoder |
28 | * 1 enable decoder |
29 | * 0 disable decoder |
29 | * 0 disable decoder |
30 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
30 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
31 | */ |
31 | */ |
32 | // Protocol Enable Remarks F_INTERRUPTS Program Space |
32 | // Protocol Enable Remarks F_INTERRUPTS Program Space |
33 | #define IRSND_SUPPORT_SIRCS_PROTOCOL 1 // Sony SIRCS >= 10000 uses ~150 bytes |
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 |
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 |
35 | #define IRSND_SUPPORT_SAMSUNG_PROTOCOL 1 // Samsung + Samsung32 >= 10000 uses ~300 bytes |
36 | #define IRSND_SUPPORT_MATSUSHITA_PROTOCOL 0 // Matsushita >= 10000 uses ~200 bytes |
36 | #define IRSND_SUPPORT_MATSUSHITA_PROTOCOL 0 // Matsushita >= 10000 uses ~200 bytes |
37 | #define IRSND_SUPPORT_KASEIKYO_PROTOCOL 1 // Kaseikyo >= 10000 uses ~150 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 |
38 | #define IRSND_SUPPORT_RC5_PROTOCOL 1 // RC5 >= 10000 uses ~150 bytes |
39 | #define IRSND_SUPPORT_DENON_PROTOCOL 0 // DENON >= 10000 uses ~200 bytes |
39 | #define IRSND_SUPPORT_DENON_PROTOCOL 0 // DENON, Sharp >= 10000 uses ~200 bytes |
40 | #define IRSND_SUPPORT_JVC_PROTOCOL 1 // JVC >= 10000 uses ~150 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! |
41 | #define IRSND_SUPPORT_RC6_PROTOCOL 0 // RC6 >= 10000 uses ~250 bytes |
- | 42 | #define IRSND_SUPPORT_RC6A_PROTOCOL 0 // RC6A >= 10000 uses ~250 bytes |
|
42 | #define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL 0 // Bang&Olufsen >= 10000 uses ~250 bytes |
43 | #define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL 0 // Bang&Olufsen >= 10000 uses ~250 bytes |
43 | #define IRSND_SUPPORT_GRUNDIG_PROTOCOL 1 // Grundig >= 10000 uses ~300 bytes |
44 | #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_NOKIA_PROTOCOL 0 // Nokia >= 10000 uses ~400 bytes |
45 | #define IRSND_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 uses ~100 bytes |
46 | #define IRSND_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 uses ~100 bytes |
46 | #define IRSND_SUPPORT_NIKON_PROTOCOL 1 // NIKON >= 10000 uses ~150 bytes |
47 | #define IRSND_SUPPORT_NIKON_PROTOCOL 1 // 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_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_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_SIEMENS_PROTOCOL 0 // Siemens, Gigaset >= 15000 uses ~150 bytes |
50 | #define IRSND_SUPPORT_RECS80_PROTOCOL 1 // RECS80 >= 20000 uses ~100 bytes |
51 | #define IRSND_SUPPORT_RECS80_PROTOCOL 1 // RECS80 >= 20000 uses ~100 bytes |
51 | #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 1 // RECS80EXT >= 20000 uses ~100 bytes |
52 | #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 1 // RECS80EXT >= 20000 uses ~100 bytes |
52 | 53 | ||
53 | 54 | ||
54 | /*--------------------------------------------------------------------------------------------------------------------------------------------------- |
55 | /*--------------------------------------------------------------------------------------------------------------------------------------------------- |
55 | * Change hardware pin here: |
56 | * Change hardware pin here: |
56 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
57 | *--------------------------------------------------------------------------------------------------------------------------------------------------- |
57 | */ |
58 | */ |
58 | #if defined (__AVR_ATmega32__) || defined (__AVR_ATmega644P__) |
59 | #if defined (__AVR_ATmega32__) || defined (__AVR_ATmega644P__) |
59 | #define IRSND_PORT PORTD // port D |
60 | #define IRSND_PORT PORTD // port D |
60 | #define IRSND_DDR DDRD // ddr D |
61 | #define IRSND_DDR DDRD // ddr D |
61 | #define IRSND_BIT 7 // OC2A |
62 | #define IRSND_BIT 7 // OC2A |
62 | #else |
63 | #else |
63 | #define IRSND_PORT PORTB // port B |
64 | #define IRSND_PORT PORTB // port B |
64 | #define IRSND_DDR DDRB // ddr B |
65 | #define IRSND_DDR DDRB // ddr B |
65 | #define IRSND_BIT 3 // OC2A |
66 | #define IRSND_BIT 3 // OC2A |
66 | #endif // __AVR... |
67 | #endif // __AVR... |
67 | 68 | ||
68 | 69 | ||
69 | #if IRSND_SUPPORT_SIEMENS_PROTOCOL == 1 && F_INTERRUPTS < 15000 |
70 | #if IRSND_SUPPORT_SIEMENS_PROTOCOL == 1 && F_INTERRUPTS < 15000 |
70 | #warning F_INTERRUPTS too low, SIEMENS protocol disabled (should be at least 15000) |
71 | #warning F_INTERRUPTS too low, SIEMENS protocol disabled (should be at least 15000) |
71 | #undef IRSND_SUPPORT_SIEMENS_PROTOCOL |
72 | #undef IRSND_SUPPORT_SIEMENS_PROTOCOL |
72 | #define IRSND_SUPPORT_SIEMENS_PROTOCOL 0 // DO NOT CHANGE! F_INTERRUPTS too low! |
73 | #define IRSND_SUPPORT_SIEMENS_PROTOCOL 0 // DO NOT CHANGE! F_INTERRUPTS too low! |
73 | #endif |
74 | #endif |
74 | 75 | ||
75 | #if IRSND_SUPPORT_RECS80_PROTOCOL == 1 && F_INTERRUPTS < 20000 |
76 | #if IRSND_SUPPORT_RECS80_PROTOCOL == 1 && F_INTERRUPTS < 20000 |
76 | #warning F_INTERRUPTS too low, RECS80 protocol disabled (should be at least 20000) |
77 | #warning F_INTERRUPTS too low, RECS80 protocol disabled (should be at least 20000) |
77 | #undef IRSND_SUPPORT_RECS80_PROTOCOL |
78 | #undef IRSND_SUPPORT_RECS80_PROTOCOL |
78 | #define IRSND_SUPPORT_RECS80_PROTOCOL 0 |
79 | #define IRSND_SUPPORT_RECS80_PROTOCOL 0 |
79 | #endif |
80 | #endif |
80 | 81 | ||
81 | #if IRSND_SUPPORT_RECS80EXT_PROTOCOL == 1 && F_INTERRUPTS < 20000 |
82 | #if IRSND_SUPPORT_RECS80EXT_PROTOCOL == 1 && F_INTERRUPTS < 20000 |
82 | #warning F_INTERRUPTS too low, RECS80EXT protocol disabled (should be at least 20000) |
83 | #warning F_INTERRUPTS too low, RECS80EXT protocol disabled (should be at least 20000) |
83 | #undef IRSND_SUPPORT_RECS80EXT_PROTOCOL |
84 | #undef IRSND_SUPPORT_RECS80EXT_PROTOCOL |
84 | #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 0 |
85 | #define IRSND_SUPPORT_RECS80EXT_PROTOCOL 0 |
85 | #endif |
86 | #endif |
86 | 87 |