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-01-23 17:13:42 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-01-23 17:13:42 +0300
commit679be2794bddb1a8e044dbc3eab882ef159bf8e1 (patch)
treecf428b5564065f38ad9248fe05a804a16c6f0c28 /src/Movement
parent8aac0fd4cbec408adcb4b1df71c2513daf476caf (diff)
Initial implementation of G17/G18/G19 (not tested)
Diffstat (limited to 'src/Movement')
-rw-r--r--src/Movement/DDA.cpp4
-rw-r--r--src/Movement/DDA.h6
-rw-r--r--src/Movement/DDARing.cpp8
-rw-r--r--src/Movement/RawMove.h2
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