G28
is entered or whenever the Home All button on the Duet Web Interface is pressed.G28 X
or G28 Y
is sent.G28 Z
is sent.M564 H0 S0
: Ignore Machine Boundaries, when you home the printer it is likely because you want to define the printers location and limits. To do this the printer might have to pass through boundaries set in the config.g file. The printer also has to be allowed to move while the axes are not homed. This exception to allow movement while not homed and through axes limits is performed with this command. Put this command at the start of every homing macro. At the end of the homing macro you can engage the axes limitation and homing requirement again with the command M564 H1 S1
.M561
& G29 S2
: These two command disable bed leveling compenation during this process. It is best not to compensate for bed leveling while homing. Therefore you can disable bed leveling compensation at the beginning of the macro and enable it with the command G29 S1
at the end of the macro.G91
: Change to relative positioning. Because the printer does not know where it is, this command will base its movement based on the current position. In order to change back to absolute positioning enter the command G90
at the end of the macro.G1 S1
: The move command is important to allow the carriage to move to the desired location. It is vital to include the S
parameter in this command with a value of 1 in order to enable endstop detection. Endstop detection means the printer will check if an endstop was hit. Failure to provide this parameter will crash the printer!G92
: This command allows you to set the value of a particular axis. This is the core command of the homing process, whenever you hit a limit switch, you can use G92
to define the printers position.M208
: This command allows you to define axes limits which can then be enabled and enforced with M564
.