Files
LeoVoron2.4/mmu_klipperscreen.conf
Mikhail Shahovalov 1463f8d105 Autocommit from 2025-05-26 18:03:57
Klipper version: v0.13.0-114-g841a9ca2

Moonraker version: v0.9.3-74-g1c12414

Mainsail version: v2.14.0
2025-05-26 18:03:57 +03:00

758 lines
27 KiB
Plaintext

# Happy Hare KlipperScreen menus. Don't remove this line, installer needs it!
#
# Copyright (C) 2023-2025 moggieuk#6538 (discord)
# moggieuk@hotmail.com
#
# Menu options:
# name, icon, panel, method, confirm, enable, params, style, NEW: show_disabled, refresh_on
#
# Additional functionality added with this MMU Happy Hare fork:
#
# Options:
# show_disabled - True will cause 'enable' logic to show button disabled rather than not display it
# refresh_on - List of printer variables to monitor real time for 'show_disabled'
#
# Menu name:
# can specify multiple roots, e.g. [menu __main,__print mymenu]
# will duplicate on both __main and __print menus
# (no space after comman)
#
# Useful for custom single purpose use (like dedicated SpoolMan display on filament rack)
# you can make any panel "sticky" (never changes without navigation) by adding the following.
# Caution: only intended for monitoring panels - NO NAVIGATION
# [main]
# sticky_panel: <panel_name>
#
[menu __main,__print mmu]
name: {{ gettext('MMU') }}
icon: mmu_carrot
panel: mmu_main
enable: {{ printer.mmu is defined and not klipperscreen.side_mmu_shortcut }}
[menu __main,__print mmu ttg]
name: {{ gettext('Manage TTG...') }}
icon: mmu_ttg_map
panel: mmu_toolmap
[menu __main,__print mmu filaments]
name: {{ gettext('Filaments...') }}
icon: mmu_filaments
panel: mmu_filaments
[menu __main,__print mmu spoolman]
name: {{ gettext('Spoolman...') }}
icon: spoolman
panel: mmu_spoolman
enable: {{ moonraker.spoolman }}
show_disabled: True
[menu __main,__print mmu tools]
name: {{ gettext('Load Tool...') }}
icon: extruder
enable: {{ printer.mmu.print_state != "printing" }}
show_disabled: True
refresh_on: printer.mmu.print_state
# Generated menus for each tool/gate...
[menu __main,__print mmu tools T0]
name: {{ gettext('T0') }}
icon: mmu_t0
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=0 QUIET=1" }
enable: {{ (printer.mmu.tool != 0 or (printer.mmu.tool == 0 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[0] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 0 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu tools T1]
name: {{ gettext('T1') }}
icon: mmu_t1
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=1 QUIET=1" }
enable: {{ (printer.mmu.tool != 1 or (printer.mmu.tool == 1 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[1] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 1 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu tools T2]
name: {{ gettext('T2') }}
icon: mmu_t2
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=2 QUIET=1" }
enable: {{ (printer.mmu.tool != 2 or (printer.mmu.tool == 2 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[2] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 2 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu tools T3]
name: {{ gettext('T3') }}
icon: mmu_t3
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=3 QUIET=1" }
enable: {{ (printer.mmu.tool != 3 or (printer.mmu.tool == 3 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[3] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 3 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu tools T4]
name: {{ gettext('T4') }}
icon: mmu_t4
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=4 QUIET=1" }
enable: {{ (printer.mmu.tool != 4 or (printer.mmu.tool == 4 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[4] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 4 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu tools T5]
name: {{ gettext('T5') }}
icon: mmu_t5
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=5 QUIET=1" }
enable: {{ (printer.mmu.tool != 5 or (printer.mmu.tool == 5 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[5] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 5 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu tools T6]
name: {{ gettext('T6') }}
icon: mmu_t6
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=6 QUIET=1" }
enable: {{ (printer.mmu.tool != 6 or (printer.mmu.tool == 6 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[6] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 6 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu tools T7]
name: {{ gettext('T7') }}
icon: mmu_t7
method: printer.gcode.script
params: { "script":"MMU_CHANGE_TOOL TOOL=7 QUIET=1" }
enable: {{ (printer.mmu.tool != 7 or (printer.mmu.tool == 7 and printer.mmu.filament != "Loaded")) and printer.mmu.gate_status[7] != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 7 }}
show_disabled: True
refresh_on: printer.mmu.tool, printer.mmu.gate_status, printer.mmu.filament, printer.mmu.action
[menu __main,__print mmu preload_gates]
name: {{ gettext('Preload Gate...') }}
icon: mmu_reset
enable: {{ printer.mmu.print_state != "printing" }}
show_disabled: True
refresh_on: printer.mmu.print_state
# Generated menus for each tool/gate...
[menu __main,__print mmu preload_gates PG0]
name: {{ gettext('Preload Gate #0') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=0" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 0 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu preload_gates PG1]
name: {{ gettext('Preload Gate #1') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 1 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu preload_gates PG2]
name: {{ gettext('Preload Gate #2') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=2" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 2 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu preload_gates PG3]
name: {{ gettext('Preload Gate #3') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=3" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 3 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu preload_gates PG4]
name: {{ gettext('Preload Gate #4') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=4" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 4 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu preload_gates PG5]
name: {{ gettext('Preload Gate #5') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=5" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 5 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu preload_gates PG6]
name: {{ gettext('Preload Gate #6') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=6" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 6 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu preload_gates PG7]
name: {{ gettext('Preload Gate #7') }}
icon: mmu_reset
method: printer.gcode.script
params: { "script":"MMU_PRELOAD GATE=7" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 7 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu eject_gates]
name: {{ gettext('Eject Gate...') }}
icon: mmu_eject
enable: {{ printer.mmu.print_state != "printing" }}
show_disabled: True
refresh_on: printer.mmu.print_state
# Generated menus for each tool/gate...
[menu __main,__print mmu eject_gates G0]
name: {{ gettext('Eject Gate #0') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=0" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[0] != 0 and printer.mmu.num_gates > 0 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu eject_gates G1]
name: {{ gettext('Eject Gate #1') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[1] != 0 and printer.mmu.num_gates > 1 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu eject_gates G2]
name: {{ gettext('Eject Gate #2') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=2" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[2] != 0 and printer.mmu.num_gates > 2 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu eject_gates G3]
name: {{ gettext('Eject Gate #3') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=3" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[3] != 0 and printer.mmu.num_gates > 3 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu eject_gates G4]
name: {{ gettext('Eject Gate #4') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=4" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[4] != 0 and printer.mmu.num_gates > 4 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu eject_gates G5]
name: {{ gettext('Eject Gate #5') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=5" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[5] != 0 and printer.mmu.num_gates > 5 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu eject_gates G6]
name: {{ gettext('Eject Gate #6') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=6" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[6] != 0 and printer.mmu.num_gates > 6 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu eject_gates G7]
name: {{ gettext('Eject Gate #7') }}
icon: mmu_eject
method: printer.gcode.script
params: { "script":"MMU_EJECT FORCE=1 GATE=7" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.gate_status[7] != 0 and printer.mmu.num_gates > 7 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main,__print mmu check_gates]
name: {{ gettext('Check Gate...') }}
icon: mmu_checkgates
enable: {{ printer.mmu.print_state != "printing" }}
show_disabled: True
refresh_on: printer.mmu.print_state
# Generated menus for each tool/gate...
[menu __main,__print mmu check_gates CG0]
name: {{ gettext('Check Gate #0') }}
icon: mmu_checkgate0
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=0 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 0 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu check_gates CG1]
name: {{ gettext('Check Gate #1') }}
icon: mmu_checkgate1
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=1 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 1 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu check_gates CG2]
name: {{ gettext('Check Gate #2') }}
icon: mmu_checkgate2
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=2 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 2 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu check_gates CG3]
name: {{ gettext('Check Gate #3') }}
icon: mmu_checkgate3
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=3 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 3 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu check_gates CG4]
name: {{ gettext('Check Gate #4') }}
icon: mmu_checkgate4
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=4 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 4 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu check_gates CG5]
name: {{ gettext('Check Gate #5') }}
icon: mmu_checkgate5
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=5 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 5 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu check_gates CG6]
name: {{ gettext('Check Gate #6') }}
icon: mmu_checkgate6
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=6 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 6 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu check_gates CG7]
name: {{ gettext('Check Gate #7') }}
icon: mmu_checkgate7
method: printer.gcode.script
params: { "script":"MMU_CHECK_GATE GATE=7 QUIET=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 7 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu select_gates]
name: {{ gettext('Select Gate...') }}
icon: mmu_select_gate
enable: {{ printer.mmu.print_state != "printing" }}
show_disabled: True
refresh_on: printer.mmu.print_state
# Example: to just select the tool (not load)
#[menu __main,__print mmu select_tools]
#name: {{ gettext('Select Tool...') }}
#icon: extruder
#enable: {{ printer.mmu.print_state != "printing" }}
#show_disabled: True
#refresh_on: printer.mmu.print_state
#
#MMU_iter_select_tools
[menu __main,__print mmu select_gates bypass}]
name: {{ gettext('Select Bypass') }}
icon: mmu_select_bypass
method: printer.gcode.script
params: {"script":"MMU_SELECT_BYPASS"}
enable: {{ printer.mmu.gate != -2 and printer.mmu.has_bypass }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.has_bypass
# Generated menus for each tool/gate...
[menu __main,__print mmu select_gates G0]
name: {{ gettext('Select Gate #0') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=0" }
enable: {{ printer.mmu.gate != 0 and printer.mmu.num_gates > 0 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu select_gates G1]
name: {{ gettext('Select Gate #1') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=1" }
enable: {{ printer.mmu.gate != 1 and printer.mmu.num_gates > 1 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu select_gates G2]
name: {{ gettext('Select Gate #2') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=2" }
enable: {{ printer.mmu.gate != 2 and printer.mmu.num_gates > 2 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu select_gates G3]
name: {{ gettext('Select Gate #3') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=3" }
enable: {{ printer.mmu.gate != 3 and printer.mmu.num_gates > 3 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu select_gates G4]
name: {{ gettext('Select Gate #4') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=4" }
enable: {{ printer.mmu.gate != 4 and printer.mmu.num_gates > 4 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu select_gates G5]
name: {{ gettext('Select Gate #5') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=5" }
enable: {{ printer.mmu.gate != 5 and printer.mmu.num_gates > 5 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu select_gates G6]
name: {{ gettext('Select Gate #6') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=6" }
enable: {{ printer.mmu.gate != 6 and printer.mmu.num_gates > 6 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu select_gates G7]
name: {{ gettext('Select Gate #7') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=7" }
enable: {{ printer.mmu.gate != 7 and printer.mmu.num_gates > 7 }}
show_disabled: True
refresh_on: printer.mmu.gate
[menu __main,__print mmu status]
name: {{ gettext('Display Status') }}
icon: info
method: printer.gcode.script
params: {"script":"MMU_STATUS"}
enable: {{ printer.mmu.action == "Idle" }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu print]
name: {{ gettext('Print Stats') }}
icon: mmu_status
method: printer.gcode.script
params: {"script":"MMU_STATS"}
enable: {{ printer.mmu.action == "Idle" }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu reset]
name: {{ gettext('Reset Stats') }}
icon: mmu_stats_reset
method: printer.gcode.script
confirm: Are you sure you want to reset MMU statistics?
params: {"script":"MMU_STATS RESET=1"}
enable: {{ printer.mmu.action == "Idle" }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main,__print mmu enable_endless_spool]
name: {{ gettext('Enable E.Spool') }}
icon: mmu_enable_endless_spool
method: printer.gcode.script
params: {"script":"MMU_ENDLESS_SPOOL ENABLE=1"}
enable: {{ printer.mmu.endless_spool == 0 }}
show_disabled: True
refresh_on: printer.mmu.endless_spool
[menu __main,__print mmu disable_endless_spool]
name: {{ gettext('Disable E.Spool') }}
icon: mmu_disable_endless_spool
method: printer.gcode.script
params: {"script":"MMU_ENDLESS_SPOOL ENABLE=0"}
enable: {{ printer.mmu.endless_spool == 1 }}
show_disabled: True
refresh_on: printer.mmu.endless_spool
[menu __main,__print mmu led_disable]
name: {{ gettext('Disable LED') }}
icon: mmu_led_disable
method: printer.gcode.script
params: {"script":"MMU_LED ENABLE=0 QUIET=1"}
enable: {{ printer.mmu.enabled and not printer.mmu.print_state == "standby" }}
show_disabled: True
refresh_on: printer.mmu.enabled, printer.mmu.print_state
[menu __main,__print mmu led_gate_status]
name: {{ gettext('LED Gate Status') }}
icon: mmu_led_gate_status
method: printer.gcode.script
params: {"script":"MMU_LED ENABLE=1 EXIT_EFFECT=gate_status QUIET=1"}
enable: {{ printer.mmu.enabled and not printer.mmu.print_state == "standby" }}
show_disabled: True
refresh_on: printer.mmu.enabled, printer.mmu.print_state
[menu __main,__print mmu led_filament_color]
name: {{ gettext('LED Fil. Color') }}
icon: mmu_led_filament_color
method: printer.gcode.script
params: {"script":"MMU_LED ENABLE=1 EXIT_EFFECT=filament_color QUIET=1"}
enable: {{ printer.mmu.enabled and not printer.mmu.print_state == "standby" }}
show_disabled: True
refresh_on: printer.mmu.enabled, printer.mmu.print_state
# Example: User added ...
[menu __main,__print mmu spare1]
name: {{ gettext('user def') }}
icon: mmu_carrot
enable: False
show_disabled: False
# Examples: for basic management
#[menu __main,__print mmu home]
#name: {{ gettext('Home Selector') }}
#icon: home
#method: printer.gcode.script
#params: {"script":"MMU_HOME"}
#
#[menu __main,__print mmu servoup]
#name: {{ gettext('Servo UP') }}
#icon: arrow-up
#method: printer.gcode.script
#params: {"script":"MMU_SERVO POS=up"}
#enable: {{ printer.mmu.servo != "Up" }}
#show_disabled: True
#refresh_on: printer.mmu.servo
#
#[menu __main,__print mmu servodown]
#name: {{ gettext('Servo Down') }}
#icon: arrow-down
#method: printer.gcode.script
#params: {"script":"MMU_SERVO POS=down"}
#enable: {{ printer.mmu.servo != "Down" }}
#show_disabled: True
#refresh_on: printer.mmu.servo
#
#[menu __main,__print mmu motoroff]
#name: {{ gettext('Disable Motors') }}
#icon: motor-off
#method: printer.gcode.script
#confirm: "This will invalidate selector position and require rehoming. Are you sure?"
#params: {"script":"MMU_MOTORS_OFF"}
#
# ---------- MMU Manage submenu end
# ---------- MMU config/calibration menu
#
[menu __main more mmu_calib]
name: {{ gettext('MMU Setup') }}
icon: mmu_gear
enable: {{ printer.mmu is defined }}
[menu __main more mmu_calib home]
name: {{ gettext('Home') }}
icon: home
method: printer.gcode.script
params: {"script":"MMU_HOME"}
enable: {{ printer.mmu.selector_type and printer.mmu.selector_type != "VirtualSelector" }}
show_disabled: True
[menu __main more mmu_calib select_gates]
name: {{ gettext('Select Gate...') }}
icon: mmu_select_gate
# Generated menus for each tool/gate...
[menu __main more mmu_calib select_gates G0]
name: {{ gettext('Select Gate #0') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=0" }
enable: {{ printer.mmu.gate != 0 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 0 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib select_gates G1]
name: {{ gettext('Select Gate #1') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=1" }
enable: {{ printer.mmu.gate != 1 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 1 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib select_gates G2]
name: {{ gettext('Select Gate #2') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=2" }
enable: {{ printer.mmu.gate != 2 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 2 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib select_gates G3]
name: {{ gettext('Select Gate #3') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=3" }
enable: {{ printer.mmu.gate != 3 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 3 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib select_gates G4]
name: {{ gettext('Select Gate #4') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=4" }
enable: {{ printer.mmu.gate != 4 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 4 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib select_gates G5]
name: {{ gettext('Select Gate #5') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=5" }
enable: {{ printer.mmu.gate != 5 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 5 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib select_gates G6]
name: {{ gettext('Select Gate #6') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=6" }
enable: {{ printer.mmu.gate != 6 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 6 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib select_gates G7]
name: {{ gettext('Select Gate #7') }}
icon: mmu_select_gate
method: printer.gcode.script
params: { "script":"MMU_SELECT GATE=7" }
enable: {{ printer.mmu.gate != 7 and printer.mmu.action == "Idle" and printer.mmu.num_gates > 7 }}
show_disabled: True
refresh_on: printer.mmu.gate, printer.mmu.action
[menu __main more mmu_calib grip]
name: {{ gettext('Test Grip') }}
icon: mmu_grip
method: printer.gcode.script
params: {"script":"MMU_TEST_GRIP"}
[menu __main more mmu_calib formtip]
name: {{ gettext('Form Tip') }}
icon: mmu_formtip
method: printer.gcode.script
params: {"script":"MMU_FORM_TIP"}
[menu __main more mmu_calib servoup]
name: {{ gettext('Servo UP') }}
icon: arrow-up
method: printer.gcode.script
params: {"script":"MMU_SERVO POS=up"}
enable: {{ printer.mmu.selector_type and printer.mmu.selector_type != "VirtualSelector" and printer.mmu.servo != "Up" }}
show_disabled: True
refresh_on: printer.mmu.servo
[menu __main more mmu_calib servomove]
name: {{ gettext('Servo MOVE') }}
icon: arrow-right
method: printer.gcode.script
params: {"script":"MMU_SERVO POS=move"}
enable: {{ printer.mmu.selector_type and printer.mmu.selector_type != "VirtualSelector" and printer.mmu.servo != "Move" }}
show_disabled: True
refresh_on: printer.mmu.servo
[menu __main more mmu_calib servodown]
name: {{ gettext('Servo DOWN') }}
icon: arrow-down
method: printer.gcode.script
params: {"script":"MMU_SERVO POS=down"}
enable: {{ printer.mmu.selector_type and printer.mmu.selector_type != "VirtualSelector" and printer.mmu.servo != "Down" }}
show_disabled: True
refresh_on: printer.mmu.servo
[menu __main more mmu_calib encoder]
name: {{ gettext('Cal. Encoder') }}
icon: mmu_encodercal
method: printer.gcode.script
params: {"script":"MMU_CALIBRATE_ENCODER"}
[menu __main more mmu_calib all]
name: {{ gettext('Calibrate ALL') }}
icon: extruder
method: printer.gcode.script
confirm: This will calibrate all gates. Are you sure?
params: {"script":"MMU_CALIBRATE_GATES ALL=1"}
[menu __main more mmu_calib gate]
name: {{ gettext('Cal. Gate...') }}
icon: mmu_calibrate
# Generated menus for each tool/gate...
[menu __main more mmu_calib gate CG0]
name: {{ gettext('Calibrate #0') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=0" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 0 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main more mmu_calib gate CG1]
name: {{ gettext('Calibrate #1') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=1" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 1 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main more mmu_calib gate CG2]
name: {{ gettext('Calibrate #2') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=2" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 2 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main more mmu_calib gate CG3]
name: {{ gettext('Calibrate #3') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=3" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 3 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main more mmu_calib gate CG4]
name: {{ gettext('Calibrate #4') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=4" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 4 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main more mmu_calib gate CG5]
name: {{ gettext('Calibrate #5') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=5" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 5 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main more mmu_calib gate CG6]
name: {{ gettext('Calibrate #6') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=6" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 6 }}
show_disabled: True
refresh_on: printer.mmu.action
[menu __main more mmu_calib gate CG7]
name: {{ gettext('Calibrate #7') }}
icon: mmu_calibrate
method: printer.gcode.script
params: { "script":"MMU_CALIBRATE_GATES GATE=7" }
enable: {{ printer.mmu.action == "Idle" and printer.mmu.num_gates > 7 }}
show_disabled: True
refresh_on: printer.mmu.action
#
# ---------- MMU config/calibration end