From 88b38eafd89cede5c02bb6040f6cdb49635cf0aa Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 15 Nov 2016 16:41:13 +0100 Subject: [PATCH] Endstop interrupt refinement At the start of a move, check if the endstops are already triggered. The 'change' interrupts will not see a change if already triggered. --- Marlin/stepper.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp index 7e0c744f1..974dbad0e 100644 --- a/Marlin/stepper.cpp +++ b/Marlin/stepper.cpp @@ -359,6 +359,11 @@ void Stepper::isr() { step_events_completed = 0; + #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) + e_hit = 2; // Needed for the case an endstop is already triggered before the new move begins. + // No 'change' can be detected. + #endif + #if ENABLED(Z_LATE_ENABLE) if (current_block->steps[Z_AXIS] > 0) { enable_z();