970 lines
33 KiB
INI
970 lines
33 KiB
INI
# Copyright (C) 2022 Justin Schuh <code@justinschuh.com>
|
|
#
|
|
# This file may be distributed under the terms of the GNU GPLv3 license.
|
|
|
|
################################################################################
|
|
# Existing menu refinements.
|
|
################################################################################
|
|
|
|
# Hide unused menus
|
|
|
|
[menu __main __octoprint]
|
|
type: list
|
|
name: OctoPrint
|
|
enable: {printer["gcode_macro _km_globals"].menu_show_octoprint}
|
|
|
|
|
|
# Get the file list out of the SD card menu while printing.
|
|
[menu __main __sdcard]
|
|
type: list
|
|
enable: {'virtual_sdcard' in printer and
|
|
printer["gcode_macro _km_globals"].menu_show_sdcard}
|
|
name: SD Card
|
|
|
|
[menu __main __sdcard __start]
|
|
type: command
|
|
enable: {printer.virtual_sdcard.file_path and
|
|
not printer.virtual_sdcard.is_active and
|
|
printer.print_stats.state != "printing" and
|
|
printer.print_stats.state != "paused"}
|
|
name: Print: {printer.virtual_sdcard.file_path.split('/')|last}
|
|
gcode:
|
|
M24
|
|
{menu.back()}
|
|
|
|
[menu __main __sdcard __select]
|
|
type: vsdlist
|
|
enable: {not printer.virtual_sdcard.is_active and
|
|
printer.print_stats.state != "printing" and
|
|
printer.print_stats.state != "paused"}
|
|
name: Select file
|
|
index: 1
|
|
|
|
[menu __main __sdcard __select __start]
|
|
type: command
|
|
enable: {printer.virtual_sdcard.file_path and
|
|
not printer.virtual_sdcard.is_active}
|
|
name: Print: {printer.virtual_sdcard.file_path.split('/')|last}
|
|
gcode:
|
|
M24
|
|
{menu.back()}
|
|
|
|
[menu __main __setup __calib __delta_calib_auto]
|
|
type: command
|
|
enable: {'delta_calibrate' in printer.configfile.settings and
|
|
not printer.idle_timeout.state == "Printing"}
|
|
name: Delta cal. auto
|
|
gcode:
|
|
G28
|
|
DELTA_CALIBRATE
|
|
|
|
[menu __main __setup __calib __delta_calib_man]
|
|
type: list
|
|
enable: {'delta_calibrate' in printer.configfile.settings and
|
|
not printer.idle_timeout.state == "Printing"}
|
|
name: Delta cal. man
|
|
|
|
# Require confirmation for anything that would abort an in-progress print.
|
|
|
|
# Steppers off
|
|
[menu __main __control __disable]
|
|
type: command
|
|
name: Steppers off
|
|
enable: {printer.idle_timeout.state != "Printing"}
|
|
gcode:
|
|
M84
|
|
M18
|
|
|
|
[menu __main __control __disable_printing]
|
|
type: list
|
|
index: 3
|
|
enable: {printer.idle_timeout.state == "Printing"}
|
|
name: Steppers off
|
|
|
|
[menu __my_main __control __disable_printing __confirm]
|
|
type: command
|
|
name: Confirm steppers off
|
|
gcode:
|
|
M84
|
|
M18
|
|
{menu.back()}
|
|
|
|
# Add a park menu item.
|
|
[menu __main __control __park]
|
|
type: command
|
|
name: Park toolhead
|
|
enable: {printer.idle_timeout.state != "Printing" or
|
|
printer.pause_resume.is_paused}
|
|
index: 1
|
|
gcode:
|
|
G28 O ; Lazy home first.
|
|
PARK
|
|
|
|
# Octoprint abort
|
|
[menu __main __octoprint __abort]
|
|
type: list
|
|
enable: {printer.idle_timeout.state == "Printing"}
|
|
name: Abort printing
|
|
|
|
[menu __main __octoprint __abort __confirm]
|
|
type: command
|
|
name: Confirm abort printing
|
|
gcode:
|
|
{action_respond_info('action:cancel')}
|
|
{menu.back()}
|
|
|
|
# SD card cancel
|
|
[menu __main __sdcard __cancel]
|
|
type: list
|
|
enable: {('virtual_sdcard' in printer) and
|
|
(printer.print_stats.state == "printing" or
|
|
printer.print_stats.state == "paused")}
|
|
name: Cancel printing
|
|
|
|
[menu __main __sdcard __cancel __confirm]
|
|
type: command
|
|
name: Confirm cancel printing
|
|
gcode:
|
|
{% if 'pause_resume' in printer %}
|
|
CANCEL_PRINT
|
|
{% else %}
|
|
M25
|
|
M27
|
|
M26 S0
|
|
TURN_OFF_HEATERS
|
|
G91
|
|
G0 Z{(printer.toolhead.position.z, printer.toolhead.axis_maximum.z - 5)|min
|
|
} F1000
|
|
G90
|
|
{% endif %}
|
|
{menu.back()}
|
|
|
|
# Extra setup menu options
|
|
|
|
# Shutdown and reboot
|
|
[menu __main __setup __restart]
|
|
type: list
|
|
name: Restart/Shutdown
|
|
|
|
[menu __main __setup __restart __reboot]
|
|
type: command
|
|
name: Reboot host
|
|
gcode:
|
|
M117 Rebooting host
|
|
M118 Rebooting host
|
|
{menu.exit()}
|
|
G4 S2 ; Let the user see the console message.
|
|
{action_call_remote_method("reboot_machine")} ; Try Moonraker.
|
|
G4 S1 ; give Moonraker a chance to finish.
|
|
{action_respond_info('action:poweroff')} ; Try Octoprint.
|
|
|
|
[menu __main __setup __restart __shutdown]
|
|
type: command
|
|
name: Shutdown host
|
|
gcode:
|
|
M117 Shutting down
|
|
M118 Shutting down
|
|
{menu.exit()}
|
|
G4 S2 ; Let the user see the console message.
|
|
{action_call_remote_method("shutdown_machine")} ; Try Moonraker.
|
|
G4 S1 ; give Moonraker a chance to finish.
|
|
{action_respond_info('action:poweroff')} ; Try Octoprint.
|
|
|
|
# Speed and flow
|
|
[menu __main __setup __speed]
|
|
type: input
|
|
name: Speed: {'%3d' % (menu.input*100)}%
|
|
input: {printer.gcode_move.speed_factor}
|
|
input_min: 0.01
|
|
input_max: 5
|
|
input_step: 0.01
|
|
realtime: True
|
|
index: 4
|
|
gcode:
|
|
M220 S{'%d' % (menu.input*100)}
|
|
|
|
[menu __main __setup __flow]
|
|
type: input
|
|
name: Flow: {'%3d' % (menu.input*100)}%
|
|
input: {printer.gcode_move.extrude_factor}
|
|
input_min: 0.01
|
|
input_max: 2
|
|
input_step: 0.01
|
|
realtime: True
|
|
index: 5
|
|
gcode:
|
|
M221 S{'%d' % (menu.input*100)}
|
|
|
|
################################################################################
|
|
# Replace filament loading with our own macros.
|
|
################################################################################
|
|
|
|
[menu __main __filament]
|
|
type: list
|
|
name: Filament
|
|
enable: {printer.idle_timeout.state != "Printing" or
|
|
printer.pause_resume.is_paused}
|
|
|
|
# Hide the old load/unload commands.
|
|
[menu __main __filament __loadf]
|
|
type: command
|
|
name: Load Fil. fast
|
|
enable: False
|
|
|
|
[menu __main __filament __loads]
|
|
type: command
|
|
name: Load Fil. slow
|
|
enable: False
|
|
|
|
[menu __main __filament __unloadf]
|
|
type: command
|
|
name: Unload Fil.fast
|
|
enable: False
|
|
|
|
[menu __main __filament __unloads]
|
|
type: command
|
|
name: Unload Fil.slow
|
|
enable: False
|
|
|
|
# Add new load/unload using our macros.
|
|
[menu __main __filament __load]
|
|
type: command
|
|
index: 1
|
|
name: Load Filament
|
|
gcode:
|
|
LOAD_FILAMENT
|
|
|
|
[menu __main __filament __unload]
|
|
type: command
|
|
index: 2
|
|
name: Unload Filament
|
|
gcode:
|
|
UNLOAD_FILAMENT
|
|
|
|
[menu __main __filament __feed]
|
|
type: input
|
|
name: Feed: {'%.1f' % menu.input}
|
|
input: 0.0
|
|
input_min: -50.0
|
|
input_max: 50.0
|
|
input_step: 1.0
|
|
gcode:
|
|
SAVE_GCODE_STATE NAME=_KM_FILAMENT_LOAD
|
|
M83
|
|
G1 E{'%.1f' % menu.input
|
|
} F{printer["gcode_macro _km_globals"].load_priming_speed}
|
|
RESTORE_GCODE_STATE NAME=_KM_FILAMENT_LOAD
|
|
|
|
################################################################################
|
|
# Layer triggers.
|
|
################################################################################
|
|
|
|
[menu __main __sdcard __pause_layer]
|
|
type: input
|
|
index: 4
|
|
enable: {('virtual_sdcard' in printer) and
|
|
printer.print_stats.state == "printing"}
|
|
name: Pause {% set layer = printer["gcode_macro _km_layer_run"].cur_layer %}{%
|
|
if layer >= menu.input|int %}layer{%
|
|
elif layer + 1 == menu.input|int %}at: next{%
|
|
else %}at: {menu.input|int}{% endif %}
|
|
input: {printer["gcode_macro _km_layer_run"].cur_layer}
|
|
input_min: {printer["gcode_macro _km_layer_run"].cur_layer}
|
|
input_max: {printer["gcode_macro _km_layer_run"].tot_layers}
|
|
input_step: 1
|
|
gcode:
|
|
{% set layers = printer["gcode_macro _km_layer_run"] %}
|
|
{% if menu.input|int > layers.cur_layer %}
|
|
PAUSE_AT_LAYER LAYER={menu.input}
|
|
{% endif %}
|
|
|
|
[menu __main __octoprint __pause_layer]
|
|
type: input
|
|
index: 1
|
|
enable: {printer.idle_timeout.state == "Printing"}
|
|
name: Pause {% set layer = printer["gcode_macro _km_layer_run"].cur_layer %}{%
|
|
if layer >= menu.input|int %}layer{%
|
|
elif layer + 1 == menu.input|int + 1 %}at: next{%
|
|
else %}at: {menu.input|int}{% endif %}
|
|
input: {printer["gcode_macro _km_layer_run"].cur_layer}
|
|
input_min: {printer["gcode_macro _km_layer_run"].cur_layer}
|
|
input_max: {printer["gcode_macro _km_layer_run"].tot_layers}
|
|
input_step: 1
|
|
gcode:
|
|
{% set layers = printer["gcode_macro _km_layer_run"] %}
|
|
{% if menu.input|int > layers.cur_layer %}
|
|
GCODE_AT_LAYER LAYER={menu.input|int
|
|
} COMMAND="RESPOND TYPE=command MSG=action:pause"
|
|
{% endif %}
|
|
|
|
################################################################################
|
|
# Bed surface.
|
|
################################################################################
|
|
|
|
[menu __main __setup __bed_surface]
|
|
type: input
|
|
name: Bed: {(printer.save_variables.variables.bed_surfaces.available
|
|
| list | sort)[menu.input|int]}
|
|
input: {% set surfaces = printer.save_variables.variables.bed_surfaces
|
|
%}{(surfaces.available | list | sort).index(surfaces.active) | int}
|
|
input_min: 0
|
|
input_max: {((printer.save_variables.variables.bed_surfaces.available
|
|
| length) - 1)}
|
|
input_step: 1
|
|
index: 4
|
|
gcode:
|
|
SET_SURFACE_ACTIVE SURFACE={
|
|
(printer.save_variables.variables.bed_surfaces.available
|
|
| list | sort)[menu.input|int]}
|
|
|
|
[menu __main __setup __offsetz]
|
|
type: input
|
|
name: Offset Z:{ '%05.3f' % menu.input }
|
|
input: {% set surfaces = printer.save_variables.variables.bed_surfaces
|
|
%}{ surfaces.available[surfaces.active].offset | float }
|
|
input_min: -5
|
|
input_max: 5
|
|
input_step: 0.005
|
|
index: 5
|
|
realtime: True
|
|
gcode:
|
|
SET_SURFACE_OFFSET OFFSET={menu.input}
|
|
|
|
[menu __main __tune __offsetz]
|
|
type: input
|
|
name: Offset Z:{ '%05.3f' % menu.input }
|
|
input: { printer.gcode_move.homing_origin.z }
|
|
input_min: -5
|
|
input_max: 5
|
|
input_step: 0.005
|
|
realtime: True
|
|
gcode:
|
|
SET_SURFACE_OFFSET OFFSET={menu.input}
|
|
|
|
################################################################################
|
|
# Heater overrides.
|
|
################################################################################
|
|
|
|
### menu temperature ###
|
|
|
|
# Hide the original menu
|
|
[menu __main __temp]
|
|
type: list
|
|
name: Temperature
|
|
enable: False
|
|
|
|
[menu __main __temp_km]
|
|
type: list
|
|
name: Temperature
|
|
index: 4
|
|
|
|
[menu __main __temp_km __hotend0_target]
|
|
type: input
|
|
enable: {'extruder' in printer}
|
|
name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)}
|
|
input: {printer.extruder.target}
|
|
input_min: 0
|
|
input_max: {printer.configfile.config.extruder.max_temp}
|
|
input_step: 1
|
|
gcode: SET_HEATER_TEMPERATURE HEATER=extruder TARGET={'%.0f' % menu.input}
|
|
|
|
[menu __main __temp_km __hotend1_target]
|
|
type: input
|
|
enable: {'extruder1' in printer}
|
|
name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)}
|
|
input: {printer.extruder1.target}
|
|
input_min: 0
|
|
input_max: {printer.configfile.config.extruder1.max_temp}
|
|
input_step: 1
|
|
gcode: SET_HEATER_TEMPERATURE HEATER=extruder1 TARGET={'%.0f' % menu.input}
|
|
|
|
[menu __main __temp_km __hotbed_target]
|
|
type: input
|
|
enable: {'heater_bed' in printer}
|
|
name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)}
|
|
input: {printer.heater_bed.target}
|
|
input_min: 0
|
|
input_max: {printer.configfile.config.heater_bed.max_temp}
|
|
input_step: 1
|
|
gcode: SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={'%.0f' % menu.input}
|
|
|
|
# We just create 10 preheat placeholders below, and dynamically enable and fill
|
|
# them in from the dictionary in variable_menu_temperature.
|
|
|
|
## Pre-heat [0] ##
|
|
[menu __main __temp_km __preheat_0]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[0].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 0}
|
|
|
|
[menu __main __temp_km __preheat_0 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[0] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[0] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_0 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[0]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[0].extruder}
|
|
|
|
[menu __main __temp_km __preheat_0 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[0]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[0].bed}
|
|
|
|
[menu __main __temp_km __preheat_0 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[0]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[0].chamber}
|
|
|
|
## Pre-heat [1] ##
|
|
[menu __main __temp_km __preheat_1]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[1].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 1}
|
|
|
|
[menu __main __temp_km __preheat_1 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[1] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[1] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_1 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[1]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[1].extruder}
|
|
|
|
[menu __main __temp_km __preheat_1 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[1]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[1].bed}
|
|
|
|
[menu __main __temp_km __preheat_1 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[1]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[1].chamber}
|
|
|
|
## Pre-heat [2] ##
|
|
[menu __main __temp_km __preheat_2]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[2].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 2}
|
|
|
|
[menu __main __temp_km __preheat_2 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[2] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[2] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_2 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[2]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[2].extruder}
|
|
|
|
[menu __main __temp_km __preheat_2 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[2]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[2].bed}
|
|
|
|
[menu __main __temp_km __preheat_2 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[2]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[2].chamber}
|
|
|
|
## Pre-heat [3] ##
|
|
[menu __main __temp_km __preheat_3]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[3].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 3}
|
|
|
|
[menu __main __temp_km __preheat_3 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[3] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[3] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_3 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[3]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[3].extruder}
|
|
|
|
[menu __main __temp_km __preheat_3 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[3]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[3].bed}
|
|
|
|
[menu __main __temp_km __preheat_3 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[3]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[3].chamber}
|
|
|
|
## Pre-heat [4] ##
|
|
[menu __main __temp_km __preheat_4]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[4].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 4}
|
|
|
|
[menu __main __temp_km __preheat_4 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[4] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[4] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_4 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[4]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[4].extruder}
|
|
|
|
[menu __main __temp_km __preheat_4 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[4]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[4].bed}
|
|
|
|
[menu __main __temp_km __preheat_4 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[4]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[4].chamber}
|
|
|
|
## Pre-heat [5] ##
|
|
[menu __main __temp_km __preheat_5]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[5].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 5}
|
|
|
|
[menu __main __temp_km __preheat_5 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[5] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[5] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_5 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[5]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[5].extruder}
|
|
|
|
[menu __main __temp_km __preheat_5 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[5]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[5].bed}
|
|
|
|
[menu __main __temp_km __preheat_5 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[5]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[5].chamber}
|
|
|
|
## Pre-heat [6] ##
|
|
[menu __main __temp_km __preheat_6]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[6].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 6}
|
|
|
|
[menu __main __temp_km __preheat_6 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[6] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[6] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_6 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[6]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[6].extruder}
|
|
|
|
[menu __main __temp_km __preheat_6 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[6]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[6].bed}
|
|
|
|
[menu __main __temp_km __preheat_6 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[6]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[6].chamber}
|
|
|
|
## Pre-heat [7] ##
|
|
[menu __main __temp_km __preheat_7]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[7].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 7}
|
|
|
|
[menu __main __temp_km __preheat_7 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[7] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[7] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_7 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[7]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[7].extruder}
|
|
|
|
[menu __main __temp_km __preheat_7 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[7]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[7].bed}
|
|
|
|
[menu __main __temp_km __preheat_7 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[7]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[7].chamber}
|
|
|
|
## Pre-heat [8] ##
|
|
[menu __main __temp_km __preheat_8]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[8].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 8}
|
|
|
|
[menu __main __temp_km __preheat_8 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[8] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[8] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_8 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[8]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[8].extruder}
|
|
|
|
[menu __main __temp_km __preheat_8 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[8]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[8].bed}
|
|
|
|
[menu __main __temp_km __preheat_8 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[8]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[8].chamber}
|
|
|
|
## Pre-heat [9] ##
|
|
[menu __main __temp_km __preheat_9]
|
|
type: list
|
|
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[9].name}
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
printer["gcode_macro _km_globals"].menu_temperature|length > 9}
|
|
|
|
[menu __main __temp_km __preheat_9 __all]
|
|
type: command
|
|
enable: {printer["gcode_macro _km_globals"].menu_temperature[9] | list |
|
|
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Preheat all
|
|
gcode:
|
|
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[9] %}
|
|
{% if 'chamber' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
|
|
{% endif %}
|
|
{% if 'bed' in targets and 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
|
|
{% endif %}
|
|
{% if 'extruder' in targets and 'extruder' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
targets.extruder}
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __preheat_9 __hotend]
|
|
type: command
|
|
enable: {'extruder' in printer and
|
|
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[9]}
|
|
name: Preheat hotend
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[9].extruder}
|
|
|
|
[menu __main __temp_km __preheat_9 __hotbed]
|
|
type: command
|
|
enable: {'heater_bed' in printer and
|
|
'bed' in printer["gcode_macro _km_globals"].menu_temperature[9]}
|
|
name: Preheat bed
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[9].bed}
|
|
|
|
[menu __main __temp_km __preheat_9 __chamber]
|
|
type: command
|
|
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
|
|
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[9]}
|
|
name: Preheat chamber
|
|
gcode:
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
|
|
printer["gcode_macro _km_globals"].menu_temperature[9].chamber}
|
|
|
|
## Cooldown ##
|
|
[menu __main __temp_km __cooldown_all]
|
|
type: command
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
(('extruder' in printer) + ('heater_bed' in printer) +
|
|
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
|
|
name: Cooldown all
|
|
gcode:
|
|
{% if 'heater_generic chamber' in printer.heaters.available_heaters %}
|
|
SET_HEATER_TEMPERATURE HEATER=chamber TARGET=0
|
|
{% endif %}
|
|
{% if 'heater_bed' in printer %}
|
|
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
|
|
{% endif %}
|
|
{% if 'extruder' in printer%}
|
|
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET=0
|
|
{% endif %}
|
|
|
|
[menu __main __temp_km __cooldown_hotend]
|
|
type: command
|
|
enable: {printer.idle_timeout.state != "Printing" and 'extruder' in printer}
|
|
name: Cooldown hotend
|
|
gcode: M104 S0
|
|
|
|
[menu __main __temp_km __cooldown_hotbed]
|
|
type: command
|
|
enable: {printer.idle_timeout.state != "Printing" and 'heater_bed' in printer}
|
|
name: Cooldown bed
|
|
gcode: M140 S0
|
|
|
|
[menu __main __temp_km __cooldown_chamber]
|
|
type: command
|
|
enable: {printer.idle_timeout.state != "Printing" and
|
|
'heater_generic chamber' in printer.heaters.available_heaters}
|
|
name: Cooldown chamber
|
|
gcode: M141 S0
|