diff --git a/Marlin/src/HAL/AVR/Servo.cpp b/Marlin/src/HAL/AVR/Servo.cpp index 7b48c0ca19..1b4208e365 100644 --- a/Marlin/src/HAL/AVR/Servo.cpp +++ b/Marlin/src/HAL/AVR/Servo.cpp @@ -70,7 +70,7 @@ static inline void handle_interrupts(const timer16_Sequence_t timer, volatile ui int8_t cho = Channel[timer]; // Handle the prior Channel[timer] first if (cho < 0) // Channel -1 indicates the refresh interval completed... *TCNTn = 0; // ...so reset the timer - else if (SERVO_INDEX(timer, cho) < ServoCount && SERVO(timer, cho).Pin.isActive) // prior channel ... handled and active? + else if (SERVO_INDEX(timer, cho) < ServoCount) // prior channel handled? extDigitalWrite(SERVO(timer, cho).Pin.nbr, LOW); // pulse the prior channel LOW Channel[timer] = ++cho; // Handle the next channel (or 0) diff --git a/Marlin/src/HAL/DUE/Servo.cpp b/Marlin/src/HAL/DUE/Servo.cpp index 9d67859b51..e2d1518ebc 100644 --- a/Marlin/src/HAL/DUE/Servo.cpp +++ b/Marlin/src/HAL/DUE/Servo.cpp @@ -75,7 +75,7 @@ void Servo_Handler(const timer16_Sequence_t timer, Tc *tc, const uint8_t channel int8_t cho = Channel[timer]; // Handle the prior Channel[timer] first if (cho < 0) // Channel -1 indicates the refresh interval completed... tc->TC_CHANNEL[channel].TC_CCR |= TC_CCR_SWTRG; // ...so reset the timer - else if (SERVO_INDEX(timer, cho) < ServoCount && SERVO(timer, cho).Pin.isActive) // prior channel... handled and active? + else if (SERVO_INDEX(timer, cho) < ServoCount) // prior channel handled? extDigitalWrite(SERVO(timer, cho).Pin.nbr, LOW); // pulse the prior channel LOW Channel[timer] = ++cho; // go to the next channel (or 0) diff --git a/Marlin/src/HAL/SAMD51/Servo.cpp b/Marlin/src/HAL/SAMD51/Servo.cpp index c7a89806f6..3fed7cf93e 100644 --- a/Marlin/src/HAL/SAMD51/Servo.cpp +++ b/Marlin/src/HAL/SAMD51/Servo.cpp @@ -90,7 +90,7 @@ HAL_SERVO_TIMER_ISR() { tc->COUNT16.COUNT.reg = TC_COUNTER_START_VAL; // ...so reset the timer SYNC(tc->COUNT16.SYNCBUSY.bit.COUNT); } - else if (SERVO_INDEX(timer, cho) < ServoCount && SERVO(timer, cho).Pin.isActive) // prior channel... handled and activated? + else if (SERVO_INDEX(timer, cho) < ServoCount) // prior channel handled? digitalWrite(SERVO(timer, cho).Pin.nbr, LOW); // pulse the prior channel LOW currentServoIndex[timer] = ++cho; // go to the next channel (or 0)