Skip to content

Commit de3d723

Browse files
authored
Merge pull request Arduino-IRremote#325 from z3t0/dev
Merging 2.2.0 into master
2 parents 44f801d + 978284d commit de3d723

File tree

5 files changed

+93
-29
lines changed

5 files changed

+93
-29
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ install:
2626
- pip install -U platformio
2727

2828
script:
29-
- platformio ci --lib="." --board=uno --board=leonardo --board=pro16MHzatmega168
29+
- platformio ci --lib="." --board=uno --board=leonardo --board=pro16MHzatmega168 --board=btatmega328

IRremoteInt.h

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,30 @@ EXTERN volatile irparams_t irparams;
184184
#define IR_USE_TIMER2 // tx = pin 1
185185
//#define IR_USE_TIMER3 // tx = pin 16
186186

187-
// Sanguino
188-
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
187+
// MightyCore - ATmega1284
188+
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)
189+
//#define IR_USE_TIMER1 // tx = pin 13
190+
#define IR_USE_TIMER2 // tx = pin 14
191+
//#define IR_USE_TIMER3 // tx = pin 6
192+
193+
// MightyCore - ATmega164, ATmega324, ATmega644
194+
#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) \
195+
|| defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) \
196+
|| defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega164A__) \
197+
|| defined(__AVR_ATmega164P__)
189198
//#define IR_USE_TIMER1 // tx = pin 13
190199
#define IR_USE_TIMER2 // tx = pin 14
200+
201+
//MegaCore - ATmega64, ATmega128
202+
#elif defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__)
203+
#define IR_USE_TIMER1 // tx = pin 13
204+
205+
// MightyCore - ATmega8535, ATmega16, ATmega32
206+
#elif defined(__AVR_ATmega8535__) || defined(__AVR_ATmega16__) || defined(__AVR_ATmega32__)
207+
#define IR_USE_TIMER1 // tx = pin 13
191208

192209
// Atmega8
193-
#elif defined(__AVR_ATmega8P__) || defined(__AVR_ATmega8__)
210+
#elif defined(__AVR_ATmega8__)
194211
#define IR_USE_TIMER1 // tx = pin 9
195212

196213
// ATtiny84
@@ -255,8 +272,12 @@ EXTERN volatile irparams_t irparams;
255272
# define TIMER_PWM_PIN CORE_OC2B_PIN // Teensy
256273
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
257274
# define TIMER_PWM_PIN 9 // Arduino Mega
258-
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
259-
# define TIMER_PWM_PIN 14 // Sanguino
275+
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) \
276+
|| defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) \
277+
|| defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) \
278+
|| defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega164A__) \
279+
|| defined(__AVR_ATmega164P__)
280+
# define TIMER_PWM_PIN 14 // MightyCore
260281
#else
261282
# define TIMER_PWM_PIN 3 // Arduino Duemilanove, Diecimila, LilyPad, etc
262283
#endif
@@ -271,7 +292,9 @@ EXTERN volatile irparams_t irparams;
271292
#define TIMER_DISABLE_PWM (TCCR1A &= ~(_BV(COM1A1)))
272293

273294
//-----------------
274-
#if defined(__AVR_ATmega8P__) || defined(__AVR_ATmega8__)
295+
#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega8535__) \
296+
|| defined(__AVR_ATmega16__) || defined(__AVR_ATmega32__) \
297+
|| defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__)
275298
# define TIMER_ENABLE_INTR (TIMSK |= _BV(OCIE1A))
276299
# define TIMER_DISABLE_INTR (TIMSK &= ~_BV(OCIE1A))
277300
#else
@@ -302,10 +325,17 @@ EXTERN volatile irparams_t irparams;
302325
# define TIMER_PWM_PIN CORE_OC1A_PIN // Teensy
303326
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
304327
# define TIMER_PWM_PIN 11 // Arduino Mega
305-
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
306-
# define TIMER_PWM_PIN 13 // Sanguino
328+
#elif defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__)
329+
# define TIMER_PWM_PIN 13 // MegaCore
330+
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) \
331+
|| defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) \
332+
|| defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) \
333+
|| defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega164A__) \
334+
|| defined(__AVR_ATmega164P__) || defined(__AVR_ATmega32__) \
335+
|| defined(__AVR_ATmega16__) || defined(__AVR_ATmega8535__)
336+
# define TIMER_PWM_PIN 13 // MightyCore
307337
#elif defined(__AVR_ATtiny84__)
308-
# define TIMER_PWM_PIN 6
338+
# define TIMER_PWM_PIN 6
309339
#else
310340
# define TIMER_PWM_PIN 9 // Arduino Duemilanove, Diecimila, LilyPad, etc
311341
#endif
@@ -342,6 +372,8 @@ EXTERN volatile irparams_t irparams;
342372
# define TIMER_PWM_PIN CORE_OC3A_PIN // Teensy
343373
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
344374
# define TIMER_PWM_PIN 5 // Arduino Mega
375+
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)
376+
# define TIMER_PWM_PIN 6 // MightyCore
345377
#else
346378
# error "Please add OC3A pin number here\n"
347379
#endif

README.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This library enables you to send and receive using infra-red signals on an Ardui
88

99
Check [here](http://z3t0.github.io/Arduino-IRremote/) for tutorials and more information.
1010

11-
## Version - 2.1.0
11+
## Version - 2.2.0
1212

1313
## Installation
1414
1. Navigate to the [Releases](https://github.com/z3t0/Arduino-IRremote/releases) page.
@@ -21,26 +21,29 @@ Check [here](http://z3t0.github.io/Arduino-IRremote/) for tutorials and more inf
2121
- Arduino Uno / Mega / Leonardo / Duemilanove / Diecimila / LilyPad / Mini / Fio / Nano etc.
2222
- Teensy 1.0 / 1.0++ / 2.0 / 2++ / 3.0 / 3.1 / Teensy-LC; Credits: @PaulStoffregen (Teensy Team)
2323
- Sanguino
24-
- Atmega8
24+
- Atmega8535, 8, 16, 32, 164, 324, 644, 1284, 64, 128
2525
- ATtiny 84 / 85
2626

2727
We are open to suggestions for adding support to new boards, however we highly recommend you contact your supplier first and ask them to provide support from their side.
2828

2929
### Hardware specifications
3030

31-
| Board/CPU | Send Pin | Timers |
32-
|------------------------------------------|---------------------|-------------------|
33-
| Arduino Mega / ATmega 1280 / ATmega 2560 | 5, 6, **9**, 11, 46 | 1, **2**, 3, 4, 5 |
34-
| Teensy 1.0 | **17** | **1** |
35-
| Teensy 2.0 | 9, **10**, 14 | 1, 3, **4_HS** |
36-
| Teensy++ 1.0 / 2.0 | **1**, 16, 25 | 1, **2**, 3 |
37-
| Teensy 3.0 / 3.1 | **5** | **CMT** |
38-
| Teensy-LC | **16** | **TPM1** |
39-
| Sanguino | 13, **14** | 1, **2** |
40-
| Atmega8 | **9** | **1** |
41-
| ATtiny84 | **6** | **1** |
42-
| ATtiny85 | **1** | **TINY0** |
43-
| Arduino Duemilanove, UNO etc. | **3**, 9 | 1, **2** |
31+
| Board/CPU | Send Pin | Timers |
32+
|--------------------------------------------------------------------------|---------------------|-------------------|
33+
| [ATtiny84](https://github.com/SpenceKonde/ATTinyCore) | **6** | **1** |
34+
| [ATtiny85](https://github.com/SpenceKonde/ATTinyCore) | **1** | **TINY0** |
35+
| ATmega8 | **9** | **1** |
36+
| ATmega168, ATmega328 | **3**, 9 | 1, **2** |
37+
| [ATmega1284](https://github.com/MCUdude/MightyCore) | 13, 14, 6 | 1, **2**, 3 |
38+
| [ATmega164, ATmega324, ATmega644](https://github.com/MCUdude/MightyCore) | 13, **14** | 1, **2** |
39+
| [ATmega8535 ATmega16, ATmega32](https://github.com/MCUdude/MightyCore) | **13** | **1** |
40+
| [ATmega64, ATmega128](https://github.com/MCUdude/MegaCore) | **13** | **1** |
41+
| ATmega1280, ATmega2560 | 5, 6, **9**, 11, 46 | 1, **2**, 3, 4, 5 |
42+
| [Teensy 1.0](https://www.pjrc.com/teensy/) | **17** | **1** |
43+
| [Teensy 2.0](https://www.pjrc.com/teensy/) | 9, **10**, 14 | 1, 3, **4_HS** |
44+
| [Teensy++ 1.0 / 2.0](https://www.pjrc.com/teensy/) | **1**, 16, 25 | 1, **2**, 3 |
45+
| [Teensy 3.0 / 3.1](https://www.pjrc.com/teensy/) | **5** | **CMT** |
46+
| [Teensy-LC](https://www.pjrc.com/teensy/) | **16** | **TPM1** |
4447

4548
The table above lists the currently supported timers and corresponding send pins, many of these can have additional pins opened up and we are open to requests if a need arises for other pins.
4649

changelog.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
## 2.2.0 - 2016/06/28
2+
- Added support for ATmega8535
3+
- Added support for ATmega16
4+
- Added support for ATmega32
5+
- Added support for ATmega164
6+
- Added support for ATmega324
7+
- Added support for ATmega644
8+
- Added support for ATmega1284
9+
- Added support for ATmega64
10+
- Added support for ATmega128
11+
12+
[PR](https://github.com/z3t0/Arduino-IRremote/pull/324)
13+
114
## 2.1.1 - 2016/05/04
215
- Added Lego Power Functions Protocol [PR #309](https://github.com/z3t0/Arduino-IRremote/pull/309)
316

examples/IRremoteInfo/IRremoteInfo.ino

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,26 @@ void dumpPlatform() {
107107
Serial.println(F("Teensy++ 1.0 / AT90USB646"));
108108
#elif defined(__AVR_AT90USB1286__)
109109
Serial.println(F("Teensy++ 2.0 / AT90USB1286"));
110-
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
111-
Serial.println(F("Sanguino / ATmega644(P)"));
112-
#elif defined(__AVR_ATmega8P__) || defined(__AVR_ATmega8__)
113-
Serial.println(F("Atmega8 / ATmega8(P)"));
110+
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)
111+
Serial.println(F("ATmega1284"));
112+
#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__)
113+
Serial.println(F("ATmega644"));
114+
#elif defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) || defined(__AVR_ATmega324PA__)
115+
Serial.println(F("ATmega324"));
116+
#elif defined(__AVR_ATmega164A__) || defined(__AVR_ATmega164P__)
117+
Serial.println(F("ATmega164"));
118+
#elif defined(__AVR_ATmega128__)
119+
Serial.println(F("ATmega128"));
120+
#elif defined(__AVR_ATmega64__)
121+
Serial.println(F("ATmega64"));
122+
#elif defined(__AVR_ATmega32__)
123+
Serial.println(F("ATmega32"));
124+
#elif defined(__AVR_ATmega16__)
125+
Serial.println(F("ATmega16"));
126+
#elif defined(__AVR_ATmega8535__)
127+
Serial.println(F("ATmega8535"));
128+
#elif defined(__AVR_ATmega8__)
129+
Serial.println(F("Atmega8"));
114130
#elif defined(__AVR_ATtiny84__)
115131
Serial.println(F("ATtiny84"));
116132
#elif defined(__AVR_ATtiny85__)

0 commit comments

Comments
 (0)