Newer
Older
jeltz-klipper-config / config / 01_heater_management.cfg
###### HEATER AUTO HANDLING
[gcode_macro SET_HEATERS_TO_FILAMENT_AND_WAIT]
description:
gcode:
  {% set svv = printer.save_variables.variables %}

  SET_HEATER_TEMPERATURE HEATER=extruder TARGET={svv.filaments|selectattr("name", "equalto", svv.filament_hotend)|map(attribute="extruder",default='None')|first|string} MODE=auto
  SET_HEATER_TEMPERATURE_AND_WAIT HEATER=heater_bed TARGET={svv.filaments|selectattr("name", "equalto", svv.filament_hotend)|map(attribute="bed",default='None')|first|string} MODE=auto
  SET_HEATER_TEMPERATURE_AND_WAIT HEATER=extruder TARGET={svv.filaments|selectattr("name", "equalto", svv.filament_hotend)|map(attribute="extruder",default='None')|first|string} MODE=auto

[gcode_macro SET_HOTEND_TO_FILAMENT]
description: sets the temperature of the hotend to the temperature required by the stored filament
gcode:
  {% set wait = params.WAIT|default(False) %}                                                   ; z hop amount
  {% set svv = printer.save_variables.variables %}
  
    {% set position = params.POSITION|default('extruder')|string|lower %}
    {% if wait %}
      {% if position == 'extruder' %}   
        SET_HEATER_TEMPERATURE_AND_WAIT HEATER=extruder TARGET={svv.filaments|selectattr("name", "in", [svv.filament_extruder])|map(attribute="extruder",default='None')|max|string} MODE=auto
      {% elif position == 'hotend' %}
        SET_HEATER_TEMPERATURE_AND_WAIT HEATER=extruder TARGET={svv.filaments|selectattr("name", "in", [svv.filament_hotend])|map(attribute="extruder",default='None')|max|string} MODE=auto
      {% elif position == 'both' %}
        SET_HEATER_TEMPERATURE_AND_WAIT HEATER=extruder TARGET={svv.filaments|selectattr("name", "in", [svv.filament_hotend, svv.filament_extruder])|map(attribute="extruder",default='None')|max|string} MODE=auto
      {% endif %}
    {% else %}
      {% if position == 'extruder' %}   
        SET_HEATER_TEMPERATURE HEATER=extruder TARGET={svv.filaments|selectattr("name", "in", [svv.filament_extruder])|map(attribute="extruder",default='None')|max|string} MODE=auto
      {% elif position == 'hotend' %}
        SET_HEATER_TEMPERATURE HEATER=extruder TARGET={svv.filaments|selectattr("name", "in", [svv.filament_hotend])|map(attribute="extruder",default='None')|max|string} MODE=auto
      {% elif position == 'both' %}
        SET_HEATER_TEMPERATURE HEATER=extruder TARGET={svv.filaments|selectattr("name", "in", [svv.filament_hotend, svv.filament_extruder])|map(attribute="extruder",default='None')|max|string} MODE=auto
      {% endif %}
    {% endif %}
    
[gcode_macro SET_BED_TO_FILAMENT]
description: sets the temperature of the bed to the temperature required by the stored filament
gcode:
  {% set svv = printer.save_variables.variables %}

    {% set position = params.POSITION|default('extruder')|string|lower %}
    {% if position == 'extruder' %}
      SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={svv.filaments|selectattr("name", "in", [svv.filament_extruder])|map(attribute="bed",default='None')|max|string} MODE=auto
    {% elif position == 'hotend' %}
      SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={svv.filaments|selectattr("name", "in", [svv.filament_hotend])|map(attribute="bed",default='None')|max|string} MODE=auto
    {% elif position == 'both' %}
      SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={svv.filaments|selectattr("name", "in", [svv.filament_hotend, svv.filament_extruder])|map(attribute="bed",default='None')|max|string} MODE=auto
    {% endif %}