Help with SD-Pause position and behavior
When I choose pause during an SD print, the head moves to a position
that is outside its range (opposite from home position) & hits the end of travel (violently). I always print from SD, just seems to work best for us.
Can I adjust this behavior? I'd like it to do something like the filament change, where it returns X&Y to home position, and drops the bed 10mm. Obviously it should return to the correct position when resuming the print as well.
Thanks in advance, these forums have helped me a great deal on this journey.
I fixed this once before on 0.92, but since updating to Dev version 1.0.1 it behaves strangely again. I cannot find my previous configuration.h to compare to.
Running on Arduino Mega/RAMPS 1.4, Core X-Y mechanics, firmware Dev 1.0.1.
Machine has been in heavy use for about a year before changing the firmware level yesterday. FWIW, importing the previous configuration.h into the web config tool did not work very well, lots of previously defined settings were dropped.
Can I adjust this behavior? I'd like it to do something like the filament change, where it returns X&Y to home position, and drops the bed 10mm. Obviously it should return to the correct position when resuming the print as well.
Thanks in advance, these forums have helped me a great deal on this journey.
I fixed this once before on 0.92, but since updating to Dev version 1.0.1 it behaves strangely again. I cannot find my previous configuration.h to compare to.
Running on Arduino Mega/RAMPS 1.4, Core X-Y mechanics, firmware Dev 1.0.1.
Machine has been in heavy use for about a year before changing the firmware level yesterday. FWIW, importing the previous configuration.h into the web config tool did not work very well, lots of previously defined settings were dropped.
Comments
Pause from sd is in SDcard.cpp
You see pause position is xmin, ymin+ ylength
If that goes outside allowed area you seem to have ylength set too high.
I have the same problem. when I pause (print from sdcard), the head moves back on the y-axis and strikes badly in the belt.
below the configuration in sdcard.cpp
void SDCard::pausePrint(bool intern)
{
if(!sd.sdactive) return;
sdmode = 2; // finish running line
Printer::setMenuMode(MENU_MODE_SD_PAUSED, true);
if(intern) {
Commands::waitUntilEndOfAllBuffers();
sdmode = 0;
Printer::MemoryPosition();
Printer::moveToReal(IGNORE_COORDINATE, IGNORE_COORDINATE, IGNORE_COORDINATE,
Printer::memoryE - RETRACT_ON_PAUSE,
Printer::maxFeedrate[E_AXIS] / 2);
#if DRIVE_SYSTEM == DELTA
Printer::moveToReal(0, 0.9 * EEPROM::deltaMaxRadius(), IGNORE_COORDINATE, IGNORE_COORDINATE, Printer::maxFeedrate[X_AXIS]);
#else
Printer::moveToReal(Printer::xMin, Printer::yMin + Printer::yLength, IGNORE_COORDINATE, IGNORE_COORDINATE, Printer::maxFeedrate[X_AXIS]);
#endif
Printer::lastCmdPos[X_AXIS] = Printer::currentPosition[X_AXIS];
Printer::lastCmdPos[Y_AXIS] = Printer::currentPosition[Y_AXIS];
Printer::lastCmdPos[Z_AXIS] = Printer::currentPosition[Z_AXIS];
GCode::executeFString(PSTR(PAUSE_START_COMMANDS));
}
}
any help?
tks in advance