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-11-05 14:33:10 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-11-05 14:33:10 +0300
commit7bcb3af0392c5299bfe038fb540f23c6163976cf (patch)
tree64939677b5f5e25c9287dc26a101c575516b542c /src/Movement/Kinematics/FiveBarScaraKinematics.cpp
parentbcc31b9df1d6a5748b78c2249e55d75c9a7e0fed (diff)
Fixes to polar kinematics
A and F parameters didn't work because they were not converted from seconds to step clocks XY movement was not allowed unless Z was homed Also added a default implementation of LimitSpeedAndAcceleration in the Kinematics base class and removed the identical implementations from RoundBedKinematics, ScaraKinematics and FiveBarScaraKinematics
Diffstat (limited to 'src/Movement/Kinematics/FiveBarScaraKinematics.cpp')
-rw-r--r--src/Movement/Kinematics/FiveBarScaraKinematics.cpp16
1 files changed, 0 insertions, 16 deletions
diff --git a/src/Movement/Kinematics/FiveBarScaraKinematics.cpp b/src/Movement/Kinematics/FiveBarScaraKinematics.cpp
index 3e1ff1e1..fe44440b 100644
--- a/src/Movement/Kinematics/FiveBarScaraKinematics.cpp
+++ b/src/Movement/Kinematics/FiveBarScaraKinematics.cpp
@@ -922,22 +922,6 @@ void FiveBarScaraKinematics::OnHomingSwitchTriggered(size_t axis, bool highEnd,
}
}
-// Limit the speed and acceleration of a move to values that the mechanics can handle. The speeds in Cartesian space have already been limited.
-void FiveBarScaraKinematics::LimitSpeedAndAcceleration(DDA& dda, const float *normalisedDirectionVector, size_t numVisibleAxes, bool continuousRotationShortcut) const noexcept
-{
- //TODO should we make use of numVisibleAxes and/or continuousRotationShortcut?
- // For now we limit the speed in the XY plane to the lower of the X and Y maximum speeds, and similarly for the acceleration.
- // Limiting the angular rates of the arms would be better.
- const float xyFactor = fastSqrtf(fsquare(normalisedDirectionVector[X_AXIS]) + fsquare(normalisedDirectionVector[Y_AXIS]));
- if (xyFactor > 0.01)
- {
- const Platform& platform = reprap.GetPlatform();
- const float maxSpeed = min<float>(platform.MaxFeedrate(X_AXIS), platform.MaxFeedrate(Y_AXIS));
- const float maxAcceleration = min<float>(platform.Acceleration(X_AXIS), platform.Acceleration(Y_AXIS));
- dda.LimitSpeedAndAcceleration(maxSpeed/xyFactor, maxAcceleration/xyFactor);
- }
-}
-
// Return true if the specified axis is a continuous rotation axis
bool FiveBarScaraKinematics::IsContinuousRotationAxis(size_t axis) const noexcept
{