Skip to content

Commit f015fa1

Browse files
committed
Update MSTimer2 to support ATmega1284P. Thanks Tom.
1 parent 7bd79f5 commit f015fa1

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

libraries/MsTimer2/MsTimer2.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
Javier Valencia <[email protected]>
44
55
History:
6+
7+
05Apr2015 TRL V0.6a added support for ATmega1284P
68
29/Dec/11 - V0.6 added support for ATmega32u4, AT90USB646, AT90USB1286 ([email protected])
79
some improvements added by Bill Perry
810
note: uses timer4 on Atmega32u4
@@ -49,7 +51,7 @@ void MsTimer2::set(unsigned long ms, void (*f)()) {
4951

5052
func = f;
5153

52-
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
54+
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
5355
TIMSK2 &= ~(1<<TOIE2);
5456
TCCR2A &= ~((1<<WGM21) | (1<<WGM20));
5557
TCCR2B &= ~(1<<WGM22);
@@ -147,7 +149,7 @@ void MsTimer2::set(unsigned long ms, void (*f)()) {
147149
void MsTimer2::start() {
148150
count = 0;
149151
overflowing = 0;
150-
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
152+
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
151153
TCNT2 = tcnt2;
152154
TIMSK2 |= (1<<TOIE2);
153155
#elif defined (__AVR_ATmega128__)
@@ -164,7 +166,7 @@ void MsTimer2::start() {
164166
}
165167

166168
void MsTimer2::stop() {
167-
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
169+
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
168170
TIMSK2 &= ~(1<<TOIE2);
169171
#elif defined (__AVR_ATmega128__)
170172
TIMSK &= ~(1<<TOIE2);
@@ -192,7 +194,7 @@ ISR(TIMER4_OVF_vect) {
192194
#else
193195
ISR(TIMER2_OVF_vect) {
194196
#endif
195-
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
197+
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
196198
TCNT2 = MsTimer2::tcnt2;
197199
#elif defined (__AVR_ATmega128__)
198200
TCNT2 = MsTimer2::tcnt2;
@@ -203,4 +205,3 @@ ISR(TIMER2_OVF_vect) {
203205
#endif
204206
MsTimer2::_overflow();
205207
}
206-

0 commit comments

Comments
 (0)