Geeetech3D/Prusa_I3_3Dprinter

Several printers home X and Y axes after finished printing

fzcooper opened this issue · 1 comments

Many cardreader.cpp files contain something similar to the following:

void CardReader::printingHasFinished() {
  stepper.synchronize();
  file.close();
  enqueue_and_echo_commands_P(PSTR("G28 XY"));
  ...
}

The enqueuing of the XY homing command overrides any final positioning g-code the users have configured their slicers to append to the printing gcode. E.g., if a user has configured their printer to raise the Z, home X, and max Y to present the build plate front and center for easier removal, the homing of the Y axis will return the build plate home.

I think the final positioning of the build plate should be left up to the slicer or user and not overridden by the firmware, so this final command should be removed.

Thanks for documenting this fzcooper, been pulling my hair out trying to get to the root of the issue. Had a thorough look at the Marlin code as well but couldn't find where it was triggered.