From 4ee94a1800a7af4c60ee6154dde4e4481539fe0e Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Tue, 21 Jul 2009 06:05:02 +0000 Subject: [PATCH] Fixing Servo library on the ATmega8 by changing assignments to TIMSK and TIFR into bitwise-or's. Otherwise, this broke millis() by disabling the timer 0 overflow interrupt. --- hardware/libraries/Servo/Servo.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hardware/libraries/Servo/Servo.cpp b/hardware/libraries/Servo/Servo.cpp index 32cc0e7ff..9f58d64b7 100755 --- a/hardware/libraries/Servo/Servo.cpp +++ b/hardware/libraries/Servo/Servo.cpp @@ -128,11 +128,11 @@ static void initISR(servoTimer_t timer) TCCR1B = _BV(CS11); // set prescaler of 8 TCNT1 = 0; // clear the timer count #if defined(__AVR_ATmega8__) - TIFR = _BV(OCF1A); // clear any pending interrupts; - TIMSK = _BV(OCIE1A) ; // enable the output compare interrupt + TIFR |= _BV(OCF1A); // clear any pending interrupts; + TIMSK |= _BV(OCIE1A) ; // enable the output compare interrupt #else - TIFR1 = _BV(OCF1A); // clear any pending interrupts; - TIMSK1 = _BV(OCIE1A) ; // enable the output compare interrupt + TIFR1 |= _BV(OCF1A); // clear any pending interrupts; + TIMSK1 |= _BV(OCIE1A) ; // enable the output compare interrupt #endif } #if defined(__AVR_ATmega1280__)