# ##################################################################### # # KlackEnder- Macros # ##################################################################### [homing_override] # set_position_z:0 # Make printer think Z axis is at zero, so we can force a move upwards away from build plate # axes: z #will only call override if x is involved in the homing call gcode: {% set svv = printer.save_variables.variables %} {% if svv.probe_attached == True %} { action_raise_error("Probe is attached!") } {% else %} G28 {rawparams} {% endif %} [gcode_macro SCREWS_TILT_CALCULATE] rename_existing: _SCREWS_TILT_CALCULATE gcode: G28 ; Should always home before calculation even if already homed PROBE_ATTACH _SCREWS_TILT_CALCULATE PROBE_DOCK [gcode_macro FORCE_PROBE_ATTACH] gcode: SAVE_VARIABLE VARIABLE=probe_attached VALUE={ True } [gcode_macro FORCE_PROBE_DOCK] gcode: SAVE_VARIABLE VARIABLE=probe_attached VALUE={ False } [gcode_macro TEST_IF] gcode: {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home Axis First!") } {% endif %} { action_respond_info("osie wyzerowane") } [gcode_macro PROBE_ATTACH] gcode: {% set svv = printer.save_variables.variables %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home Axis First!") } {% endif %} {% if svv.probe_attached == True %} { action_respond_info("Probe is already attached!") } {% else %} G90 G1 Z20 G1 X244 F8000 G1 Z5 G1 Z20 G1 X0 F8000 SAVE_VARIABLE VARIABLE=probe_attached VALUE={ True } {% endif %} [gcode_macro PROBE_DOCK] gcode: {% set svv = printer.save_variables.variables %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home Axis First!") } {% endif %} {% if svv.probe_attached == False %} { action_respond_info("Probe is already docked!") } {% else %} G90 G1 Z20 G1 X244 F8000 G1 Z1 G1 X0 F8000 SAVE_VARIABLE VARIABLE=probe_attached VALUE={ False } {% endif %} [gcode_macro BED_MESH_CALIBRATE] #macro with parameter passing rename_existing: _BED_MESH_CALIBRATE gcode: PROBE_ATTACH _BED_MESH_CALIBRATE {rawparams} PROBE_DOCK [gcode_macro G29] #reliant on the macro above gcode: BED_MESH_CALIBRATE [gcode_macro PROBE_CALIBRATE] rename_existing: _PROBE_CALIBRATE gcode: PROBE_ATTACH G90 G1 Z20 G1 X95 Y86 F8000 ; Readjust for center of bed adjusted for probe offset _PROBE_CALIBRATE TESTZ Z=20 [gcode_macro PROBE_ACCURACY] rename_existing: _PROBE_ACCURACY gcode: PROBE_ATTACH G90 G1 X95 Y86 F8000 ; Readjust for center of bed adjusted for probe offset _PROBE_ACCURACY PROBE_DOCK