voronklipperconfig/eddy_macros.cfg

71 lines
2.8 KiB
INI

[gcode_macro G28]
rename_existing: G28.1
gcode:
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=homing VALUE=True # Uncomment this if using a KNOMI and then remove the G28 macro from the KNOMI.cfg
G28.1 {rawparams}
{% if not rawparams or (rawparams and 'Z' in rawparams) %}
PROBE
SET_Z_FROM_PROBE
{% endif %}
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=homing VALUE=False # Uncomment this if using a KNOMI and then remove the G28 macro from the KNOMI.cfg
# Uncomment this if you are using Eddy as the probe AND the homing endstop
[gcode_macro SET_Z_FROM_PROBE]
gcode:
{% set cf = printer.configfile.settings %}
SET_GCODE_OFFSET_ORIG Z={printer.probe.last_z_result - cf['probe_eddy_current btt_eddy'].z_offset + printer["gcode_macro SET_GCODE_OFFSET"].runtime_offset}
G90
G1 Z{cf.safe_z_home.z_hop}
# Uncomment this if you are using Eddy as the probe AND the homing endstop AND would like to use the beta z-offset control
[gcode_macro Z_OFFSET_APPLY_PROBE]
rename_existing: Z_OFFSET_APPLY_PROBE_ORIG
gcode:
SAVE_VARIABLE VARIABLE=nvm_offset VALUE={ printer["gcode_macro SET_GCODE_OFFSET"].runtime_offset }
# Uncomment the lines in this macro if you are using Eddy as the probe AND the homing endstop AND would like to use the beta z-offset control
[gcode_macro SET_GCODE_OFFSET]
rename_existing: SET_GCODE_OFFSET_ORIG
variable_restored: False # Mark whether the var has been restored from NVM
variable_runtime_offset: 0
gcode:
{% if params.Z_ADJUST %}
SET_GCODE_VARIABLE MACRO=SET_GCODE_OFFSET VARIABLE=runtime_offset VALUE={ printer["gcode_macro SET_GCODE_OFFSET"].runtime_offset + params.Z_ADJUST|float }
{% endif %}
{% if params.Z %}
{% set paramList = rawparams.split() %}
{% for i in range(paramList|length) %}
{% if paramList[i]=="Z=0" %}
{% set temp=paramList.pop(i) %}
{% set temp="Z_ADJUST=" + (-printer["gcode_macro SET_GCODE_OFFSET"].runtime_offset)|string %}
{% if paramList.append(temp) %}{% endif %}
{% endif %}
{% endfor %}
{% set rawparams=paramList|join(' ') %}
SET_GCODE_VARIABLE MACRO=SET_GCODE_OFFSET VARIABLE=runtime_offset VALUE=0
{% endif %}
SET_GCODE_OFFSET_ORIG { rawparams }
# This macro automates a lot of the frequency mapping process and simplifies the steps significantly.
[gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO]
gcode:
BED_MESH_CLEAR
G28 X Y
G90 # Abs positioning
G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F6000
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z={ printer.toolhead.axis_maximum.z-1 } # Allows the user to work it down until it touches.
{% endif %}
PROBE_EDDY_CURRENT_CALIBRATE {rawparams}
[gcode_macro BED_MESH_CALIBRATE]
rename_existing: BTT_BED_MESH_CALIBRATE
gcode:
BTT_BED_MESH_CALIBRATE METHOD=rapid_scan