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>2020-01-19 02:03:39 +0300
committerDavid Crocker <dcrocker@eschertech.com>2020-01-19 02:03:39 +0300
commitc812ce5e14cf476526d955edbce2effa9d922902 (patch)
treeda67dc55e46efdd38a0647318977a342da730345 /src/Movement/Kinematics/FiveBarScaraKinematics.cpp
parente0bbf71357b07c22e6d43be3cca5c7422163be32 (diff)
Major refactoring, bug fixes in function evaluation
Changed all bitmaps to use the bitmap class from RRFLibraries Fixed bugs in functoin evaluation
Diffstat (limited to 'src/Movement/Kinematics/FiveBarScaraKinematics.cpp')
-rw-r--r--src/Movement/Kinematics/FiveBarScaraKinematics.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/Movement/Kinematics/FiveBarScaraKinematics.cpp b/src/Movement/Kinematics/FiveBarScaraKinematics.cpp
index 0a7e7a40..ea16329c 100644
--- a/src/Movement/Kinematics/FiveBarScaraKinematics.cpp
+++ b/src/Movement/Kinematics/FiveBarScaraKinematics.cpp
@@ -819,10 +819,9 @@ void FiveBarScaraKinematics::GetAssumedInitialPosition(size_t numAxes, float pos
AxesBitmap FiveBarScaraKinematics::AxesAssumedHomed(AxesBitmap g92Axes) const
{
// If both X and Y have been specified then we know the positions of both arm motors, otherwise we don't
- const AxesBitmap xyAxes = MakeBitmap<AxesBitmap>(X_AXIS) | MakeBitmap<AxesBitmap>(Y_AXIS);
- if ((g92Axes & xyAxes) != xyAxes)
+ if ((g92Axes & XyAxes) != XyAxes)
{
- g92Axes &= ~xyAxes;
+ g92Axes &= ~XyAxes;
}
return g92Axes;
}
@@ -830,10 +829,9 @@ AxesBitmap FiveBarScaraKinematics::AxesAssumedHomed(AxesBitmap g92Axes) const
// Return the set of axes that must be homed prior to regular movement of the specified axes
AxesBitmap FiveBarScaraKinematics::MustBeHomedAxes(AxesBitmap axesMoving, bool disallowMovesBeforeHoming) const
{
- constexpr AxesBitmap xyzAxes = MakeBitmap<AxesBitmap>(X_AXIS) | MakeBitmap<AxesBitmap>(Y_AXIS) | MakeBitmap<AxesBitmap>(Z_AXIS);
- if ((axesMoving & xyzAxes) != 0)
+ if (axesMoving.Intersects(XyzAxes))
{
- axesMoving |= xyzAxes;
+ axesMoving |= XyzAxes;
}
return axesMoving;
}
@@ -911,14 +909,14 @@ bool FiveBarScaraKinematics::IsContinuousRotationAxis(size_t axis) const
AxesBitmap FiveBarScaraKinematics::GetLinearAxes() const
{
- return MakeBitmap<AxesBitmap>(Z_AXIS);
+ return AxesBitmap::MakeFromBits(Z_AXIS);
}
AxesBitmap FiveBarScaraKinematics::GetConnectedAxes(size_t axis) const
{
return (axis == X_AXIS || axis == Y_AXIS)
- ? MakeBitmap<AxesBitmap>(X_AXIS) | MakeBitmap<AxesBitmap>(Y_AXIS)
- : MakeBitmap<AxesBitmap>(axis);
+ ? XyAxes
+ : AxesBitmap::MakeFromBits(axis);
}
// Recalculate the derived parameters