diff options
author | David Crocker <dcrocker@eschertech.com> | 2022-09-28 17:11:52 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2022-09-28 17:11:52 +0300 |
commit | 2dbe021bc625f736e216966eecd5a8cb347ba26f (patch) | |
tree | f9f0bb300195bd782aedb7116b1b69d6f7a049bb | |
parent | db8d4dc2a1dd60fdfa2fd34d9778358f2ddcc797 (diff) | |
parent | 6c176eb1ba04a32cf050a3d0ade7f58a00a8b2e1 (diff) |
Merge branch '3.4-dev' into 3.5-dev
-rw-r--r-- | src/Movement/DDA.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Movement/DDA.cpp b/src/Movement/DDA.cpp index c8c4ff85..9b99f0bb 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 |