Autocommit from 2025-08-18 08:29:51

Klipper version: v0.13.0-154-g9346ad19

Moonraker version: v0.9.3-77-gccbfd64

Mainsail version: v2.14.0
This commit is contained in:
2025-08-18 08:29:51 +03:00
parent 1463f8d105
commit 03bda9c56c
14 changed files with 361 additions and 114 deletions

View File

@@ -119,8 +119,8 @@ homing_extruder: 1 # CAUTION: Normally this should be 1. 0 will disable the ho
uart_pin: mmu:MMU_GEAR_UART
run_current: 1 #
hold_current: 0.4 # Recommend to be small if not using "touch" or move (TMC stallguard)
interpolate: True
#sense_resistor: 0.110 # Usually 0.11, 0.15 for BTT TMC2226
interpolate: False
sense_resistor: 0.110 # Usually 0.11, 0.15 for BTT TMC2226
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
@@ -128,16 +128,16 @@ stealthchop_threshold: 0 # Spreadcycle has more torque and better at speed
#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
[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
[autotune_tmc stepper_mmu_gear]
motor: 17he12-1204s
tuning_goal: performance
@@ -281,8 +281,8 @@ sync_feedback_tension_pin:
sync_feedback_compression_pin:
# These sensors are on the toolhead and often controlled by the main printer mcu
extruder_switch_pin: ^!EBBCan:gpio22
toolhead_switch_pin:
extruder_switch_pin: ^EBBCan:gpio24
toolhead_switch_pin: ^EBBCan:gpio22
# ENCODER -------------------------------------------------------------------------------------------------------------
@@ -406,8 +406,8 @@ color_order: GRB # 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)
[mmu_leds]
exit_leds: neopixel:mmu_leds (8-1)
entry_leds: neopixel:mmu_leds (9-16)
exit_leds: neopixel:mmu_leds (9-16)
entry_leds: neopixel:mmu_leds (8-1)
#status_leds: neopixel:mmu_leds (17)
#logo_leds: neopixel:mmu_leds (18)
frame_rate: 24

View File

@@ -86,7 +86,7 @@ variable_load_initial_tool : True ; True/False, Whether to auto
variable_automap_strategy : "none" ; none|filament_name|material|color|closest_color|spool_id
# These variables control the behavior of the MMU_END macro
variable_user_print_end_extension : '' ; Executed at start of MMU_END. Good place to move off print
variable_user_print_end_extension : 'PRINT_END_PARK' ; Executed at start of MMU_END. Good place to move off print
variable_unload_tool : True ; True/False, Whether to unload the tool at the end of the print
variable_reset_ttg : False ; True/False, Whether reset TTG map at end of print
variable_dump_stats : True ; True/False, Whether to display print stats at end of print

View File

@@ -30,7 +30,7 @@ happy_hare_version: 3.2 # Don't mess, used for upgrade detection
#
# Define the physical limits of your MMU. These settings will be respected regardless of individual speed settings.
#
gear_max_velocity: 300 # Never to be exceeded gear velocity regardless of specific parameters
gear_max_velocity: 125 #300 # Never to be exceeded gear velocity regardless of specific parameters
gear_max_accel: 1500 # Never to be exceeded gear acceleration regardless of specific parameters
selector_max_velocity: 250 # Never to be exceeded selector velocity regardless of specific parameters
selector_max_accel: 1200 # Never to be exceeded selector acceleration regardless of specific parameters
@@ -184,7 +184,7 @@ gate_final_eject_distance: 0 # Distance to eject filament on MMU_EJECT (Ignored
# reading and make correction moves to bring the filament to within the 'bowden_allowable_load_delta' of the end of
# bowden position (this does require a reliable encoder and is not recommended for very high speed loading >350mm/s)
#
bowden_apply_correction: 0 # 1 to enable, 0 disabled. Requires Encoder
bowden_apply_correction: 1 # 1 to enable, 0 disabled. Requires Encoder
bowden_allowable_load_delta: 20.0 # How close in mm the correction moves will attempt to get to target. Requires Encoder
# This test verifies the filament is free of extruder before the fast bowden movement to reduce possibility of grinding filament
@@ -269,15 +269,19 @@ 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
# `MMU_CALIBRATE_TOOLHEAD` command (https://github.com/moggieuk/Happy-Hare/wiki/Blobbing-and-Stringing#---calibrating-toolhead)
#
toolhead_extruder_to_nozzle: 99.38 # Distance from extruder gears (entrance) to nozzle
toolhead_sensor_to_nozzle: 79.78 # Distance from toolhead sensor to nozzle (ignored if not fitted)
toolhead_entry_to_extruder: 13.29 # Distance from extruder "entry" sensor to extruder gears (ignored if not fitted)
#toolhead_extruder_to_nozzle: 99.38 # Distance from extruder gears (entrance) to nozzle
#toolhead_sensor_to_nozzle: 79.78 # Distance from toolhead sensor to nozzle (ignored if not fitted)
#toolhead_entry_to_extruder: 13.29 # Distance from extruder "entry" sensor to extruder gears (ignored if not fitted)
toolhead_extruder_to_nozzle: 101.3 # (currently: 100.9)
toolhead_sensor_to_nozzle: 88.2 #(currently: 87.4)
toolhead_entry_to_extruder: 19.1 #(currently: 18.7)
# 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.
# Note that this value can also be measured with the `MMU_CALIBRATE_TOOLHEAD` procedure
#
toolhead_residual_filament: 20 # Reduction in extruder loading length because of residual filament left behind
toolhead_residual_filament: 0 # 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
# it represents a further reduction in extruder load length to fix blobbing. If using a wipetower and you experience blobs
@@ -552,7 +556,7 @@ extruder_temp_variance: 2 # When waiting for extruder temperature this is the +/
# rotation_distance (MMU_CALIBRATE_GATE) is tuned for other gates.
#
autotune_bowden_length: 0 # Automated bowden length calibration/tuning. 1=automatic, 0=manual/off
autotune_rotation_distance: 0 # Automated gate calibration/tuning (requires encoder). 1=automatic, 0=manual/off
autotune_rotation_distance: 1 # Automated gate calibration/tuning (requires encoder). 1=automatic, 0=manual/off
#
# Other workflow options
#

View File

@@ -1,36 +1,36 @@
[Variables]
mmu__revision = 943
mmu__revision = 2859
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_calibration_bowden_lengths = [951.6, 951.6, 951.6, 951.6, 951.6, 951.6, 951.6, 951.6]
mmu_calibration_clog_length = 19.0
mmu_encoder_resolution = 0.948992
mmu_gear_rotation_distances = [22.845345, -1, 23.000827, -1, 23.065147, 22.682752, -1, 22.754847]
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_pos = 0
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_selected = -1
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_status = [0, 0, 0, 0, 0, 0, 2, 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_last_tool = 5
mmu_state_tool_selected = -1
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_counters = {'servo_down': {'count': 599, 'limit': 5000, 'warning': 'Inspect servo arm for wear/damage', 'pause': False}, 'mmu_restarts': {'count': 93, 'limit': -1, 'warning': ''}, 'cutter_blade': {'count': 0, 'limit': 3000, 'warning': 'Inspect/replace filament cutting blade', 'pause': False}}
mmu_statistics_gate_0 = {'pauses': 0, 'loads': 8, 'load_distance': 11954.651, 'load_delta': 4653.767, 'unloads': 11, 'unload_distance': 5205.0, 'unload_delta': 92.747, 'load_failures': 4, 'unload_failures': 2, 'quality': 0.8198260180834479}
mmu_statistics_gate_1 = {'pauses': 2, 'loads': 10, 'load_distance': 15191.968, 'load_delta': 770.824, 'unloads': 11, 'unload_distance': 1720.0, 'unload_delta': -15.149, 'load_failures': 2, 'unload_failures': 0, 'quality': 0.9676574716286735}
mmu_statistics_gate_2 = {'pauses': 2, 'loads': 12, 'load_distance': 20421.388, 'load_delta': 8152.369, 'unloads': 17, 'unload_distance': 12115.0, 'unload_delta': 3336.452, 'load_failures': 9, 'unload_failures': 0, 'quality': 0.9635278810027199}
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}
mmu_statistics_gate_4 = {'pauses': 1, 'loads': 8, 'load_distance': 13584.429, 'load_delta': 9464.65, 'unloads': 11, 'unload_distance': 3440.0, 'unload_delta': 3139.28, 'load_failures': 7, 'unload_failures': 2, 'quality': 0.7126287603755388}
mmu_statistics_gate_5 = {'pauses': 0, 'loads': 2, 'load_distance': 2852.423, 'load_delta': 423.003, 'unloads': 4, 'unload_distance': 2704.8, 'unload_delta': 149.164, 'load_failures': 1, 'unload_failures': 1, 'quality': 0.8392536837473988}
mmu_statistics_gate_6 = {'pauses': 4, 'loads': 3, 'load_distance': 3363.452, 'load_delta': 1694.174, 'unloads': 3, 'unload_distance': 901.6, 'unload_delta': 40.864, 'load_failures': 1, 'unload_failures': 1, 'quality': 0.2490142359175044}
mmu_statistics_gate_7 = {'pauses': 6, 'loads': 11, 'load_distance': 14499.488, 'load_delta': 6469.17, 'unloads': 26, 'unload_distance': 22111.2, 'unload_delta': 6092.289, 'load_failures': 7, 'unload_failures': 5, 'quality': 0.5589421641409617}
mmu_statistics_swaps = {'pre_load': 16.29, 'purge': 17.61, 'post_load': 27.17, 'load': 1499.55, 'pre_unload': 25.33, 'form_tip': 393.62, 'unload': 2817.46, 'post_unload': 22.04, 'total': 1578.64, 'total_swaps': 20, 'swaps_since_pause': 3, 'swaps_since_pause_record': 4, 'total_pauses': 16, 'pause': 1582.58}