forked from viesturz/klipper-toolchanger
-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathcalibrate-offsets-macros.cfg
88 lines (79 loc) · 3.12 KB
/
calibrate-offsets-macros.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# OPTIONAL Used for ball probe to set offsets
# Original written by Viesturs Zarins
[gcode_macro _CALIBRATE_MOVE_OVER_PROBE]
gcode:
BED_MESH_CLEAR
G0 Z{printer["gcode_macro _CALIBRATION_SWITCH"].z} F10000
G0 X{printer["gcode_macro _CALIBRATION_SWITCH"].x} Y{printer["gcode_macro _CALIBRATION_SWITCH"].y} F10000
[gcode_macro CALIBRATE_ALL_OFFSETS]
gcode:
{% set tools = printer.toolchanger.tool_numbers %}
{% set names = printer.toolchanger.tool_names %}
# Tool 0
SELECT_TOOL T={tools[0]} RESTORE_AXIS=XYZ
STOP_TOOL_PROBE_CRASH_DETECTION
{% if printer["gcode_macro _TOOLCHANGER_CLEAN_NOZZLE"] is defined %}
_TOOLCHANGER_CLEAN_NOZZLE
{% endif %}
_CALIBRATE_MOVE_OVER_PROBE
M104 S150
TEMPERATURE_WAIT SENSOR='{printer.toolhead.extruder}' MINIMUM=150
TOOL_LOCATE_SENSOR
TOOL_CALIBRATE_PROBE_OFFSET PROBE="tool_probe T0"
M104 S0
{% for tool in tools[1:] %}
SELECT_TOOL T={tool} RESTORE_AXIS=Z
STOP_TOOL_PROBE_CRASH_DETECTION
{% if printer["gcode_macro _TOOLCHANGER_CLEAN_NOZZLE"] is defined %}
_TOOLCHANGER_CLEAN_NOZZLE
{% endif %}
M104 S150 T{tool}
_CALIBRATE_MOVE_OVER_PROBE
TEMPERATURE_WAIT SENSOR='{printer[names[loop.index]].extruder}' MINIMUM=150
TOOL_CALIBRATE_TOOL_OFFSET
TOOL_CALIBRATE_SAVE_TOOL_OFFSET SECTION="{names[loop.index]}" ATTRIBUTE=gcode_x_offset VALUE="{% raw %}{x:0.6f}{% endraw %}"
TOOL_CALIBRATE_SAVE_TOOL_OFFSET SECTION="{names[loop.index]}" ATTRIBUTE=gcode_y_offset VALUE="{% raw %}{y:0.6f}{% endraw %}"
TOOL_CALIBRATE_SAVE_TOOL_OFFSET SECTION="{names[loop.index]}" ATTRIBUTE=gcode_z_offset VALUE="{% raw %}{z:0.6f}{% endraw %}"
TOOL_CALIBRATE_PROBE_OFFSET PROBE="tool_probe T{tool}"
M104 S0
{% endfor %}
# Finish up
SELECT_TOOL T={tools[0]} RESTORE_AXIS=XYZ
[gcode_macro CALIBRATE_ONE_OFFSET]
gcode:
{% set tools = printer.toolchanger.tool_numbers %}
{% set names = printer.toolchanger.tool_names %}
# Tool 0
SELECT_TOOL T=0 RESTORE_AXIS=XYZ
STOP_TOOL_PROBE_CRASH_DETECTION
{% if printer["gcode_macro _TOOLCHANGER_CLEAN_NOZZLE"] is defined %}
_TOOLCHANGER_CLEAN_NOZZLE
{% endif %}
_CALIBRATE_MOVE_OVER_PROBE
M104 S150
TOOL_LOCATE_SENSOR
M104 S0
SELECT_TOOL T={params.TOOL} RESTORE_AXIS=Z
STOP_TOOL_PROBE_CRASH_DETECTION
{% if printer["gcode_macro _TOOLCHANGER_CLEAN_NOZZLE"] is defined %}
_TOOLCHANGER_CLEAN_NOZZLE
{% endif %}
M104 S150 T{params.TOOL}
_CALIBRATE_MOVE_OVER_PROBE
TOOL_CALIBRATE_TOOL_OFFSET
TOOL_CALIBRATE_PROBE_OFFSET PROBE="tool_probe T{params.TOOL}"
M104 S0
# Finish up
SELECT_TOOL T=0 RESTORE_AXIS=XYZ
[gcode_macro CALIBRATE_NOZZLE_PROBE_OFFSET]
gcode:
STOP_TOOL_PROBE_CRASH_DETECTION
{% if printer["gcode_macro _TOOLCHANGER_CLEAN_NOZZLE"] is defined %}
_TOOLCHANGER_CLEAN_NOZZLE
{% endif %}
_CALIBRATE_MOVE_OVER_PROBE
M104 S150
TEMPERATURE_WAIT SENSOR='{printer.toolhead.extruder}' MINIMUM=150
TOOL_LOCATE_SENSOR
TOOL_CALIBRATE_PROBE_OFFSET PROBE="tool_probe T0"
M104 S0