Skip to content
Ch 1237 / 37

Step 12.37 — The config-compiles check

Step 37 of 37 with a helper · Chapter 12 — Software: Pi OS image, Klipper/Moonraker/Mainsail, firmware, printer.cfg

(no image of your own printer yet — simulated printer: your numbers differ)

Parts: none.

Do: In Mainsail's editor press SAVE & RESTART. Then, if anything at all looks wrong, run FIRMWARE_RESTART from the console, which restarts the MCUs as well as the host. Read the whole console output, not just the last line.

check Check

all four rows of the table, and nothing less.

helperHelper Reads each row of the table off Mainsail and ticks it only when it matches.

What you're looking at

SAVE & RESTART reloads the config into the host process; FIRMWARE_RESTART restarts the MCUs as well. The four things you are reading are the entire state of the machine at this point: Klipper Ready, both MCUs connected, and three temperature sensors telling the truth about a cold room.

where expect
Mainsail status Ready; no red banner, no orange "missing configuration" panel
STATUS in the console returns without an error
console startup block two MCUs, mcu and mcu nhk; no Unable to connect or Command format mismatch
temperature panel extruder, heater_bed, chamber all within a couple of degrees of room temperature

Do not home, jog, heat or run a fan. Every one of those is a Ch 13 step with its own safety check in front of it.

Then put the config under version control, so every SAVE_CONFIG in Ch 13–14 becomes a version you can read back and diff instead of a copy you hope you kept:

cd ~/printer_data/config
git init -q && git add -A && git commit -q -m "Ch 12 baseline: -sbv2 config, 350 mm, bed_mesh, PRINT_START"

Commit again after each SAVE_CONFIG (git add -A && git commit -m "13.29 bed PID" and so on); git log then answers "which of the saved blocks do I have".

Caution

If you get "MCU 'nhk' shutdown: Command format mismatch", the toolboard firmware and the host Klipper were built from different commits, so rebuild the toolboard firmware from the current ~/klipper. A Pin '…' is not a valid pin name on mcu '…' error is Step 12.23's ⚠: the wrong config file (gpio… on nhk) or swapped serial paths (PG0 on mcu). src

pause Good stopping point · ~20 min since the last one

[bed_mesh], [input_shaper], [exclude_object] and the new PRINT_START skeleton are in, and the config compiles with no error and no warning. Ready for Checkpoint 12 and then Ch 13.

Source: Klipper docs § Config checks · Mainsail FAQ — command format mismatch