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>2021-07-08 12:19:48 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-07-08 12:20:54 +0300
commit80adc441d72440b60e393ef700c81427d301f3d3 (patch)
tree2fb7731e459993e530e320ff6ca1f48179fcf050
parentd253bb7b92326761b2c764aff264c8fa7eae02cd (diff)
Fix for rotational-only movement with Penta Axis kinematics
-rw-r--r--src/Movement/DDA.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/Movement/DDA.cpp b/src/Movement/DDA.cpp
index 1ff3fa12..645b31e3 100644
--- a/src/Movement/DDA.cpp
+++ b/src/Movement/DDA.cpp
@@ -289,11 +289,23 @@ bool DDA::InitStandardMove(DDARing& ring, const RawMove &nextMove, bool doMotorM
if (drive < numVisibleAxes)
{
+ const float positionDelta = endCoordinates[drive] - prev->GetEndCoordinate(drive, false);
+ if (positionDelta != 0.0)
+ {
+ if (reprap.GetPlatform().IsAxisRotational(drive))
+ {
+ rotationalAxesMoving = true;
+ }
+ else
+ {
+ linearAxesMoving = true;
+ }
+ }
+
int32_t delta;
if (doMotorMapping)
{
delta = endPoint[drive] - positionNow[drive];
- const float positionDelta = endCoordinates[drive] - prev->GetEndCoordinate(drive, false);
directionVector[drive] = positionDelta;
if (positionDelta != 0.0 && (Tool::GetXAxes(nextMove.tool).IsBitSet(drive) || Tool::GetYAxes(nextMove.tool).IsBitSet(drive)))
{
@@ -308,20 +320,12 @@ bool DDA::InitStandardMove(DDARing& ring, const RawMove &nextMove, bool doMotorM
directionVector[drive] = (float)delta/reprap.GetPlatform().DriveStepsPerUnit(drive);
}
+#if 0 // debug only
if (delta != 0)
{
-#if 0 // debug only
stepsRequested[drive] += labs(delta);
-#endif
- if (reprap.GetPlatform().IsAxisRotational(drive))
- {
- rotationalAxesMoving = true;
- }
- else
- {
- linearAxesMoving = true;
- }
}
+#endif
}
else if (LogicalDriveToExtruder(drive) < reprap.GetGCodes().GetNumExtruders())
{