Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2022-09-23 10:54:18 +0300
committerDavid Crocker <dcrocker@eschertech.com>2022-09-23 10:54:18 +0300
commit9161ccc15ce93405ef658a4096acbf63db68b32c (patch)
treec62b89fa0dc8988693c6a7fc09580f216f2b9a83
parent4c2175fe143f63166fd75d7afdee9ce979c323a5 (diff)
Fixed issue on MB6XD with endstops/Z probes stopping external drivers
-rw-r--r--src/Movement/DDA.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Movement/DDA.cpp b/src/Movement/DDA.cpp
index 5ea10f5b..751841c0 100644
--- a/src/Movement/DDA.cpp
+++ b/src/Movement/DDA.cpp
@@ -1498,7 +1498,7 @@ void DDA::Prepare(SimulationMode simMode) noexcept
if ( platform.GetDriversBitmap(drive) != 0 // if any of the drives is local
#if SUPPORT_CAN_EXPANSION
- || flags.checkEndstops // if checking endstops, create a DM even if there are no local drives involved
+ || flags.checkEndstops // if checking endstops or a Z probe, create a DM even if there are no local drives involved
#endif
)
{
@@ -2061,12 +2061,12 @@ void DDA::StepDrivers(Platform& p, uint32_t now) noexcept
// Trigger the TC so that it generates a step pulse
STEP_GATE_TC->TC_CHANNEL[STEP_GATE_TC_CHAN].TC_CCR = TC_CCR_SWTRG;
lastStepHighTime = StepTimer::GetTimerTicks();
+ }
- // Calculate the next step times
- for (DriveMovement *dm2 = activeDMs; dm2 != dm; dm2 = dm2->nextDM)
- {
- (void)dm2->CalcNextStepTime(*this); // calculate next step times
- }
+ // Calculate the next step times. We must do this even if no local drivers are stepping in case endstops or Z probes are active.
+ for (DriveMovement *dm2 = activeDMs; dm2 != dm; dm2 = dm2->nextDM)
+ {
+ (void)dm2->CalcNextStepTime(*this); // calculate next step times
}
#else
# if SUPPORT_SLOW_DRIVERS // if supporting slow drivers