Skip to content
Ch 13 › Part E — Homing and machine coordinates22 / 54

Step 13.22 — Home X, with an abort ready

Step 22 of 54 · Chapter 13 — Initial startup

Parts: none.

Do:

  1. Two people: one owns the stop, one watches, hands out.
  2. Test each stop, FIRMWARE_RESTART after each: M112 alone on the line, Mainsail's red Emergency Stop, the touchscreen E-stop.
  3. Put M112 typed and unsent in a second window, then send G28 X.

check Check

Each stop put Klipper in Shutdown. The toolhead lifts 10 mm, travels right to the X endstop, backs off 5 mm and re-touches.

What you're looking at

The screenshot is the interface's jog and homing panel. The stop you test first is M112, typed alone on the line: Mainsail sends that as its emergency-stop call, so it goes round the command queue while a move is running. RESTART waits behind the move instead.

Caution

Before G28 X, confirm the gantry is still a third of the way up, where Step 13.17 left it: every homing move before Z is homed lifts it another 10 mm.

tip Tip

the 10 mm lift is [safe_z_home] z_hop: 10. Any other direction: M112, FIRMWARE_RESTART, note what happened, and still test Y before changing anything; you need both results to read the chart.

Source: Voron docs image mainsail_controls.png · Voron startup wizard § XY homing check · Klipper docs § M112 · Mainsail src/store/printer/actions.ts (sendGcode: a line that is exactly M112, trimmed and case-insensitive, is sent as printer.emergency_stop; anything else goes to printer.gcode.script and queues) · Klipper webhooks.py (the emergency_stop endpoint calls invoke_shutdown directly, without the G-code mutex)