diff options
author | David Crocker <dcrocker@eschertech.com> | 2021-03-04 20:04:05 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2021-03-04 20:04:05 +0300 |
commit | 012ddb937e5dd13a5f8d71f318a4a7afceffaf2f (patch) | |
tree | d75206daeb7d85fcfde71c3b513ecd8704ab074a /src/GCodes | |
parent | 7ae11b1323730aa67153a4d5f67916d186487df1 (diff) |
Before calling rehome.g flag the stalled axes as not homed
Diffstat (limited to 'src/GCodes')
-rw-r--r-- | src/GCodes/GCodes.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/GCodes/GCodes.cpp b/src/GCodes/GCodes.cpp index 8191e510..6b5bb59f 100644 --- a/src/GCodes/GCodes.cpp +++ b/src/GCodes/GCodes.cpp @@ -1281,6 +1281,21 @@ bool GCodes::ReHomeOnStall(DriversBitmap stalledDrivers) noexcept return false; // can't handle it yet } + // Flag the stalled axes as not homed before we call rehome.g + for (size_t axis = 0; axis < numVisibleAxes; ++axis) + { + const AxisDriversConfig& cfg = platform.GetAxisDriversConfig(axis); + for (unsigned int i = 0; i < cfg.numDrivers; ++i) + { + //TODO handle remote stalled drivers + if (cfg.driverNumbers[i].IsLocal() && stalledDrivers.IsBitSet(cfg.driverNumbers[i].localDriver)) + { + SetAxisNotHomed(axis); + break; + } + } + } + autoPauseGCode->SetState(GCodeState::resuming1); // set up to resume after rehoming pauseState = PauseState::resuming; DoFileMacro(*autoPauseGCode, REHOME_G, true); // run the SD card rehome-and-resume script |