void PWMServo::detach() { // muck with timer flags if (pin == 9) { attached9 = 0; TCCR1A = TCCR1A & ~_BV(COM1A0) & ~_BV(COM1A1); pinMode(pin, INPUT); } if (pin == 10) { attached10 = 0; TCCR1A = TCCR1A & ~_BV(COM1B0) & ~_BV(COM1B1); pinMode(pin, INPUT); } if (!attached9 && !attached10) releaseTimer1(); }
void Servo::detach() { // muck with timer flags if (pin == servoAPin) { attachedA = 0; TCCR1A = TCCR1A & ~_BV(COM1A0) & ~_BV(COM1A1); pinMode(pin, INPUT); } if (pin == servoBPin) { attachedB = 0; TCCR1A = TCCR1A & ~_BV(COM1B0) & ~_BV(COM1B1); pinMode(pin, INPUT); } if (!attachedA && !attachedB) releaseTimer1(); }