Calibrate Z Endstop and Bed Probe from the LCD Menu

All I use my display for is filament changes and hands-on calibrations, my life is so much easier with this available. I’ve been using it for so long I forgot it wasn’t part of the base klipper config.

####
# This section Calibrates the Z Endstop and Bed Probe if they are present
##

## Override the default option, calling PROBE is not helpful, repurpose
[menu __main __setup __calib __bedprobe]
type: list
name: Z Endstop / Probe
enable: {not printer.idle_timeout.state == "Printing"}

[menu __main __setup __calib __bedprobe __beginzesc]
type: command
enable: {(not printer.idle_timeout.state == "Printing")}
name: Calibrate Endstop
gcode:
    G28
    SET_GCODE_OFFSET Z=0
    G0 X {(printer.toolhead.axis_maximum.x|float / 2) } Y {(printer.toolhead.axis_maximum.y|float / 2) }   
    G0 Z 10
    Z_ENDSTOP_CALIBRATE

[menu __main __setup __calib __bedprobe __beginzpc]
type: command
enable: {(not printer.idle_timeout.state == "Printing") and ('probe' in printer)}
name: Calibrate Z-Probe
gcode:
    G28
    #G0 X {(printer.toolhead.axis_maximum.x|float / 2) } Y {(printer.toolhead.axis_maximum.y|float / 2) }
    G0 X {(printer.toolhead.axis_maximum.x|float / 2) - printer.configfile.settings.probe['x_offset']|float } Y {(printer.toolhead.axis_maximum.y|float / 2) - printer.configfile.settings.probe['y_offset']|float}
    SET_GCODE_OFFSET Z=0
    PROBE_CALIBRATE



[menu __main __setup __calib __bedprobe __accept]
type: command
name: Accept
enable: {not printer.idle_timeout.state == "Printing"}
gcode:
        ACCEPT
        # WE REALLY WANT TO PUT THE TOOLHEAD SOMEWHEWRE SAFE BEFORE SAVE_CONFIG
        G0 Z 30
        M117 SAVE_CONFIG now!


[menu __main __setup __calib __bedprobe __abort]
type: command
name: Abort
enable: {not printer.idle_timeout.state == "Printing"}
gcode:
    ABORT
    G0 Z 30

[menu __main __setup __calib __bedprobe __calibrate_testz_minus_1]
type: command
name: "  -1.0"
gcode:
        TESTZ Z=-1

[menu __main __setup __calib __bedprobe __calibrate_testz_plus_1]
type: command
name: "  +1.0"
gcode:
        TESTZ Z=+1

[menu __main __setup __calib __bedprobe __calibrate_testz_minus_point_1]
type: command
name: "  -0.1"
gcode:
        TESTZ Z=-0.1

[menu __main __setup __calib __bedprobe __calibrate_testz_plus_point_1]
type: command
name: "  +0.1"
gcode:
        TESTZ Z=+0.1

[menu __main __setup __calib __bedprobe __testz_minus]
type: command
name: "   - bisect move" 
gcode:
        TESTZ Z=-

[menu __main __setup __calib __bedprobe __testz_plus]
type: command
name: "   + bisect move" 
gcode:
        TESTZ Z=+

[menu __main __setup __calib __bedprobe __testz_minus_minus]
type: command
name: "   -- return" 
gcode:
        TESTZ Z=--

[menu __main __setup __calib __bedprobe __testz_plus_plus]
type: command
name: "   ++ return"
gcode:
        TESTZ Z=++
1 Like