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
This commit is contained in:
@@ -129,6 +129,7 @@ gcode:
|
|||||||
{% set BED_TEMP = params.BED|default(60)|float %}
|
{% set BED_TEMP = params.BED|default(60)|float %}
|
||||||
{% set EXTRUDER_TEMP = params.EXTRUDER|default(210)|float %}
|
{% set EXTRUDER_TEMP = params.EXTRUDER|default(210)|float %}
|
||||||
{% set CHAMBER = params.CHAMBER|default(35)|float %}
|
{% set CHAMBER = params.CHAMBER|default(35)|float %}
|
||||||
|
{% set USE_PURGE = params.PURGE|default(0)|int %}
|
||||||
{% if params.BED_TYPE %}
|
{% if params.BED_TYPE %}
|
||||||
INIT_BED_TYPE BED_TYPE="{params.BED_TYPE}"
|
INIT_BED_TYPE BED_TYPE="{params.BED_TYPE}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -161,7 +162,9 @@ gcode:
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
M117
|
M117
|
||||||
STATUS_CLEANING
|
STATUS_CLEANING
|
||||||
|
{% if USE_PURGE == true %}
|
||||||
VORON_PURGE
|
VORON_PURGE
|
||||||
|
{% endif %}
|
||||||
STATUS_PRINTING
|
STATUS_PRINTING
|
||||||
RESTORE_GCODE_STATE NAME=start
|
RESTORE_GCODE_STATE NAME=start
|
||||||
SKEW_PROFILE LOAD=default
|
SKEW_PROFILE LOAD=default
|
||||||
|
|||||||
@@ -117,16 +117,30 @@ homing_extruder: 1 # CAUTION: Normally this should be 1. 0 will disable the ho
|
|||||||
#
|
#
|
||||||
[tmc2209 stepper_mmu_gear]
|
[tmc2209 stepper_mmu_gear]
|
||||||
uart_pin: mmu:MMU_GEAR_UART
|
uart_pin: mmu:MMU_GEAR_UART
|
||||||
run_current: 1.0 #
|
run_current: 1 #
|
||||||
hold_current: 0.4 # Recommend to be small if not using "touch" or move (TMC stallguard)
|
hold_current: 0.4 # Recommend to be small if not using "touch" or move (TMC stallguard)
|
||||||
interpolate: True
|
interpolate: True
|
||||||
sense_resistor: 0.110 # Usually 0.11, 0.15 for BTT TMC2226
|
#sense_resistor: 0.110 # Usually 0.11, 0.15 for BTT TMC2226
|
||||||
stealthchop_threshold: 0 # Spreadcycle has more torque and better at speed
|
stealthchop_threshold: 0 # Spreadcycle has more torque and better at speed
|
||||||
#
|
#
|
||||||
# Uncomment two lines below if you have TMC and want the ability to use filament "touch" homing with gear stepper
|
# Uncomment two lines below if you have TMC and want the ability to use filament "touch" homing with gear stepper
|
||||||
#diag_pin: ^mmu:MMU_GEAR_DIAG # Set to MCU pin connected to TMC DIAG pin for gear stepper
|
#diag_pin: ^mmu:MMU_GEAR_DIAG # Set to MCU pin connected to TMC DIAG pin for gear stepper
|
||||||
#driver_SGTHRS: 60 # 255 is most sensitive value, 0 is least sensitive
|
#driver_SGTHRS: 60 # 255 is most sensitive value, 0 is least sensitive
|
||||||
|
|
||||||
|
|
||||||
|
#[motor_constants 17he12-1204s]
|
||||||
|
#resistance: 2.5
|
||||||
|
#inductance: 0.0033
|
||||||
|
#holding_torque: 0.26
|
||||||
|
#max_current: 1.20
|
||||||
|
#steps_per_revolution: 200
|
||||||
|
|
||||||
|
#[autotune_tmc stepper_mmu_gear]
|
||||||
|
#motor: 17he12-1204s
|
||||||
|
#tuning_goal: performance
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[stepper_mmu_gear]
|
[stepper_mmu_gear]
|
||||||
step_pin: mmu:MMU_GEAR_STEP
|
step_pin: mmu:MMU_GEAR_STEP
|
||||||
dir_pin: !mmu:MMU_GEAR_DIR
|
dir_pin: !mmu:MMU_GEAR_DIR
|
||||||
@@ -165,7 +179,7 @@ stealthchop_threshold: 100 # Stallguard "touch" movement (slower speeds) best d
|
|||||||
|
|
||||||
[stepper_mmu_selector]
|
[stepper_mmu_selector]
|
||||||
step_pin: mmu:MMU_SEL_STEP
|
step_pin: mmu:MMU_SEL_STEP
|
||||||
dir_pin: !mmu:MMU_SEL_DIR
|
dir_pin: mmu:MMU_SEL_DIR
|
||||||
enable_pin: !mmu:MMU_SEL_ENABLE
|
enable_pin: !mmu:MMU_SEL_ENABLE
|
||||||
rotation_distance: 40
|
rotation_distance: 40
|
||||||
microsteps: 16 # Don't need high fidelity
|
microsteps: 16 # Don't need high fidelity
|
||||||
@@ -267,7 +281,7 @@ sync_feedback_tension_pin:
|
|||||||
sync_feedback_compression_pin:
|
sync_feedback_compression_pin:
|
||||||
|
|
||||||
# These sensors are on the toolhead and often controlled by the main printer mcu
|
# These sensors are on the toolhead and often controlled by the main printer mcu
|
||||||
extruder_switch_pin:
|
extruder_switch_pin: ^!EBBCan:gpio22
|
||||||
toolhead_switch_pin:
|
toolhead_switch_pin:
|
||||||
|
|
||||||
|
|
||||||
@@ -351,7 +365,7 @@ flowrate_samples: 20 # How many "movements" of the extruder to measure average
|
|||||||
[neopixel mmu_leds]
|
[neopixel mmu_leds]
|
||||||
pin: mmu:MMU_NEOPIXEL
|
pin: mmu:MMU_NEOPIXEL
|
||||||
chain_count: 18 # Need number gates x1 or x2 + status leds
|
chain_count: 18 # Need number gates x1 or x2 + status leds
|
||||||
color_order: GRBW # Set based on your particular neopixel specification (can be comma separated list)
|
color_order: GRB # Set based on your particular neopixel specification (can be comma separated list)
|
||||||
|
|
||||||
# MMU LED EFFECT SEGMENTS ----------------------------------------------------------------------------------------------
|
# MMU LED EFFECT SEGMENTS ----------------------------------------------------------------------------------------------
|
||||||
# Define neopixel LEDs for your MMU. The chain_count must be large enough for your desired ranges:
|
# Define neopixel LEDs for your MMU. The chain_count must be large enough for your desired ranges:
|
||||||
@@ -392,8 +406,8 @@ color_order: GRBW # Set based on your particular neopixel specification (can be
|
|||||||
#
|
#
|
||||||
# (comment out this whole section if you don't have/want leds; uncomment/edit LEDs fitted on your MMU)
|
# (comment out this whole section if you don't have/want leds; uncomment/edit LEDs fitted on your MMU)
|
||||||
[mmu_leds]
|
[mmu_leds]
|
||||||
exit_leds: neopixel:mmu_leds (1-8)
|
exit_leds: neopixel:mmu_leds (8-1)
|
||||||
#entry_leds: neopixel:mmu_leds (9-16)
|
entry_leds: neopixel:mmu_leds (9-16)
|
||||||
#status_leds: neopixel:mmu_leds (17)
|
#status_leds: neopixel:mmu_leds (17)
|
||||||
#logo_leds: neopixel:mmu_leds (18)
|
#logo_leds: neopixel:mmu_leds (18)
|
||||||
frame_rate: 24
|
frame_rate: 24
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ description: Happy Hare optional configuration for print start/end checks
|
|||||||
gcode: # Leave empty
|
gcode: # Leave empty
|
||||||
|
|
||||||
# These variables control the behavior of the MMU_START_SETUP and MMU_START_LOAD_INITIAL_TOOL macros
|
# These variables control the behavior of the MMU_START_SETUP and MMU_START_LOAD_INITIAL_TOOL macros
|
||||||
variable_user_pre_initialize_extension : '' ; Executed at start of MMU_START_SETUP. Commonly G28 to home
|
variable_user_pre_initialize_extension : 'G28' ; Executed at start of MMU_START_SETUP. Commonly G28 to home
|
||||||
variable_home_mmu : False ; True/False, Whether to home mmu before print starts
|
variable_home_mmu : False ; True/False, Whether to home mmu before print starts
|
||||||
variable_check_gates : True ; True/False, Whether to check filament is loaded in all gates used
|
variable_check_gates : True ; True/False, Whether to check filament is loaded in all gates used
|
||||||
variable_load_initial_tool : True ; True/False, Whether to automatically load initial tool
|
variable_load_initial_tool : True ; True/False, Whether to automatically load initial tool
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ bowden_pre_unload_error_tolerance: 50
|
|||||||
# Note: The homing_endstop will be ignored ("none") if a toolhead sensor is available unless "extruder_force_homing: 1"
|
# Note: The homing_endstop will be ignored ("none") if a toolhead sensor is available unless "extruder_force_homing: 1"
|
||||||
#
|
#
|
||||||
extruder_homing_max: 80 # Maximum distance to advance in order to attempt to home the extruder
|
extruder_homing_max: 80 # Maximum distance to advance in order to attempt to home the extruder
|
||||||
extruder_homing_endstop: collision # Filament homing method/endstop name (fallback if toolhead sensor not available)
|
extruder_homing_endstop: extruder # Filament homing method/endstop name (fallback if toolhead sensor not available)
|
||||||
extruder_homing_buffer: 25 # Amount to reduce the fast bowden load so filament doesn't overshoot the extruder homing point
|
extruder_homing_buffer: 25 # Amount to reduce the fast bowden load so filament doesn't overshoot the extruder homing point
|
||||||
extruder_collision_homing_current: 30 # % gear_stepper current (10%-100%) to use when homing to extruder homing (100 to disable)
|
extruder_collision_homing_current: 30 # % gear_stepper current (10%-100%) to use when homing to extruder homing (100 to disable)
|
||||||
|
|
||||||
@@ -269,15 +269,15 @@ toolhead_homing_max: 40 # Maximum distance to advance in order to attempt to h
|
|||||||
# NOTE: If you have a toolhead sensor you can automate the calculation of these parameters! Read about the
|
# NOTE: If you have a toolhead sensor you can automate the calculation of these parameters! Read about the
|
||||||
# `MMU_CALIBRATE_TOOLHEAD` command (https://github.com/moggieuk/Happy-Hare/wiki/Blobbing-and-Stringing#---calibrating-toolhead)
|
# `MMU_CALIBRATE_TOOLHEAD` command (https://github.com/moggieuk/Happy-Hare/wiki/Blobbing-and-Stringing#---calibrating-toolhead)
|
||||||
#
|
#
|
||||||
toolhead_extruder_to_nozzle: 72 # Distance from extruder gears (entrance) to nozzle
|
toolhead_extruder_to_nozzle: 99.38 # Distance from extruder gears (entrance) to nozzle
|
||||||
toolhead_sensor_to_nozzle: 62 # Distance from toolhead sensor to nozzle (ignored if not fitted)
|
toolhead_sensor_to_nozzle: 79.78 # Distance from toolhead sensor to nozzle (ignored if not fitted)
|
||||||
toolhead_entry_to_extruder: 8 # Distance from extruder "entry" sensor to extruder gears (ignored if not fitted)
|
toolhead_entry_to_extruder: 13.29 # Distance from extruder "entry" sensor to extruder gears (ignored if not fitted)
|
||||||
|
|
||||||
# This setting represents how much residual filament is left behind in the nozzle when filament is removed, it is thus
|
# This setting represents how much residual filament is left behind in the nozzle when filament is removed, it is thus
|
||||||
# used to reduce the extruder loading length and prevent excessive blobbing but also in the calculation of purge volume.
|
# used to reduce the extruder loading length and prevent excessive blobbing but also in the calculation of purge volume.
|
||||||
# Note that this value can also be measured with the `MMU_CALIBRATE_TOOLHEAD` procedure
|
# Note that this value can also be measured with the `MMU_CALIBRATE_TOOLHEAD` procedure
|
||||||
#
|
#
|
||||||
toolhead_residual_filament: 0 # Reduction in extruder loading length because of residual filament left behind
|
toolhead_residual_filament: 20 # Reduction in extruder loading length because of residual filament left behind
|
||||||
|
|
||||||
# TUNING: Finally, this is the last resort tuning value to fix blobbing. It is expected that this value is NEAR ZERO as
|
# TUNING: Finally, this is the last resort tuning value to fix blobbing. It is expected that this value is NEAR ZERO as
|
||||||
# it represents a further reduction in extruder load length to fix blobbing. If using a wipetower and you experience blobs
|
# it represents a further reduction in extruder load length to fix blobbing. If using a wipetower and you experience blobs
|
||||||
@@ -378,7 +378,7 @@ extruder_purge_current: 100 # % of extruder current (100%-150%) to use when pur
|
|||||||
# If equipped with TMC drivers the current of the gear and extruder motors can be controlled to optimize performance.
|
# If equipped with TMC drivers the current of the gear and extruder motors can be controlled to optimize performance.
|
||||||
# This can be useful to control gear stepper temperature when printing with synchronized motor
|
# This can be useful to control gear stepper temperature when printing with synchronized motor
|
||||||
#
|
#
|
||||||
sync_to_extruder: 0 # Gear motor is synchronized to extruder during print
|
sync_to_extruder: 1 # Gear motor is synchronized to extruder during print
|
||||||
sync_gear_current: 70 # % of gear_stepper current (10%-100%) to use when syncing with extruder during print
|
sync_gear_current: 70 # % of gear_stepper current (10%-100%) to use when syncing with extruder during print
|
||||||
sync_form_tip: 0 # Synchronize during standalone tip formation (initial part of unload)
|
sync_form_tip: 0 # Synchronize during standalone tip formation (initial part of unload)
|
||||||
sync_purge: 0 # Synchronize during standalone purging (last part of load)
|
sync_purge: 0 # Synchronize during standalone purging (last part of load)
|
||||||
|
|||||||
@@ -1,8 +1,36 @@
|
|||||||
# This is the template file for storing Happy Hare state and calibration variables. It is pointed to
|
|
||||||
# with the [save_variables] block in 'mmu_macro_vars.cfg'
|
|
||||||
#
|
|
||||||
# If you want to use an existing "variables" file, then that is fine but make sure you copy the
|
|
||||||
# "mmu__revision" line to it because Happy Hare will look for this to validate correct setup
|
|
||||||
#
|
|
||||||
[Variables]
|
[Variables]
|
||||||
mmu__revision = 0
|
mmu__revision = 943
|
||||||
|
mmu_calibration_bowden_home = 'encoder'
|
||||||
|
mmu_calibration_bowden_lengths = [1785.0, 1785.0, 1785.0, 1785.0, 1785.0, 1785.0, 1785.0, 1785.0]
|
||||||
|
mmu_calibration_clog_length = 23.7
|
||||||
|
mmu_encoder_resolution = 0.960769
|
||||||
|
mmu_gear_rotation_distances = [22.845345, -1, 23.000827, -1, 23.065147, -1, -1, 22.924328]
|
||||||
|
mmu_selector_bypass = 179.2
|
||||||
|
mmu_selector_offsets = [4.0, 27.0, 49.9, 72.9, 95.9, 118.9, 141.8, 164.8]
|
||||||
|
mmu_servo_angles = {'down': 145, 'up': 30, 'move': 50}
|
||||||
|
mmu_state_enable_endless_spool = 0
|
||||||
|
mmu_state_filament_pos = 10
|
||||||
|
mmu_state_filament_remaining = 0
|
||||||
|
mmu_state_filament_remaining_color = ''
|
||||||
|
mmu_state_gate_color = ['green', 'grey', 'black', '', 'cyan', '', '', '3d3846']
|
||||||
|
mmu_state_gate_filament_name = ['', '', '', '', '', '', '', '']
|
||||||
|
mmu_state_gate_material = ['ABS', 'ABS', 'ABS', '', 'ABS', '', '', 'PETG']
|
||||||
|
mmu_state_gate_selected = 7
|
||||||
|
mmu_state_gate_speed_override = [100, 100, 100, 100, 100, 100, 100, 100]
|
||||||
|
mmu_state_gate_spool_id = [-1, -1, -1, -1, -1, -1, -1, -1]
|
||||||
|
mmu_state_gate_status = [1, 1, 1, 0, 1, 0, 0, 1]
|
||||||
|
mmu_state_gate_temperature = [200, 200, 200, 200, 200, 200, 200, 200]
|
||||||
|
mmu_state_last_tool = 2
|
||||||
|
mmu_state_tool_selected = 7
|
||||||
|
mmu_state_tool_to_gate_map = [0, 1, 2, 3, 4, 5, 6, 7]
|
||||||
|
mmu_statistics_counters = {'servo_down': {'count': 228, 'limit': 5000, 'warning': 'Inspect servo arm for wear/damage', 'pause': False}, 'mmu_restarts': {'count': 37, 'limit': -1, 'warning': ''}, 'cutter_blade': {'count': 0, 'limit': 3000, 'warning': 'Inspect/replace filament cutting blade', 'pause': False}}
|
||||||
|
mmu_statistics_gate_0 = {'pauses': 0, 'loads': 6, 'load_distance': 8546.739, 'load_delta': 2816.713, 'unloads': 8, 'unload_distance': 3470.0, 'unload_delta': -31.043, 'load_failures': 3, 'unload_failures': 2, 'quality': 0.8889759309441141}
|
||||||
|
mmu_statistics_gate_1 = {'pauses': 1, 'loads': 2, 'load_distance': 3363.716, 'load_delta': -30.681, 'unloads': 1, 'unload_distance': 1720.0, 'unload_delta': -15.149, 'load_failures': 1, 'unload_failures': 0, 'quality': 1.0071207044795385}
|
||||||
|
mmu_statistics_gate_2 = {'pauses': 0, 'loads': 4, 'load_distance': 6793.725, 'load_delta': 1828.471, 'unloads': 5, 'unload_distance': 1735.0, 'unload_delta': 2.733, 'load_failures': 2, 'unload_failures': 0, 'quality': 0.9016086335436964}
|
||||||
|
mmu_statistics_gate_3 = {'pauses': 0, 'loads': 0, 'load_distance': 0.0, 'load_delta': 0.0, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': -1.0}
|
||||||
|
mmu_statistics_gate_4 = {'pauses': 0, 'loads': 1, 'load_distance': 1729.275, 'load_delta': 1.813, 'unloads': 2, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 1, 'quality': 0.9989517366625948}
|
||||||
|
mmu_statistics_gate_5 = {'pauses': 0, 'loads': 0, 'load_distance': 0.0, 'load_delta': 0.0, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': -1.0}
|
||||||
|
mmu_statistics_gate_6 = {'pauses': 0, 'loads': 0, 'load_distance': 0.0, 'load_delta': 0.0, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': -1.0}
|
||||||
|
mmu_statistics_gate_7 = {'pauses': 2, 'loads': 1, 'load_distance': 1697.711, 'load_delta': 132.618, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': 0.921884173980515}
|
||||||
|
mmu_statistics_swaps = {'pre_load': 4.24, 'purge': 6.41, 'post_load': 8.48, 'load': 500.05, 'pre_unload': 4.85, 'form_tip': 134.27, 'unload': 665.18, 'post_unload': 3.93, 'total': 520.23, 'total_swaps': 7, 'swaps_since_pause': 1, 'swaps_since_pause_record': 3, 'total_pauses': 3, 'pause': 57.49}
|
||||||
|
|
||||||
|
|||||||
757
mmu_klipperscreen.conf
Normal file
757
mmu_klipperscreen.conf
Normal file
@@ -0,0 +1,757 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
23
printer.cfg
23
printer.cfg
@@ -4,8 +4,8 @@
|
|||||||
[include hbb.cfg]
|
[include hbb.cfg]
|
||||||
|
|
||||||
# Happy Hare
|
# Happy Hare
|
||||||
#[include mmu/base/*.cfg]
|
[include mmu/base/*.cfg]
|
||||||
#[include mmu/optional/client_macros.cfg]
|
[include mmu/optional/client_macros.cfg]
|
||||||
#[include mmu/addons/blobifier.cfg]
|
#[include mmu/addons/blobifier.cfg]
|
||||||
#[include mmu/addons/mmu_erec_cutter.cfg]
|
#[include mmu/addons/mmu_erec_cutter.cfg]
|
||||||
|
|
||||||
@@ -215,20 +215,19 @@ algorithm: bicubic
|
|||||||
#*# [bed_mesh default]
|
#*# [bed_mesh default]
|
||||||
#*# version = 1
|
#*# version = 1
|
||||||
#*# points =
|
#*# points =
|
||||||
#*# 0.030000, -0.002813, -0.000000, 0.052812
|
#*# 0.045312, 0.016250, 0.030937
|
||||||
#*# 0.031562, 0.004375, 0.020000, 0.061875
|
#*# 0.045312, 0.009375, 0.050312
|
||||||
#*# 0.033125, -0.002188, 0.000625, 0.059687
|
#*# 0.040937, 0.015312, 0.052187
|
||||||
#*# 0.038750, 0.025625, 0.032500, 0.070937
|
#*# x_count = 3
|
||||||
#*# x_count = 4
|
#*# y_count = 3
|
||||||
#*# y_count = 4
|
|
||||||
#*# mesh_x_pps = 2
|
#*# mesh_x_pps = 2
|
||||||
#*# mesh_y_pps = 2
|
#*# mesh_y_pps = 2
|
||||||
#*# algo = lagrange
|
#*# algo = lagrange
|
||||||
#*# tension = 0.2
|
#*# tension = 0.2
|
||||||
#*# min_x = 82.47999999999999
|
#*# min_x = 106.493
|
||||||
#*# max_x = 267.46
|
#*# max_x = 243.853
|
||||||
#*# min_y = 76.6553
|
#*# min_y = 119.121
|
||||||
#*# max_y = 272.82529999999997
|
#*# max_y = 230.50099999999998
|
||||||
#*#
|
#*#
|
||||||
#*# [probe]
|
#*# [probe]
|
||||||
#*# z_offset = -0.870
|
#*# z_offset = -0.870
|
||||||
|
|||||||
@@ -112,39 +112,13 @@ motor: ldo-36sth20-1004ahg-9T
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
[filament_switch_sensor G2E]
|
#[filament_switch_sensor G2E]
|
||||||
pause_on_runout: True
|
#pause_on_runout: True
|
||||||
# When set to True, a PAUSE will execute immediately after a runout
|
#runout_gcode:
|
||||||
# is detected. Note that if pause_on_runout is False and the
|
#UNLOAD_FILAMENT
|
||||||
# runout_gcode is omitted then runout detection is disabled. Default
|
#insert_gcode:
|
||||||
# is True.
|
#LOAD_FILAMENT
|
||||||
runout_gcode:
|
#switch_pin: ^!EBBCan:gpio22
|
||||||
# A list of G-Code commands to execute after a filament runout is
|
|
||||||
# detected. See docs/Command_Templates.md for G-Code format. If
|
|
||||||
# pause_on_runout is set to True this G-Code will run after the
|
|
||||||
# PAUSE is complete. The default is not to run any G-Code commands.
|
|
||||||
UNLOAD_FILAMENT
|
|
||||||
insert_gcode:
|
|
||||||
# A list of G-Code commands to execute after a filament insert is
|
|
||||||
# detected. See docs/Command_Templates.md for G-Code format. The
|
|
||||||
# default is not to run any G-Code commands, which disables insert
|
|
||||||
# detection.
|
|
||||||
LOAD_FILAMENT
|
|
||||||
#event_delay: 3.0
|
|
||||||
# The minimum amount of time in seconds to delay between events.
|
|
||||||
# Events triggered during this time period will be silently
|
|
||||||
# ignored. The default is 3 seconds.
|
|
||||||
#pause_delay: 0.5
|
|
||||||
# The amount of time to delay, in seconds, between the pause command
|
|
||||||
# dispatch and execution of the runout_gcode. It may be useful to
|
|
||||||
# increase this delay if OctoPrint exhibits strange pause behavior.
|
|
||||||
# Default is 0.5 seconds.
|
|
||||||
#debounce_delay: 1
|
|
||||||
# A period of time in seconds to debounce events prior to running the
|
|
||||||
# switch gcode. The switch must he held in a single state for at least
|
|
||||||
# this long to activate. If the switch is toggled on/off during this delay,
|
|
||||||
# the event is ignored. Default is 0.
|
|
||||||
switch_pin: ^!EBBCan:gpio22
|
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|||||||
Reference in New Issue
Block a user