V1: Conditionals

Conditional macros#

[gcode_macro QUAD_GANTRY_LEVEL]
rename_existing: _QUAD_GANTRY_LEVEL
gcode:
    {% if printer.quad_gantry_level.applied == False %}
      _QUAD_GANTRY_LEVEL {% for p in params
              %}{'%s=%s ' % (p, params[p])}{%
              endfor %}
    {% endif %}

[gcode_macro G32]
gcode:
    G28
    QUAD_GANTRY_LEVEL
    G28
    G0 X150 Y150 Z30 F3600

# override homing and only rehome X/Y if not already done
[homing_override]
axes: z
set_position_z: 0
gcode:
   G90
   G0 Z5 F600
   {% if not 'xy' in printer.toolhead.homed_axes %}
     G28 X Y
   {% endif %}
   G0 X150 Y150 F10000
   G28 Z
   G0 Z10 F1800
   G0 X150 Y150 Z30 F5000