diff options
author | David Crocker <dcrocker@eschertech.com> | 2021-01-23 17:13:42 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2021-01-23 17:13:42 +0300 |
commit | 679be2794bddb1a8e044dbc3eab882ef159bf8e1 (patch) | |
tree | cf428b5564065f38ad9248fe05a804a16c6f0c28 /src/Movement | |
parent | 8aac0fd4cbec408adcb4b1df71c2513daf476caf (diff) |
Initial implementation of G17/G18/G19 (not tested)
Diffstat (limited to 'src/Movement')
-rw-r--r-- | src/Movement/DDA.cpp | 4 | ||||
-rw-r--r-- | src/Movement/DDA.h | 6 | ||||
-rw-r--r-- | src/Movement/DDARing.cpp | 8 | ||||
-rw-r--r-- | src/Movement/RawMove.h | 2 |
4 files changed, 10 insertions, 10 deletions
diff --git a/src/Movement/DDA.cpp b/src/Movement/DDA.cpp index 7859545e..62fc5a55 100644 --- a/src/Movement/DDA.cpp +++ b/src/Movement/DDA.cpp @@ -370,8 +370,8 @@ bool DDA::InitStandardMove(DDARing& ring, const RawMove &nextMove, bool doMotorM filePos = nextMove.filePos; virtualExtruderPosition = nextMove.virtualExtruderPosition; proportionDone = nextMove.proportionDone; - initialUserX = nextMove.initialUserX; - initialUserY = nextMove.initialUserY; + initialUserC0 = nextMove.initialUserC0; + initialUserC1 = nextMove.initialUserC1; flags.canPauseAfter = nextMove.canPauseAfter; flags.usingStandardFeedrate = nextMove.usingStandardFeedrate; diff --git a/src/Movement/DDA.h b/src/Movement/DDA.h index 015f8a69..09c06d1f 100644 --- a/src/Movement/DDA.h +++ b/src/Movement/DDA.h @@ -102,8 +102,8 @@ public: int32_t GetStepsTaken(size_t drive) const noexcept; float GetProportionDone(bool moveWasAborted) const noexcept; // Return the proportion of extrusion for the complete multi-segment move already done - float GetInitialUserX() const noexcept { return initialUserX; } - float GetInitialUserY() const noexcept { return initialUserY; } + float GetInitialUserC0() const noexcept { return initialUserC0; } + float GetInitialUserC1() const noexcept { return initialUserC1; } void MoveAborted() noexcept; @@ -260,7 +260,7 @@ private: float topSpeed; float proportionDone; // what proportion of the extrusion in the G1 or G0 move of which this is a part has been done after this segment is complete - float initialUserX, initialUserY; // if this is a segment of an arc move, the user X and Y coordinates at the start + float initialUserC0, initialUserC1; // if this is a segment of an arc move, the user X and Y coordinates at the start uint32_t clocksNeeded; union diff --git a/src/Movement/DDARing.cpp b/src/Movement/DDARing.cpp index c59b04bf..dad6f4e8 100644 --- a/src/Movement/DDARing.cpp +++ b/src/Movement/DDARing.cpp @@ -734,8 +734,8 @@ bool DDARing::PauseMoves(RestorePoint& rp) noexcept dda = addPointer; rp.proportionDone = dda->GetProportionDone(false); // get the proportion of the current multi-segment move that has been completed - rp.initialUserX = dda->GetInitialUserX(); - rp.initialUserY = dda->GetInitialUserY(); + rp.initialUserC0 = dda->GetInitialUserC0(); + rp.initialUserC1 = dda->GetInitialUserC1(); if (dda->UsingStandardFeedrate()) { rp.feedRate = dda->GetRequestedSpeed(); @@ -811,8 +811,8 @@ bool DDARing::LowPowerOrStallPause(RestorePoint& rp) noexcept rp.virtualExtruderPosition = dda->GetVirtualExtruderPosition(); rp.filePos = dda->GetFilePosition(); rp.proportionDone = dda->GetProportionDone(abortedMove); // store how much of the complete multi-segment move's extrusion has been done - rp.initialUserX = dda->GetInitialUserX(); - rp.initialUserY = dda->GetInitialUserY(); + rp.initialUserC0 = dda->GetInitialUserC0(); + rp.initialUserC1 = dda->GetInitialUserC1(); #if SUPPORT_LASER || SUPPORT_IOBITS rp.laserPwmOrIoBits = dda->GetLaserPwmOrIoBits(); diff --git a/src/Movement/RawMove.h b/src/Movement/RawMove.h index 0ca6e1c8..c38fcb38 100644 --- a/src/Movement/RawMove.h +++ b/src/Movement/RawMove.h @@ -18,7 +18,7 @@ struct RawMove float virtualExtruderPosition; // the virtual extruder position at the start of this move, for normal moves FilePosition filePos; // offset in the file being printed at the start of reading this move float proportionDone; // what proportion of the entire move has been done when this segment is complete - float initialUserX, initialUserY; // if this is a segment of an arc move, the user X and Y coordinates at the start + float initialUserC0, initialUserC1; // if this is a segment of an arc move, the user XYZ coordinates at the start const Tool *tool; // which tool (if any) is being used #if SUPPORT_LASER || SUPPORT_IOBITS LaserPwmOrIoBits laserPwmOrIoBits; // the laser PWM or port bit settings required |