===== Config file ===== [virtual_sdcard] path = ~/gcode_files on_error_gcode = CANCEL_PRINT [pause_resume] [display_status] [gcode_macro CANCEL_PRINT] description = Cancel the actual running print rename_existing = CANCEL_PRINT_BASE variable_park = True gcode = {% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%} _TOOLHEAD_PARK_PAUSE_CANCEL {% endif %} TURN_OFF_HEATERS M106 S0 CANCEL_PRINT_BASE [gcode_macro PAUSE] description = Pause the actual running print rename_existing = PAUSE_BASE gcode = PAUSE_BASE _TOOLHEAD_PARK_PAUSE_CANCEL [gcode_macro RESUME] description = Resume the actual running print rename_existing = RESUME_BASE gcode = {% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %} {% if 'VELOCITY' in params|upper %} {% set get_params = ('VELOCITY=' + params.VELOCITY) %} {%else %} {% set get_params = "" %} {% endif %} {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} RESUME_BASE {get_params} [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] description = Helper: park toolhead used in PAUSE and CANCEL_PRINT variable_extrude = 1.0 gcode = {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} {% set z_park_delta = 2.0 %} {% set max_z = printer.toolhead.axis_maximum.z|float %} {% set act_z = printer.toolhead.position.z|float %} {% if act_z < (max_z - z_park_delta) %} {% set z_safe = z_park_delta %} {% else %} {% set z_safe = max_z - act_z %} {% endif %} {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E-{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} {% if "xyz" in printer.toolhead.homed_axes %} G91 G1 Z{z_safe} F900 G90 G1 X{x_park} Y{y_park} F6000 {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %} {% else %} {action_respond_info("Printer not homed")} {% endif %} [neopixel sb_leds] pin = PB0 chain_count = 3 color_order = GRBW initial_red = 1.0 initial_green = 0.0 initial_blue = 1.0 initial_white = 0.0 [gcode_macro _sb_vars] variable_colors = { 'logo': { 'busy': {'r': 0.4, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'cleaning': {'r': 0.0, 'g': 0.02, 'b': 0.5, 'w': 0.0}, 'calibrating_z': {'r': 0.8, 'g': 0., 'b': 0.35, 'w': 0.0}, 'heating': {'r': 0.3, 'g': 0.18, 'b': 0.0, 'w': 0.0}, 'homing': {'r': 0.0, 'g': 0.6, 'b': 0.2, 'w': 0.0}, 'leveling': {'r': 0.5, 'g': 0.1, 'b': 0.4, 'w': 0.0}, 'meshing': {'r': 0.2, 'g': 1.0, 'b': 0.0, 'w': 0.0}, 'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'printing': {'r': 1.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'standby': {'r': 0.01, 'g': 0.01, 'b': 0.01, 'w': 0.1}, }, 'nozzle': { 'heating': {'r': 1, 'g': 1, 'b': 1, 'w':0.0}, 'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'on': {'r': 1, 'g': 1, 'b': 1, 'w':1.0}, 'standby': {'r': 1, 'g': 1, 'b': 1, 'w':0.0}, }, 'thermal': { 'hot': {'r': 1.0, 'g': 1.0, 'b': 1.0, 'w': 0.0}, 'cold': {'r': 0.3, 'g': 0.0, 'b': 0.3, 'w': 0.0} } } variable_logo_led_name = "sb_leds" variable_logo_idx = "1" variable_nozzle_led_name = "sb_leds" variable_nozzle_idx = "2,3" gcode = [gcode_macro _set_sb_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = params.LED|string %} {% set idx = (params.IDX|string).split(',') %} {% set transmit_last = params.TRANSMIT|default(1) %} {% for led_index in idx %} {% set transmit=transmit_last if loop.last else 0 %} set_led led={led} red={red} green={green} blue={blue} white={white} index={led_index} transmit={transmit} {% endfor %} [gcode_macro _set_sb_leds_by_name] gcode = {% set leds_name = params.LEDS %} {% set color_name = params.COLOR %} {% set color = printer["gcode_macro _sb_vars"].colors[leds_name][color_name] %} {% set led = printer["gcode_macro _sb_vars"][leds_name + "_led_name"] %} {% set idx = printer["gcode_macro _sb_vars"][leds_name + "_idx"] %} {% set transmit = params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={color.r} green={color.g} blue={color.b} white={color.w} idx="{idx}" transmit={transmit} [gcode_macro _set_logo_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = printer["gcode_macro _sb_vars"].logo_led_name %} {% set idx = printer["gcode_macro _sb_vars"].logo_idx %} {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit} [gcode_macro _set_nozzle_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = printer["gcode_macro _sb_vars"].nozzle_led_name %} {% set idx = printer["gcode_macro _sb_vars"].nozzle_idx %} {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit} [gcode_macro set_logo_leds_off] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_logo_leds red=0 blue=0 green=0 white=0 transmit={transmit} [gcode_macro set_nozzle_leds_on] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds_by_name leds="nozzle" color="on" transmit={transmit} [gcode_macro set_nozzle_leds_off] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds_by_name leds="nozzle" color="off" transmit={transmit} [gcode_macro status_off] gcode = set_logo_leds_off transmit=0 set_nozzle_leds_off [gcode_macro status_ready] gcode = _set_sb_leds_by_name leds="logo" color="standby" transmit=0 _set_sb_leds_by_name leds="nozzle" color="standby" transmit=1 [gcode_macro status_busy] gcode = _set_sb_leds_by_name leds="logo" color="busy" transmit=0 set_nozzle_leds_on [gcode_macro status_heating] gcode = _set_sb_leds_by_name leds="logo" color="heating" transmit=0 _set_sb_leds_by_name leds="nozzle" color="heating" transmit=1 [gcode_macro status_leveling] gcode = _set_sb_leds_by_name leds="logo" color="leveling" transmit=0 set_nozzle_leds_on [gcode_macro status_homing] gcode = _set_sb_leds_by_name leds="logo" color="homing" transmit=0 set_nozzle_leds_on [gcode_macro status_cleaning] gcode = _set_sb_leds_by_name leds="logo" color="cleaning" transmit=0 set_nozzle_leds_on [gcode_macro status_meshing] gcode = _set_sb_leds_by_name leds="logo" color="meshing" transmit=0 set_nozzle_leds_on [gcode_macro status_calibrating_z] gcode = _set_sb_leds_by_name leds="logo" color="calibrating_z" transmit=0 set_nozzle_leds_on [gcode_macro status_printing] gcode = _set_sb_leds_by_name leds="logo" color="printing" transmit=0 set_nozzle_leds_on [z_calibration] nozzle_xy_position = 203, 299 switch_xy_position = 199, 275 bed_xy_position = 150, 150 switch_offset = .43 max_deviation = 1.0 speed = 50 probing_first_fast = false start_gcode = ATTACH_PROBE end_gcode = DOCK_PROBE [mcu] serial = /dev/serial/by-id/usb-Klipper_stm32f446xx_260032000A51373330333137-if00 restart_method = command [printer] kinematics = corexy max_velocity = 500 max_accel = 10000 max_z_velocity = 15 max_z_accel = 350 square_corner_velocity = 5.0 [stepper_x] step_pin = PF13 dir_pin = PF12 enable_pin = !PF14 rotation_distance = 40 microsteps = 32 full_steps_per_rotation = 400 endstop_pin = PG6 position_min = 0 position_endstop = 295 position_max = 295 homing_speed = 25 homing_retract_dist = 5 homing_positive_dir = true [tmc2209 stepper_x] uart_pin = PC4 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 0 [stepper_y] step_pin = PG0 dir_pin = PG1 enable_pin = !PF15 rotation_distance = 40 microsteps = 32 full_steps_per_rotation = 400 endstop_pin = PG9 position_min = 0 position_endstop = 300 position_max = 300 homing_speed = 25 homing_retract_dist = 5 homing_positive_dir = true [tmc2209 stepper_y] uart_pin = PD11 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 0 [stepper_z] step_pin = PF11 dir_pin = PG3 enable_pin = !PG5 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 endstop_pin = PG10 position_max = 260 position_min = -5 homing_speed = 8 second_homing_speed = 3 homing_retract_dist = 3 position_endstop = -0.580 [tmc2209 stepper_z] uart_pin = PC6 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z1] step_pin = PG4 dir_pin = !PC1 enable_pin = !PA0 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z1] uart_pin = PC7 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z2] step_pin = PF9 dir_pin = PF10 enable_pin = !PG2 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z2] uart_pin = PF2 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z3] step_pin = PC13 dir_pin = !PF0 enable_pin = !PF1 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z3] uart_pin = PE4 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [extruder] step_pin = PE2 dir_pin = !PE3 enable_pin = !PD4 rotation_distance = 22.6789511 gear_ratio = 50:17 microsteps = 32 full_steps_per_rotation = 200 nozzle_diameter = 0.400 filament_diameter = 1.75 heater_pin = PA2 sensor_type = ATC Semitec 104NT-4-R025H42G sensor_pin = PF4 min_temp = 0 max_temp = 270 max_power = 1.0 min_extrude_temp = 170 pressure_advance = 0.035 pressure_advance_smooth_time = 0.040 control = pid pid_kp = 24.255 pid_ki = 2.378 pid_kd = 61.850 [tmc2209 extruder] uart_pin = PE1 interpolate = false run_current = 0.5 sense_resistor = 0.110 stealthchop_threshold = 0 [heater_bed] heater_pin = PA1 sensor_type = Generic 3950 sensor_pin = PF3 max_power = 0.65 min_temp = 0 max_temp = 120 control = pid pid_kp = 42.230 pid_ki = 1.474 pid_kd = 302.471 [probe] pin = PG15 x_offset = 0 y_offset = 25.0 z_offset = 0 speed = 10.0 samples = 5 samples_result = median sample_retract_dist = 3.0 samples_tolerance = 0.02 samples_tolerance_retries = 4 [fan] pin = PA8 kick_start_time = 0.5 off_below = 0.10 [heater_fan hotend_fan] pin = PE5 max_power = 1.0 kick_start_time = 0.5 heater = extruder heater_temp = 50.0 [controller_fan controller_fan] pin = PD12 kick_start_time = 0.5 heater = heater_bed fan_speed = 0.5 [heater_fan exhaust_fan] pin = PD13 max_power = 1.0 shutdown_speed = 0.0 kick_start_time = 5.0 heater = heater_bed heater_temp = 40 fan_speed = .5 [output_pin caselight] pin = PD14 pwm = true shutdown_value = 0 value = 0 cycle_time = 0.01 [thermistor CMFB103F3950FANT] temperature1 = 0.0 resistance1 = 32116.0 temperature2 = 40.0 resistance2 = 5309.0 temperature3 = 80.0 resistance3 = 1228.0 [temperature_sensor chamber_temp] sensor_type = CMFB103F3950FANT sensor_pin = PF5 min_temp = 0 max_temp = 100 gcode_id = chamber_th [temperature_sensor raspberry_pi] sensor_type = temperature_host min_temp = 10 max_temp = 100 [temperature_sensor mcu_temp] sensor_type = temperature_mcu min_temp = 0 max_temp = 100 [idle_timeout] timeout = 1800 [quad_gantry_level] gantry_corners = -60,-10 360,370 points = 50,25 50,225 250,225 250,25 speed = 100 horizontal_move_z = 10 retries = 5 retry_tolerance = 0.013 max_adjust = 10 [board_pins] aliases = EXP1_1=PE8, EXP1_2=PE7, EXP1_3=PE9, EXP1_4=PE10, EXP1_5=PE12, EXP1_6=PE13, EXP1_7=PE14, EXP1_8=PE15, EXP1_9=, EXP1_10=<5V>, EXP2_1=PA6, EXP2_2=PA5, EXP2_3=PB1, EXP2_4=PA4, EXP2_5=PB2, EXP2_6=PA7, EXP2_7=PC15, EXP2_8=, EXP2_9=, EXP2_10=<5V> [display] lcd_type = uc1701 cs_pin = EXP1_3 a0_pin = EXP1_4 rst_pin = EXP1_5 encoder_pins = ^EXP2_5, ^EXP2_3 click_pin = ^!EXP1_2 contrast = 63 spi_software_miso_pin = EXP2_1 spi_software_mosi_pin = EXP2_6 spi_software_sclk_pin = EXP2_2 [neopixel btt_mini12864] pin = EXP1_6 chain_count = 3 initial_red = 0.1 initial_green = 0.5 initial_blue = 0.0 color_order = RGB [delayed_gcode setdisplayneopixel] initial_duration = 1 gcode = SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=0 GREEN=0 BLUE=1 INDEX=1 [gcode_macro _User_Variables] variable_verbose = True variable_debug = False variable_travel_speed = 100 variable_move_accel = 1000 variable_dock_speed = 50 variable_release_speed = 75 variable_z_drop_speed = 20 variable_safe_z = 25 variable_enable_z_hop = True variable_max_bed_y = 290 variable_max_bed_x = 290 variable_z_endstop_x = 203 variable_z_endstop_y = 299 variable_docklocation_x = 67 variable_docklocation_y = 294 variable_docklocation_z = -128 variable_enable_dock_servo = False variable_servo_name = 'NAME' variable_servo_deploy = 10 variable_servo_retract = 11 variable_servo_delay = 250 variable_dockmove_x = 40 variable_dockmove_y = 0 variable_dockmove_z = 0 variable_attachmove_x = 0 variable_attachmove_y = 30 variable_attachmove_z = 0 variable_umbilical = False variable_umbilical_x = 15 variable_umbilical_y = 15 variable_park_toolhead = False variable_parkposition_x = 125 variable_parkposition_y = 125 variable_parkposition_z = 30 variable_version = 1 variable_attachmove2_x = 0 variable_attachmove2_y = 0 variable_attachmove2_z = 0 variable_home_backoff_x = 10 variable_home_backoff_y = 10 variable_override_homing = '' variable_dock_on_zhome = True gcode = {% set Mx = printer['configfile'].config["stepper_x"]["position_max"]|float %} {% set My = printer['configfile'].config["stepper_y"]["position_max"]|float %} {% set Ox = printer['configfile'].config["probe"]["x_offset"]|float %} {% set Oy = printer['configfile'].config["probe"]["y_offset"]|float %} {% set Oz = printer['configfile'].config["probe"]["z_offset"]|float %} {% if z_endstop_x != 0 or z_endstop_y != 0 %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ z_endstop_x } SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ z_endstop_y } {% else %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ (Mx * 0.5) - Ox } SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ (My * 0.5) - Oy } {% endif %} [respond] [gcode_macro _Probe_Variables] variable_probe_attached = False variable_probe_state = False variable_probe_lock = False variable_z_endstop_x = 0 variable_z_endstop_y = 0 gcode = [gcode_macro _klicky_check_variables_version] gcode = {% set version = printer["gcode_macro _User_Variables"].version|default(0) %} {% if version != 1 %} { action_raise_error("Please update your klicky variables, there are some functionality changes") } {% endif %} [gcode_macro _KlickyDebug] gcode = {% set message = params.MSG %} {% set debug = printer["gcode_macro _User_Variables"].debug|default(False) %} {% if debug %} { action_respond_info(message) } {% endif %} [gcode_macro _exit_point] gcode = {% set function = 'pre_' ~ params.FUNCTION %} {% set move = params.MOVE|default(0) %} {% set speed = printer["gcode_macro _User_Variables"].travel_speed %} M400 SET_VELOCITY_LIMIT ACCEL={printer.configfile.settings.printer.max_accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel} RESTORE_GCODE_STATE NAME={function} MOVE={move} MOVE_SPEED={speed} [gcode_macro _entry_point] gcode = {% set function = 'pre_' ~ params.FUNCTION %} {% set move_accel = printer["gcode_macro _User_Variables"].move_accel|default(1000) %} M400 SAVE_GCODE_STATE NAME={function} SET_GCODE_OFFSET Z=0 G90 SET_VELOCITY_LIMIT ACCEL={move_accel} [gcode_macro _Homing_Variables] gcode = {% set reset = params.RESET|default(0) %} {% if reset %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ False } {% endif %} [gcode_macro Attach_Probe_Lock] description = Attaches Klicky Probe, can only be docked after unlocking gcode = Attach_Probe _Probe_Lock [gcode_macro Dock_Probe_Unlock] description = Docks Klicky Probe even if it was locked gcode = _Probe_Unlock Dock_Probe [gcode_macro _Probe_Unlock] description = Unlocks Klicky Probe state gcode = _KlickyDebug msg="_Probe_Lock setting probe_lock variable to False" SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ False } [gcode_macro _Probe_Lock] description = Locks Klicky Probe state gcode = _KlickyDebug msg="_Probe_Lock setting probe_lock variable to True" SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ True } [gcode_macro _DeployKlickyDock] description = Deploys Klicky servo-controlled dock gcode = {% set enable_dock_servo = printer["gcode_macro _User_Variables"].enable_dock_servo|default(False) %} {% set servo_delay = printer["gcode_macro _User_Variables"].servo_delay|default(1000) %} {% set servo_name = printer["gcode_macro _User_Variables"].servo_name %} {% set servo_deploy = printer["gcode_macro _User_Variables"].servo_deploy|default(360) %} M400 {% if enable_dock_servo != False %} _KlickyDebug msg="_DeployKlickyDock Klicky servo configuration enabled" {% if servo_deploy == 360 %} { action_raise_error("Klicky: servo active on klicky-variables, but no servo deploy angle specified") } {% endif %} _KlickyDebug msg="_DeployKlickyDock SET_SERVO SERVO={servo_name|string} ANGLE={servo_deploy|int}" SET_SERVO SERVO={servo_name|string} ANGLE={servo_deploy|int} M400 G4 P{servo_delay|int} _KlickyDebug msg="_DeployKlickyDock SET_SERVO SERVO={servo_name|string} WIDTH=0" SET_SERVO SERVO={servo_name|string} WIDTH=0 {% elif printer["gcode_macro _DeployDock"] is defined %} _KlickyDebug msg="_DeployKlickyDock calling _DeployDock" _DeployDock {% endif %} [gcode_macro _RetractKlickyDock] description = Retracts Klicky servo-controlled dock gcode = {% set enable_dock_servo = printer["gcode_macro _User_Variables"].enable_dock_servo|default(False) %} {% set servo_delay = printer["gcode_macro _User_Variables"].servo_delay|default(1000) %} {% set servo_name = printer["gcode_macro _User_Variables"].servo_name %} {% set servo_retract = printer["gcode_macro _User_Variables"].servo_retract|default(360) %} M400 {% if enable_dock_servo != False %} _KlickyDebug msg="_RetractKlickyDock Klicky servo configuration enabled" {% if servo_retract == 360 %} { action_raise_error("Klicky: servo active on klicky-variables, but no servo retract angle specified") } {% endif %} _KlickyDebug msg="_RetractKlickyDock SET_SERVO SERVO={servo_name|string} ANGLE={servo_retract|int}" SET_SERVO SERVO={servo_name|string} ANGLE={servo_retract|int} M400 G4 P{servo_delay|int} _KlickyDebug msg="_RetractKlickyDock SET_SERVO SERVO={servo_name|string} WIDTH=0" SET_SERVO SERVO={servo_name|string} WIDTH=0 {% elif printer["gcode_macro _RetractDock"] is defined %} _KlickyDebug msg="_RetractKlickyDock calling _RetractDock" _RetractDock {% endif %} [gcode_macro Attach_Probe] description = Attaches Klicky Probe gcode = {% set goback = params.BACK|default(0) %} {% set probe_attached = printer["gcode_macro _Probe_Variables"].probe_attached %} {% set probe_lock = printer["gcode_macro _Probe_Variables"].probe_lock %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set dockmove_x = printer["gcode_macro _User_Variables"].dockmove_x|default(0) %} {% set dockmove_y = printer["gcode_macro _User_Variables"].dockmove_y|default(0) %} {% set dockmove_z = printer["gcode_macro _User_Variables"].dockmove_z|default(0) %} {% set docklocation_x = printer["gcode_macro _User_Variables"].docklocation_x %} {% set docklocation_y = printer["gcode_macro _User_Variables"].docklocation_y %} {% set docklocation_z = printer["gcode_macro _User_Variables"].docklocation_z %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set attachmove2_x = printer["gcode_macro _User_Variables"].attachmove2_x|default(0) %} {% set attachmove2_y = printer["gcode_macro _User_Variables"].attachmove2_y|default(0) %} {% set attachmove2_z = printer["gcode_macro _User_Variables"].attachmove2_z|default(0) %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z %} {% set enable_z_hop = printer["gcode_macro _User_Variables"].enable_z_hop %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set dock_feedrate = printer["gcode_macro _User_Variables"].dock_speed * 60 %} {% set release_feedrate = printer["gcode_macro _User_Variables"].release_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} _entry_point function=Attach_Probe {% if not 'xy' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X and Y Axis First!") } _KlickyDebug msg="Attach_Probe Axis homed" {% elif not probe_attached and not probe_lock %} _KlickyDebug msg="Attach_Probe going to attach probe" {% if verbose %} { action_respond_info("Attaching Probe") } {% endif %} _KLICKY_STATUS_BUSY {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero") } {% endif %} _KlickyDebug msg="Attach_Probe Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% if not enable_z_hop %} _KlickyDebug msg="Attach_Probe z_hop disabled" {% set safe_z = 0 %} {% endif %} {% endif %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Attach_Probe toolhead too low, raising it by {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero, duplicate?") } {% endif %} _KlickyDebug msg="Attach_Probe Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% endif %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Attach_Probe toolhead too low, raising it by {safe_z}mm, duplicate?" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Umbilical_Path _entry_point function=Attach_Probe_intern _KlickyDebug msg="Attach_Probe moving near the dock with G0 X{docklocation_x|int - attachmove_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove_y|int - attachmove2_y} F{travel_feedrate}" G0 X{docklocation_x|int - attachmove_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove_y|int - attachmove2_y} F{travel_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int - attachmove2_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int - attachmove2_z|int} F{dock_feedrate} _KlickyDebug msg="Attach_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate} {% endif %} _DeployKlickyDock {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 Z{docklocation_z} F{dock_feedrate}" G0 Z{docklocation_z} F{dock_feedrate} {% endif %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 X{docklocation_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove2_y} F{dock_feedrate}" G0 X{docklocation_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove2_y} F{dock_feedrate} _KlickyDebug msg="Attach_Probe moving to the dock with G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate}" G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving from the dock to G0 Z{docklocation_z|int - attachmove_z|int} F{z_drop_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{z_drop_feedrate} {% endif %} _KlickyDebug msg="Attach_Probe moving from the dock to G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{release_feedrate} _RetractKlickyDock {% if ((printer.toolhead.position.z < safe_z) or (docklocation_z != -128 and docklocation_z < safe_z ))%} _KlickyDebug msg="Attach_Probe moving to a safe Z position: G0 Z{safe_z} F{z_drop_feedrate} from {printer.toolhead.position.z}" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Park_Toolhead _CheckProbe action=attach _exit_point function=Attach_Probe_intern move={goback} _KLICKY_STATUS_READY {% elif probe_lock %} {% if verbose %} { action_respond_info("Probe locked!") } {% endif %} _KlickyDebug msg="Attach_Probe probe locked not attaching probe" _CheckProbe action=query {% else %} {% if verbose %} { action_respond_info("Probe already attached!") } {% endif %} _KlickyDebug msg="Attach_Probe probe already attached, doing nothing" _CheckProbe action=query {% endif %} _exit_point function=Attach_Probe [gcode_macro Dock_Probe] description = Docks Klicky Probe gcode = {% set goback = params.back|default(0) %} {% set probe_attached = printer["gcode_macro _Probe_Variables"].probe_attached %} {% set probe_lock = printer["gcode_macro _Probe_Variables"].probe_lock %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set dockmove_x = printer["gcode_macro _User_Variables"].dockmove_x|default(0) %} {% set dockmove_y = printer["gcode_macro _User_Variables"].dockmove_y|default(0) %} {% set dockmove_z = printer["gcode_macro _User_Variables"].dockmove_z|default(0) %} {% set docklocation_x = printer["gcode_macro _User_Variables"].docklocation_x %} {% set docklocation_y = printer["gcode_macro _User_Variables"].docklocation_y %} {% set docklocation_z = printer["gcode_macro _User_Variables"].docklocation_z %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set dock_feedrate = printer["gcode_macro _User_Variables"].dock_speed * 60 %} {% set release_feedrate = printer["gcode_macro _User_Variables"].release_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="Dock_Probe Axis homed" _entry_point function=Dock_Probe {% if probe_attached and not probe_lock %} _KlickyDebug msg="Dock_Probe going to dock probe" {% if verbose %} { action_respond_info("Docking Probe") } {% endif %} _KLICKY_STATUS_BUSY {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Dock_Probe toolhead too low, raising it to {safe_z}mm" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Umbilical_Path _KlickyDebug msg="Dock_Probe moving near the dock with G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{travel_feedrate}" G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{travel_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Dock_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate} {% endif %} _DeployKlickyDock _KlickyDebug msg="Dock_Probe moving to the dock with G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate}" G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 Z{docklocation_z} F{dock_feedrate}" G0 Z{docklocation_z} F{dock_feedrate} {% endif %} {% if docklocation_z != -128 %} _KlickyDebug msg="Dock_Probe moving from the dock to G0 Z{docklocation_z|int + dockmove_z|int} F{release_feedrate}" G0 Z{docklocation_z|int + dockmove_z|int} F{release_feedrate} {% endif %} _KlickyDebug msg="Dock_Probe moving from the dock to G0 X{docklocation_x|int + dockmove_x|int} Y{docklocation_y|int + dockmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int + dockmove_x|int} Y{docklocation_y|int + dockmove_y|int} F{release_feedrate} _RetractKlickyDock _KlickyDebug msg="Dock_Probe moving away from the dock to G0 X{docklocation_x|int + dockmove_x|int - attachmove_x|int} Y{docklocation_y|int + dockmove_y|int - attachmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int + dockmove_x|int - attachmove_x|int} Y{docklocation_y|int + dockmove_y|int - attachmove_y|int} F{release_feedrate} {% if ((printer.toolhead.position.z < safe_z) or (docklocation_z != -128 and docklocation_z < safe_z ))%} _KlickyDebug msg="Dock_Probe moving to a safe Z position: G0 Z{safe_z} F{z_drop_feedrate} from {printer.toolhead.position.z}" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Park_Toolhead G4 P1000 _CheckProbe action=dock _KLICKY_STATUS_READY {% elif probe_lock %} {% if verbose %} { action_respond_info("Probe locked") } {% endif %} _KlickyDebug msg="Dock_Probe probe locked not docking probe" _CheckProbe action=query {% else %} {% if verbose %} { action_respond_info("Probe already docked") } {% endif %} _KlickyDebug msg="Dock_Probe probe already docked, doing nothing" _CheckProbe action=query {% endif %} _exit_point function=Dock_Probe move={goback} [gcode_macro PROBE_CALIBRATE] rename_existing = _PROBE_CALIBRATE description = Calibrate the probes z_offset with klicky automount gcode = {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set max_x = printer["gcode_macro _User_Variables"].max_bed_x|float %} {% set max_y = printer["gcode_macro _User_Variables"].max_bed_y|float %} {% set probe_offset_x = printer['configfile'].config["probe"]["x_offset"]|float %} {% set probe_offset_y = printer['configfile'].config["probe"]["y_offset"]|float %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="probe_calibrate Axis homed" _KlickyDebug msg="probe_calibrate Variables max_x={max_x},max_y={max_y},probe_offset_x={probe_offset_x},probe_offset_y={probe_offset_y}" {% if printer['gcode_move'].position.y > (max_y - probe_offset_y) or printer['gcode_move'].position.y < - probe_offset_y or printer['gcode_move'].position.x > (max_x - probe_offset_x) or printer['gcode_move'].position.x < - probe_offset_x %} { action_raise_error("Must perform PROBE_CALIBRATE with the probe above the BED, check klicky_variables bed size!") } {% endif%} _CheckProbe action=query G90 Attach_Probe back=1 _KLICKY_STATUS_CALIBRATING_Z _KlickyDebug msg="probe_calibrate calling klipper probe_calibrate" _PROBE_CALIBRATE {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} M118 moving the toolhead 20 mm from the bed _KlickyDebug msg="probe_calibrate Moving Z up by 20mm" TESTZ Z=20 M118 remove manually the probe and continue calibration _KLICKY_STATUS_READY [gcode_macro PROBE_ACCURACY] rename_existing = _PROBE_ACCURACY description = Probe Z-height accuracy at current XY position with klicky automount gcode = {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set max_x = printer["gcode_macro _User_Variables"].max_bed_x|float %} {% set max_y = printer["gcode_macro _User_Variables"].max_bed_y|float %} {% set probe_offset_x = printer['configfile'].config["probe"]["x_offset"]|float %} {% set probe_offset_y = printer['configfile'].config["probe"]["y_offset"]|float %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="probe_accuracy Axis homed" _KlickyDebug msg="probe_accuracy Variables max_x={max_x},max_y={max_y},probe_offset_x={probe_offset_x},probe_offset_y={probe_offset_y}" _entry_point function=PROBE_ACCURACY {% if printer['gcode_move'].position.y > (max_y - probe_offset_y) or printer['gcode_move'].position.y < - probe_offset_y or printer['gcode_move'].position.x > (max_x - probe_offset_x) or printer['gcode_move'].position.x < - probe_offset_x %} { action_raise_error("Must perform PROBE_ACCURACY with the probe above the BED, check klicky_variables bed size!") } {% endif%} _CheckProbe action=query Attach_Probe back=1 _KlickyDebug msg="probe_accuracy calling klipper probe accuracy" _PROBE_ACCURACY {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe back=1 _exit_point function=PROBE_ACCURACY move=1 [force_move] enable_force_move = True [homing_override] axes = xyz gcode = _User_Variables {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z %} {% set enable_z_hop = printer["gcode_macro _User_Variables"].enable_z_hop %} {% set kinematic_z = 0 %} {% set dock_on_zhome = printer["gcode_macro _User_Variables"].dock_on_zhome|default(True) %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set home_backoff_x = printer["gcode_macro _User_Variables"].home_backoff_x|default(0) %} {% set home_backoff_y = printer["gcode_macro _User_Variables"].home_backoff_y|default(0) %} {% set override_homing = printer["gcode_macro _User_Variables"].override_homing|default('') %} _klicky_check_variables_version _CheckProbe action=query {% set home_x, home_y, home_z, leave_probe_attached = False, False, False, False %} {% if 'PROBE_LOCK' in params%} {% if verbose %} { action_respond_info("PROBE_LOCK = True") } {% endif %} {% set leave_probe_attached = True %} {% endif %} {% if not 'X' in params and not 'Y' in params and not 'Z' in params %} {% set home_x, home_y, home_z = True, True, True %} _KlickyDebug msg="homing_override goint to home all axes" {% else %} {% if 'X' in params %} {% set home_x = True %} _KlickyDebug msg="homing_override goint to home X" {% endif %} {% if 'Y' in params %} {% set home_y = True %} _KlickyDebug msg="homing_override goint to home Y" {% endif %} {% if 'Z' in params %} {% set home_z = True %} _KlickyDebug msg="homing_override goint to home Z" {% endif %} {% if 'X' in params and 'Y' in params and 'Z' in params %} _Homing_Variables reset=1 _KlickyDebug msg="homing_override goint to home all axes" {% endif %} {% endif %} _entry_point function=homing_override _KLICKY_STATUS_HOMING {% if 'z' not in printer.toolhead.homed_axes %} {% if not enable_z_hop %} _KlickyDebug msg="homing_override z_hop disabled" {% set kinematic_z = safe_z %} {% set safe_z = 0 %} {% endif %} {% endif %} {% if home_z %} {% if 'z' in printer.toolhead.homed_axes %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="homing_override toolhead too low, with homed axes, raising it to {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% else %} {% if verbose %} { action_respond_info("Z not homed, forcing full G28") } {% endif %} _KlickyDebug msg="homing_override Z not homed, setting position as X=Y=0 Z={kinematic_z}" SET_KINEMATIC_POSITION X=0 Y=0 Z={kinematic_z} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="homing_override toolhead too low, raising it to {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% set home_x, home_y, home_z = True, True, True %} {% endif %} {% endif %} {% if ((attachmove_y == 0 and override_homing == '' ) or (override_homing == 'Y'))%} {% if home_y %} {% if override_homing == 'Y' %} _KlickyDebug msg="homing_override Y homing first override, due to override_homing = Y" {% else %} _KlickyDebug msg="homing_override Y homing first override, due to attachmove_y = 0" {% endif %} {% if verbose %} { action_respond_info("Homing Y") } {% endif %} {% if printer["gcode_macro _HOME_Y"] is defined %} _KlickyDebug msg="homing_override calling _HOME_Y external script to handle the Y homing" _HOME_Y {% else %} _KlickyDebug msg="homing_override Homing Y G28 Y0" G28 Y0 {% if home_backoff_y != 0 %} {% if (printer.configfile.settings.stepper_y.position_endstop > (printer.configfile.settings.stepper_y.position_min|default(0) + printer.configfile.settings.stepper_y.position_max)/2) %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop-home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% set home_y = False %} {% endif %} {% if home_x %} {% if verbose %} { action_respond_info("Homing X") } {% endif %} {% if printer["gcode_macro _HOME_X"] is defined %} _KlickyDebug msg="homing_override calling _HOME_X external script to handle the X homing" _HOME_X {% else %} _KlickyDebug msg="homing_override Homing X, G28 X0" G28 X0 {% if home_backoff_x != 0 %} {% if (printer.configfile.settings.stepper_x.position_endstop > (printer.configfile.settings.stepper_x.position_min|default(0) + printer.configfile.settings.stepper_x.position_max)/2) %} _KlickyDebug msg="homing_override backing off X endstop, G0 X{printer.configfile.settings.stepper_x.position_endstop - home_backoff_x|int} F{travel_feedrate}" G0 X{printer.configfile.settings.stepper_x.position_endstop - home_backoff_x|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off X endstop, G0 X{printer.configfile.settings.stepper_x.position_endstop + home_backoff_x|int} F{travel_feedrate}" G0 X{printer.configfile.settings.stepper_x.position_endstop + home_backoff_x|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% if home_y %} {% if verbose %} { action_respond_info("Homing Y") } {% endif %} {% if printer["gcode_macro _HOME_Y"] is defined %} _KlickyDebug msg="homing_override calling _HOME_Y external script to handle the Y homing" _HOME_Y {% else %} _KlickyDebug msg="homing_override Homing Y, G28 Y0" G28 Y0 {% if home_backoff_y != 0 %} {% if (printer.configfile.settings.stepper_y.position_endstop > (printer.configfile.settings.stepper_y.position_min|default(0) + printer.configfile.settings.stepper_y.position_max)/2) %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% if home_z %} {% if verbose %} { action_respond_info("Homing Z") } {% endif %} {% if printer['configfile'].config["stepper_z"]["endstop_pin"] == 'probe:z_virtual_endstop' %} _KlickyDebug msg="homing_override probe configured as a virtual Z endstop attaching probe" Attach_Probe {% if leave_probe_attached %} _Probe_Lock {% endif %} {% elif dock_on_zhome == True %} Dock_Probe {% endif %} _Home_Z {% if printer['configfile'].config["stepper_z"]["endstop_pin"] == 'probe:z_virtual_endstop' %} _KlickyDebug msg="homing_override probe no longer required, docking probe" Dock_Probe {% elif dock_on_zhome == False %} Dock_Probe {% endif %} {% endif %} _CheckProbe action=query _Park_Toolhead _exit_point function=homing_override _KLICKY_STATUS_READY [gcode_macro _Umbilical_Path] gcode = {% set umbilical = printer["gcode_macro _User_Variables"].umbilical %} {% set umbilical_x = printer["gcode_macro _User_Variables"].umbilical_x %} {% set umbilical_y = printer["gcode_macro _User_Variables"].umbilical_y %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% if umbilical %} _entry_point function=Umbilical_Path _KlickyDebug msg="_Umbilical_Path moving to G0 X{umbilical_x} Y{umbilical_y} Z{safe_z} F{travel_feedrate}" G0 X{umbilical_x} Y{umbilical_y} Z{safe_z} F{travel_feedrate} _exit_point function=Umbilical_Path {% endif %} [gcode_macro _Home_Z] gcode = {% set z_endstop_x = printer["gcode_macro _Probe_Variables"].z_endstop_x %} {% set z_endstop_y = printer["gcode_macro _Probe_Variables"].z_endstop_y %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} _entry_point function=Home_Z {% if not 'xy' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X and Y Axis First!") } {% else %} _KlickyDebug msg="_Home_Z XY Axis homed" {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero") } {% endif %} _KlickyDebug msg="_Home_Z Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% endif %} _KlickyDebug msg="_Home_Z moving to Z endstop position G0 X{z_endstop_x} Y{z_endstop_y} F{travel_feedrate}" G0 X{z_endstop_x} Y{z_endstop_y} F{travel_feedrate} _KlickyDebug msg="_Home_Z Homing Z G28 Z" G28 Z0 _KlickyDebug msg="_Home_Z toolhead too low, raising it to {safe_z}mm" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _exit_point function=Home_Z [gcode_macro _CheckProbe] variable_probe_state = 0 gcode = Query_Probe _SetProbeState action={ params.ACTION } [gcode_macro _SetProbeState] gcode = {% set query_probe_triggered = printer.probe.last_query %} {% set action = params.ACTION|default('') %} {% if query_probe_triggered %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_attached VALUE={ False } {% else %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_attached VALUE={ True } {% endif %} {% if action == 'query' %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_state VALUE={ query_probe_triggered } {% endif %} {% if not query_probe_triggered and action == 'dock' %} { action_raise_error("Probe dock failed!") } {% endif %} {% if query_probe_triggered and action == 'attach' %} { action_raise_error("Probe attach failed!") } {% endif %} [gcode_macro _Park_Toolhead] gcode = {% set park_toolhead = printer["gcode_macro _User_Variables"].park_toolhead %} {% set parkposition_x = printer["gcode_macro _User_Variables"].parkposition_x %} {% set parkposition_y = printer["gcode_macro _User_Variables"].parkposition_y %} {% set parkposition_z = printer["gcode_macro _User_Variables"].parkposition_z %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} _entry_point function=Park_Toolhead {% if park_toolhead and 'xyz' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Parking Toolhead") } {% endif %} {% if parkposition_z == -128 %} _KlickyDebug msg="_Park_Toolhead moving to G0 X{parkposition_x} Y{parkposition_y} F{travel_feedrate}" G0 X{parkposition_x} Y{parkposition_y} F{travel_feedrate} {% else %} _KlickyDebug msg="_Park_Toolhead moving to G0 X{parkposition_x} Y{parkposition_y} Z{parkposition_z} F{travel_feedrate}" G0 X{parkposition_x} Y{parkposition_y} Z{parkposition_z} F{travel_feedrate} {% endif %} {% endif %} _exit_point function=Park_Toolhead [gcode_macro _klicky_status_ready] gcode = {% if printer['gcode_macro status_ready'] is defined %} _KlickyDebug msg="_klicky_status_ready activating the LED STATUS_READY" STATUS_READY {% endif %} [gcode_macro _klicky_status_busy] gcode = {% if printer['gcode_macro status_busy'] is defined %} _KlickyDebug msg="_klicky_status_busy activating the LED STATUS_BUSY" STATUS_BUSY {% endif %} [gcode_macro _klicky_status_leveling] gcode = {% if printer['gcode_macro status_leveling'] is defined %} _KlickyDebug msg="_klicky_status_leveling activating the LED STATUS_LEVELING" STATUS_LEVELING {% endif %} [gcode_macro _klicky_status_homing] gcode = {% if printer['gcode_macro status_homing'] is defined %} _KlickyDebug msg="_klicky_status_homing activating the LED STATUS_HOMING" STATUS_HOMING {% endif %} [gcode_macro _klicky_status_cleaning] gcode = {% if printer['gcode_macro status_cleaning'] is defined %} _KlickyDebug msg="_klicky_status_cleaning activating the LED STATUS_CLEANING" STATUS_CLEANING {% endif %} [gcode_macro _klicky_status_meshing] gcode = {% if printer['gcode_macro status_meshing'] is defined %} _KlickyDebug msg="_klicky_status_meshing activating the LED STATUS_MESHING" STATUS_MESHING {% endif %} [gcode_macro _klicky_status_calibrating_z] gcode = {% if printer['gcode_macro status_calibrating_z'] is defined %} _KlickyDebug msg="_klicky_status_calibrating_z activating the LED STATUS_CALIBRATING_Z" STATUS_CALIBRATING_Z {% endif %} [gcode_macro BED_MESH_CALIBRATE] rename_existing = _BED_MESH_CALIBRATE description = Perform Mesh Bed Leveling with klicky automount gcode = {% set V = printer["gcode_macro _User_Variables"].verbose %} {% if V %} { action_respond_info("Bed Mesh Calibrate") } {% endif %} _CheckProbe action=query G90 Attach_Probe _KLICKY_STATUS_MESHING _BED_MESH_CALIBRATE {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe [gcode_macro QUAD_GANTRY_LEVEL] rename_existing = _QUAD_GANTRY_LEVEL description = Conform a moving, twistable gantry to the shape of a stationary bed with klicky automount gcode = {% set V = printer["gcode_macro _User_Variables"].verbose %} {% if V %} { action_respond_info("QG Level") } {% endif %} _CheckProbe action=query G90 Attach_Probe _KLICKY_STATUS_LEVELING _QUAD_GANTRY_LEVEL {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe [bed_mesh] speed = 300 horizontal_move_z = 10 mesh_min = 40, 40 mesh_max = 260,260 fade_start = 0.6 fade_end = 10.0 probe_count = 5,5 algorithm = bicubic relative_reference_index = 12 [gcode_macro G32] gcode = G28 QUAD_GANTRY_LEVEL G28 G0 X150 Y150 Z30 F3600 [gcode_macro PRINT_START] gcode = G32 G0 X150 Y150 Z30 F3600 [gcode_macro PRINT_END] gcode = {% set th = printer.toolhead %} {% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %} {% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %} {% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %} SAVE_GCODE_STATE NAME=STATE_PRINT_END M400 G92 E0 G1 E-5.0 F1800 TURN_OFF_HEATERS G90 G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 M107 BED_MESH_CLEAR RESTORE_GCODE_STATE NAME=STATE_PRINT_END ======================= Loaded MCU 'mcu' 105 commands (v0.10.0-546-ga709ba43 / gcc: (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] binutils: (2.31.1-11+rpi1+11) 2.31.1) MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1 Configured MCU 'mcu' (1024 moves) Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/klipper_config/printer.cfg', '-l', '/home/pi/klipper_logs/klippy.log', '-a', '/tmp/klippy_uds'] Git version: 'v0.10.0-631-g8a065287' CPU: 4 core ARMv7 Processor rev 3 (v7l) Python: '3.7.3 (default, Jan 22 2021, 20:04:44) \n[GCC 8.3.0]' webhooks client 3039481712: {'program': 'Moonraker', 'version': 'v0.7.1-771-ge628b24'} =============== Log rollover at Fri Nov 18 00:02:49 2022 =============== Stats 4029.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=32287 bytes_read=864666 bytes_retransmit=9 bytes_invalid=0 send_seq=4414 receive_seq=4414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001196 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.2 mcu_temp: temp=34.5 sysload=0.24 cputime=111.707 memavail=1497640 print_time=4037.634 buffer_time=0.863 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Attempting MCU 'mcu' reset command webhooks client 3039481712: Disconnected Restarting printer Start printer at Fri Nov 18 00:02:51 2022 (1668729771.1 4031.3) ===== Config file ===== [virtual_sdcard] path = ~/gcode_files on_error_gcode = CANCEL_PRINT [pause_resume] [display_status] [gcode_macro CANCEL_PRINT] description = Cancel the actual running print rename_existing = CANCEL_PRINT_BASE variable_park = True gcode = {% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%} _TOOLHEAD_PARK_PAUSE_CANCEL {% endif %} TURN_OFF_HEATERS M106 S0 CANCEL_PRINT_BASE [gcode_macro PAUSE] description = Pause the actual running print rename_existing = PAUSE_BASE gcode = PAUSE_BASE _TOOLHEAD_PARK_PAUSE_CANCEL [gcode_macro RESUME] description = Resume the actual running print rename_existing = RESUME_BASE gcode = {% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %} {% if 'VELOCITY' in params|upper %} {% set get_params = ('VELOCITY=' + params.VELOCITY) %} {%else %} {% set get_params = "" %} {% endif %} {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} RESUME_BASE {get_params} [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] description = Helper: park toolhead used in PAUSE and CANCEL_PRINT variable_extrude = 1.0 gcode = {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} {% set z_park_delta = 2.0 %} {% set max_z = printer.toolhead.axis_maximum.z|float %} {% set act_z = printer.toolhead.position.z|float %} {% if act_z < (max_z - z_park_delta) %} {% set z_safe = z_park_delta %} {% else %} {% set z_safe = max_z - act_z %} {% endif %} {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E-{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} {% if "xyz" in printer.toolhead.homed_axes %} G91 G1 Z{z_safe} F900 G90 G1 X{x_park} Y{y_park} F6000 {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %} {% else %} {action_respond_info("Printer not homed")} {% endif %} [neopixel sb_leds] pin = PB0 chain_count = 3 color_order = GRBW initial_red = 1.0 initial_green = 0.0 initial_blue = 1.0 initial_white = 0.0 [gcode_macro _sb_vars] variable_colors = { 'logo': { 'busy': {'r': 0.4, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'cleaning': {'r': 0.0, 'g': 0.02, 'b': 0.5, 'w': 0.0}, 'calibrating_z': {'r': 0.8, 'g': 0., 'b': 0.35, 'w': 0.0}, 'heating': {'r': 0.3, 'g': 0.18, 'b': 0.0, 'w': 0.0}, 'homing': {'r': 0.0, 'g': 0.6, 'b': 0.2, 'w': 0.0}, 'leveling': {'r': 0.5, 'g': 0.1, 'b': 0.4, 'w': 0.0}, 'meshing': {'r': 0.2, 'g': 1.0, 'b': 0.0, 'w': 0.0}, 'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'printing': {'r': 1.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'standby': {'r': 0.01, 'g': 0.01, 'b': 0.01, 'w': 0.1}, }, 'nozzle': { 'heating': {'r': 1, 'g': 1, 'b': 1, 'w':0.0}, 'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'on': {'r': 1, 'g': 1, 'b': 1, 'w':1.0}, 'standby': {'r': 1, 'g': 1, 'b': 1, 'w':0.0}, }, 'thermal': { 'hot': {'r': 1.0, 'g': 1.0, 'b': 1.0, 'w': 0.0}, 'cold': {'r': 0.3, 'g': 0.0, 'b': 0.3, 'w': 0.0} } } variable_logo_led_name = "sb_leds" variable_logo_idx = "1" variable_nozzle_led_name = "sb_leds" variable_nozzle_idx = "2,3" gcode = [gcode_macro _set_sb_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = params.LED|string %} {% set idx = (params.IDX|string).split(',') %} {% set transmit_last = params.TRANSMIT|default(1) %} {% for led_index in idx %} {% set transmit=transmit_last if loop.last else 0 %} set_led led={led} red={red} green={green} blue={blue} white={white} index={led_index} transmit={transmit} {% endfor %} [gcode_macro _set_sb_leds_by_name] gcode = {% set leds_name = params.LEDS %} {% set color_name = params.COLOR %} {% set color = printer["gcode_macro _sb_vars"].colors[leds_name][color_name] %} {% set led = printer["gcode_macro _sb_vars"][leds_name + "_led_name"] %} {% set idx = printer["gcode_macro _sb_vars"][leds_name + "_idx"] %} {% set transmit = params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={color.r} green={color.g} blue={color.b} white={color.w} idx="{idx}" transmit={transmit} [gcode_macro _set_logo_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = printer["gcode_macro _sb_vars"].logo_led_name %} {% set idx = printer["gcode_macro _sb_vars"].logo_idx %} {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit} [gcode_macro _set_nozzle_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = printer["gcode_macro _sb_vars"].nozzle_led_name %} {% set idx = printer["gcode_macro _sb_vars"].nozzle_idx %} {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit} [gcode_macro set_logo_leds_off] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_logo_leds red=0 blue=0 green=0 white=0 transmit={transmit} [gcode_macro set_nozzle_leds_on] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds_by_name leds="nozzle" color="on" transmit={transmit} [gcode_macro set_nozzle_leds_off] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds_by_name leds="nozzle" color="off" transmit={transmit} [gcode_macro status_off] gcode = set_logo_leds_off transmit=0 set_nozzle_leds_off [gcode_macro status_ready] gcode = _set_sb_leds_by_name leds="logo" color="standby" transmit=0 _set_sb_leds_by_name leds="nozzle" color="standby" transmit=1 [gcode_macro status_busy] gcode = _set_sb_leds_by_name leds="logo" color="busy" transmit=0 set_nozzle_leds_on [gcode_macro status_heating] gcode = _set_sb_leds_by_name leds="logo" color="heating" transmit=0 _set_sb_leds_by_name leds="nozzle" color="heating" transmit=1 [gcode_macro status_leveling] gcode = _set_sb_leds_by_name leds="logo" color="leveling" transmit=0 set_nozzle_leds_on [gcode_macro status_homing] gcode = _set_sb_leds_by_name leds="logo" color="homing" transmit=0 set_nozzle_leds_on [gcode_macro status_cleaning] gcode = _set_sb_leds_by_name leds="logo" color="cleaning" transmit=0 set_nozzle_leds_on [gcode_macro status_meshing] gcode = _set_sb_leds_by_name leds="logo" color="meshing" transmit=0 set_nozzle_leds_on [gcode_macro status_calibrating_z] gcode = _set_sb_leds_by_name leds="logo" color="calibrating_z" transmit=0 set_nozzle_leds_on [gcode_macro status_printing] gcode = _set_sb_leds_by_name leds="logo" color="printing" transmit=0 set_nozzle_leds_on [z_calibration] nozzle_xy_position = 203, 299 switch_xy_position = 199, 275 bed_xy_position = 150, 150 switch_offset = .43 max_deviation = 1.0 speed = 50 probing_first_fast = false start_gcode = ATTACH_PROBE end_gcode = DOCK_PROBE [mcu] serial = /dev/serial/by-id/usb-Klipper_stm32f446xx_260032000A51373330333137-if00 restart_method = command [printer] kinematics = corexy max_velocity = 500 max_accel = 10000 max_z_velocity = 15 max_z_accel = 350 square_corner_velocity = 5.0 [stepper_x] step_pin = PF13 dir_pin = PF12 enable_pin = !PF14 rotation_distance = 40 microsteps = 32 full_steps_per_rotation = 400 endstop_pin = PG6 position_min = 0 position_endstop = 295 position_max = 295 homing_speed = 25 homing_retract_dist = 5 homing_positive_dir = true [tmc2209 stepper_x] uart_pin = PC4 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 0 [stepper_y] step_pin = PG0 dir_pin = PG1 enable_pin = !PF15 rotation_distance = 40 microsteps = 32 full_steps_per_rotation = 400 endstop_pin = PG9 position_min = 0 position_endstop = 300 position_max = 300 homing_speed = 25 homing_retract_dist = 5 homing_positive_dir = true [tmc2209 stepper_y] uart_pin = PD11 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 0 [stepper_z] step_pin = PF11 dir_pin = PG3 enable_pin = !PG5 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 endstop_pin = PG10 position_max = 260 position_min = -5 homing_speed = 8 second_homing_speed = 3 homing_retract_dist = 3 position_endstop = -0.580 [tmc2209 stepper_z] uart_pin = PC6 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z1] step_pin = PG4 dir_pin = !PC1 enable_pin = !PA0 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z1] uart_pin = PC7 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z2] step_pin = PF9 dir_pin = PF10 enable_pin = !PG2 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z2] uart_pin = PF2 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z3] step_pin = PC13 dir_pin = !PF0 enable_pin = !PF1 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z3] uart_pin = PE4 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [extruder] step_pin = PE2 dir_pin = !PE3 enable_pin = !PD4 rotation_distance = 22.6789511 gear_ratio = 50:17 microsteps = 32 full_steps_per_rotation = 200 nozzle_diameter = 0.400 filament_diameter = 1.75 heater_pin = PA2 sensor_type = ATC Semitec 104NT-4-R025H42G sensor_pin = PF4 min_temp = 0 max_temp = 270 max_power = 1.0 min_extrude_temp = 170 pressure_advance = 0.035 pressure_advance_smooth_time = 0.040 control = pid pid_kp = 24.255 pid_ki = 2.378 pid_kd = 61.850 [tmc2209 extruder] uart_pin = PE1 interpolate = false run_current = 0.5 sense_resistor = 0.110 stealthchop_threshold = 0 [heater_bed] heater_pin = PA1 sensor_type = Generic 3950 sensor_pin = PF3 max_power = 0.65 min_temp = 0 max_temp = 120 control = pid pid_kp = 42.230 pid_ki = 1.474 pid_kd = 302.471 [probe] pin = PG15 x_offset = 0 y_offset = 25.0 z_offset = 0 speed = 10.0 samples = 5 samples_result = median sample_retract_dist = 3.0 samples_tolerance = 0.02 samples_tolerance_retries = 4 [fan] pin = PA8 kick_start_time = 0.5 off_below = 0.10 [heater_fan hotend_fan] pin = PE5 max_power = 1.0 kick_start_time = 0.5 heater = extruder heater_temp = 50.0 [controller_fan controller_fan] pin = PD12 kick_start_time = 0.5 heater = heater_bed fan_speed = 0.5 [heater_fan exhaust_fan] pin = PD13 max_power = 1.0 shutdown_speed = 0.0 kick_start_time = 5.0 heater = heater_bed heater_temp = 40 fan_speed = .5 [output_pin caselight] pin = PD14 pwm = true shutdown_value = 0 value = 0 cycle_time = 0.01 [thermistor CMFB103F3950FANT] temperature1 = 0.0 resistance1 = 32116.0 temperature2 = 40.0 resistance2 = 5309.0 temperature3 = 80.0 resistance3 = 1228.0 [temperature_sensor chamber_temp] sensor_type = CMFB103F3950FANT sensor_pin = PF5 min_temp = 0 max_temp = 100 gcode_id = chamber_th [temperature_sensor raspberry_pi] sensor_type = temperature_host min_temp = 10 max_temp = 100 [temperature_sensor mcu_temp] sensor_type = temperature_mcu min_temp = 0 max_temp = 100 [idle_timeout] timeout = 1800 [quad_gantry_level] gantry_corners = -60,-10 360,370 points = 50,25 50,225 250,225 250,25 speed = 100 horizontal_move_z = 10 retries = 5 retry_tolerance = 0.013 max_adjust = 10 [board_pins] aliases = EXP1_1=PE8, EXP1_2=PE7, EXP1_3=PE9, EXP1_4=PE10, EXP1_5=PE12, EXP1_6=PE13, EXP1_7=PE14, EXP1_8=PE15, EXP1_9=, EXP1_10=<5V>, EXP2_1=PA6, EXP2_2=PA5, EXP2_3=PB1, EXP2_4=PA4, EXP2_5=PB2, EXP2_6=PA7, EXP2_7=PC15, EXP2_8=, EXP2_9=, EXP2_10=<5V> [display] lcd_type = uc1701 cs_pin = EXP1_3 a0_pin = EXP1_4 rst_pin = EXP1_5 encoder_pins = ^EXP2_5, ^EXP2_3 click_pin = ^!EXP1_2 contrast = 63 spi_software_miso_pin = EXP2_1 spi_software_mosi_pin = EXP2_6 spi_software_sclk_pin = EXP2_2 [neopixel btt_mini12864] pin = EXP1_6 chain_count = 3 initial_red = 0.1 initial_green = 0.5 initial_blue = 0.0 color_order = RGB [delayed_gcode setdisplayneopixel] initial_duration = 1 gcode = SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=0 GREEN=0 BLUE=1 INDEX=1 [gcode_macro _User_Variables] variable_verbose = True variable_debug = False variable_travel_speed = 100 variable_move_accel = 1000 variable_dock_speed = 50 variable_release_speed = 75 variable_z_drop_speed = 20 variable_safe_z = 25 variable_enable_z_hop = True variable_max_bed_y = 290 variable_max_bed_x = 290 variable_z_endstop_x = 203 variable_z_endstop_y = 299 variable_docklocation_x = 67 variable_docklocation_y = 294 variable_docklocation_z = -128 variable_enable_dock_servo = False variable_servo_name = 'NAME' variable_servo_deploy = 10 variable_servo_retract = 11 variable_servo_delay = 250 variable_dockmove_x = 40 variable_dockmove_y = 0 variable_dockmove_z = 0 variable_attachmove_x = 0 variable_attachmove_y = 30 variable_attachmove_z = 0 variable_umbilical = False variable_umbilical_x = 15 variable_umbilical_y = 15 variable_park_toolhead = False variable_parkposition_x = 125 variable_parkposition_y = 125 variable_parkposition_z = 30 variable_version = 1 variable_attachmove2_x = 0 variable_attachmove2_y = 0 variable_attachmove2_z = 0 variable_home_backoff_x = 10 variable_home_backoff_y = 10 variable_override_homing = '' variable_dock_on_zhome = True gcode = {% set Mx = printer['configfile'].config["stepper_x"]["position_max"]|float %} {% set My = printer['configfile'].config["stepper_y"]["position_max"]|float %} {% set Ox = printer['configfile'].config["probe"]["x_offset"]|float %} {% set Oy = printer['configfile'].config["probe"]["y_offset"]|float %} {% set Oz = printer['configfile'].config["probe"]["z_offset"]|float %} {% if z_endstop_x != 0 or z_endstop_y != 0 %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ z_endstop_x } SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ z_endstop_y } {% else %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ (Mx * 0.5) - Ox } SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ (My * 0.5) - Oy } {% endif %} [respond] [gcode_macro _Probe_Variables] variable_probe_attached = False variable_probe_state = False variable_probe_lock = False variable_z_endstop_x = 0 variable_z_endstop_y = 0 gcode = [gcode_macro _klicky_check_variables_version] gcode = {% set version = printer["gcode_macro _User_Variables"].version|default(0) %} {% if version != 1 %} { action_raise_error("Please update your klicky variables, there are some functionality changes") } {% endif %} [gcode_macro _KlickyDebug] gcode = {% set message = params.MSG %} {% set debug = printer["gcode_macro _User_Variables"].debug|default(False) %} {% if debug %} { action_respond_info(message) } {% endif %} [gcode_macro _exit_point] gcode = {% set function = 'pre_' ~ params.FUNCTION %} {% set move = params.MOVE|default(0) %} {% set speed = printer["gcode_macro _User_Variables"].travel_speed %} M400 SET_VELOCITY_LIMIT ACCEL={printer.configfile.settings.printer.max_accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel} RESTORE_GCODE_STATE NAME={function} MOVE={move} MOVE_SPEED={speed} [gcode_macro _entry_point] gcode = {% set function = 'pre_' ~ params.FUNCTION %} {% set move_accel = printer["gcode_macro _User_Variables"].move_accel|default(1000) %} M400 SAVE_GCODE_STATE NAME={function} SET_GCODE_OFFSET Z=0 G90 SET_VELOCITY_LIMIT ACCEL={move_accel} [gcode_macro _Homing_Variables] gcode = {% set reset = params.RESET|default(0) %} {% if reset %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ False } {% endif %} [gcode_macro Attach_Probe_Lock] description = Attaches Klicky Probe, can only be docked after unlocking gcode = Attach_Probe _Probe_Lock [gcode_macro Dock_Probe_Unlock] description = Docks Klicky Probe even if it was locked gcode = _Probe_Unlock Dock_Probe [gcode_macro _Probe_Unlock] description = Unlocks Klicky Probe state gcode = _KlickyDebug msg="_Probe_Lock setting probe_lock variable to False" SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ False } [gcode_macro _Probe_Lock] description = Locks Klicky Probe state gcode = _KlickyDebug msg="_Probe_Lock setting probe_lock variable to True" SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ True } [gcode_macro _DeployKlickyDock] description = Deploys Klicky servo-controlled dock gcode = {% set enable_dock_servo = printer["gcode_macro _User_Variables"].enable_dock_servo|default(False) %} {% set servo_delay = printer["gcode_macro _User_Variables"].servo_delay|default(1000) %} {% set servo_name = printer["gcode_macro _User_Variables"].servo_name %} {% set servo_deploy = printer["gcode_macro _User_Variables"].servo_deploy|default(360) %} M400 {% if enable_dock_servo != False %} _KlickyDebug msg="_DeployKlickyDock Klicky servo configuration enabled" {% if servo_deploy == 360 %} { action_raise_error("Klicky: servo active on klicky-variables, but no servo deploy angle specified") } {% endif %} _KlickyDebug msg="_DeployKlickyDock SET_SERVO SERVO={servo_name|string} ANGLE={servo_deploy|int}" SET_SERVO SERVO={servo_name|string} ANGLE={servo_deploy|int} M400 G4 P{servo_delay|int} _KlickyDebug msg="_DeployKlickyDock SET_SERVO SERVO={servo_name|string} WIDTH=0" SET_SERVO SERVO={servo_name|string} WIDTH=0 {% elif printer["gcode_macro _DeployDock"] is defined %} _KlickyDebug msg="_DeployKlickyDock calling _DeployDock" _DeployDock {% endif %} [gcode_macro _RetractKlickyDock] description = Retracts Klicky servo-controlled dock gcode = {% set enable_dock_servo = printer["gcode_macro _User_Variables"].enable_dock_servo|default(False) %} {% set servo_delay = printer["gcode_macro _User_Variables"].servo_delay|default(1000) %} {% set servo_name = printer["gcode_macro _User_Variables"].servo_name %} {% set servo_retract = printer["gcode_macro _User_Variables"].servo_retract|default(360) %} M400 {% if enable_dock_servo != False %} _KlickyDebug msg="_RetractKlickyDock Klicky servo configuration enabled" {% if servo_retract == 360 %} { action_raise_error("Klicky: servo active on klicky-variables, but no servo retract angle specified") } {% endif %} _KlickyDebug msg="_RetractKlickyDock SET_SERVO SERVO={servo_name|string} ANGLE={servo_retract|int}" SET_SERVO SERVO={servo_name|string} ANGLE={servo_retract|int} M400 G4 P{servo_delay|int} _KlickyDebug msg="_RetractKlickyDock SET_SERVO SERVO={servo_name|string} WIDTH=0" SET_SERVO SERVO={servo_name|string} WIDTH=0 {% elif printer["gcode_macro _RetractDock"] is defined %} _KlickyDebug msg="_RetractKlickyDock calling _RetractDock" _RetractDock {% endif %} [gcode_macro Attach_Probe] description = Attaches Klicky Probe gcode = {% set goback = params.BACK|default(0) %} {% set probe_attached = printer["gcode_macro _Probe_Variables"].probe_attached %} {% set probe_lock = printer["gcode_macro _Probe_Variables"].probe_lock %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set dockmove_x = printer["gcode_macro _User_Variables"].dockmove_x|default(0) %} {% set dockmove_y = printer["gcode_macro _User_Variables"].dockmove_y|default(0) %} {% set dockmove_z = printer["gcode_macro _User_Variables"].dockmove_z|default(0) %} {% set docklocation_x = printer["gcode_macro _User_Variables"].docklocation_x %} {% set docklocation_y = printer["gcode_macro _User_Variables"].docklocation_y %} {% set docklocation_z = printer["gcode_macro _User_Variables"].docklocation_z %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set attachmove2_x = printer["gcode_macro _User_Variables"].attachmove2_x|default(0) %} {% set attachmove2_y = printer["gcode_macro _User_Variables"].attachmove2_y|default(0) %} {% set attachmove2_z = printer["gcode_macro _User_Variables"].attachmove2_z|default(0) %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z %} {% set enable_z_hop = printer["gcode_macro _User_Variables"].enable_z_hop %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set dock_feedrate = printer["gcode_macro _User_Variables"].dock_speed * 60 %} {% set release_feedrate = printer["gcode_macro _User_Variables"].release_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} _entry_point function=Attach_Probe {% if not 'xy' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X and Y Axis First!") } _KlickyDebug msg="Attach_Probe Axis homed" {% elif not probe_attached and not probe_lock %} _KlickyDebug msg="Attach_Probe going to attach probe" {% if verbose %} { action_respond_info("Attaching Probe") } {% endif %} _KLICKY_STATUS_BUSY {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero") } {% endif %} _KlickyDebug msg="Attach_Probe Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% if not enable_z_hop %} _KlickyDebug msg="Attach_Probe z_hop disabled" {% set safe_z = 0 %} {% endif %} {% endif %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Attach_Probe toolhead too low, raising it by {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero, duplicate?") } {% endif %} _KlickyDebug msg="Attach_Probe Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% endif %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Attach_Probe toolhead too low, raising it by {safe_z}mm, duplicate?" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Umbilical_Path _entry_point function=Attach_Probe_intern _KlickyDebug msg="Attach_Probe moving near the dock with G0 X{docklocation_x|int - attachmove_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove_y|int - attachmove2_y} F{travel_feedrate}" G0 X{docklocation_x|int - attachmove_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove_y|int - attachmove2_y} F{travel_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int - attachmove2_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int - attachmove2_z|int} F{dock_feedrate} _KlickyDebug msg="Attach_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate} {% endif %} _DeployKlickyDock {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 Z{docklocation_z} F{dock_feedrate}" G0 Z{docklocation_z} F{dock_feedrate} {% endif %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 X{docklocation_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove2_y} F{dock_feedrate}" G0 X{docklocation_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove2_y} F{dock_feedrate} _KlickyDebug msg="Attach_Probe moving to the dock with G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate}" G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving from the dock to G0 Z{docklocation_z|int - attachmove_z|int} F{z_drop_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{z_drop_feedrate} {% endif %} _KlickyDebug msg="Attach_Probe moving from the dock to G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{release_feedrate} _RetractKlickyDock {% if ((printer.toolhead.position.z < safe_z) or (docklocation_z != -128 and docklocation_z < safe_z ))%} _KlickyDebug msg="Attach_Probe moving to a safe Z position: G0 Z{safe_z} F{z_drop_feedrate} from {printer.toolhead.position.z}" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Park_Toolhead _CheckProbe action=attach _exit_point function=Attach_Probe_intern move={goback} _KLICKY_STATUS_READY {% elif probe_lock %} {% if verbose %} { action_respond_info("Probe locked!") } {% endif %} _KlickyDebug msg="Attach_Probe probe locked not attaching probe" _CheckProbe action=query {% else %} {% if verbose %} { action_respond_info("Probe already attached!") } {% endif %} _KlickyDebug msg="Attach_Probe probe already attached, doing nothing" _CheckProbe action=query {% endif %} _exit_point function=Attach_Probe [gcode_macro Dock_Probe] description = Docks Klicky Probe gcode = {% set goback = params.back|default(0) %} {% set probe_attached = printer["gcode_macro _Probe_Variables"].probe_attached %} {% set probe_lock = printer["gcode_macro _Probe_Variables"].probe_lock %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set dockmove_x = printer["gcode_macro _User_Variables"].dockmove_x|default(0) %} {% set dockmove_y = printer["gcode_macro _User_Variables"].dockmove_y|default(0) %} {% set dockmove_z = printer["gcode_macro _User_Variables"].dockmove_z|default(0) %} {% set docklocation_x = printer["gcode_macro _User_Variables"].docklocation_x %} {% set docklocation_y = printer["gcode_macro _User_Variables"].docklocation_y %} {% set docklocation_z = printer["gcode_macro _User_Variables"].docklocation_z %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set dock_feedrate = printer["gcode_macro _User_Variables"].dock_speed * 60 %} {% set release_feedrate = printer["gcode_macro _User_Variables"].release_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="Dock_Probe Axis homed" _entry_point function=Dock_Probe {% if probe_attached and not probe_lock %} _KlickyDebug msg="Dock_Probe going to dock probe" {% if verbose %} { action_respond_info("Docking Probe") } {% endif %} _KLICKY_STATUS_BUSY {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Dock_Probe toolhead too low, raising it to {safe_z}mm" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Umbilical_Path _KlickyDebug msg="Dock_Probe moving near the dock with G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{travel_feedrate}" G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{travel_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Dock_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate} {% endif %} _DeployKlickyDock _KlickyDebug msg="Dock_Probe moving to the dock with G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate}" G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 Z{docklocation_z} F{dock_feedrate}" G0 Z{docklocation_z} F{dock_feedrate} {% endif %} {% if docklocation_z != -128 %} _KlickyDebug msg="Dock_Probe moving from the dock to G0 Z{docklocation_z|int + dockmove_z|int} F{release_feedrate}" G0 Z{docklocation_z|int + dockmove_z|int} F{release_feedrate} {% endif %} _KlickyDebug msg="Dock_Probe moving from the dock to G0 X{docklocation_x|int + dockmove_x|int} Y{docklocation_y|int + dockmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int + dockmove_x|int} Y{docklocation_y|int + dockmove_y|int} F{release_feedrate} _RetractKlickyDock _KlickyDebug msg="Dock_Probe moving away from the dock to G0 X{docklocation_x|int + dockmove_x|int - attachmove_x|int} Y{docklocation_y|int + dockmove_y|int - attachmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int + dockmove_x|int - attachmove_x|int} Y{docklocation_y|int + dockmove_y|int - attachmove_y|int} F{release_feedrate} {% if ((printer.toolhead.position.z < safe_z) or (docklocation_z != -128 and docklocation_z < safe_z ))%} _KlickyDebug msg="Dock_Probe moving to a safe Z position: G0 Z{safe_z} F{z_drop_feedrate} from {printer.toolhead.position.z}" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Park_Toolhead G4 P1000 _CheckProbe action=dock _KLICKY_STATUS_READY {% elif probe_lock %} {% if verbose %} { action_respond_info("Probe locked") } {% endif %} _KlickyDebug msg="Dock_Probe probe locked not docking probe" _CheckProbe action=query {% else %} {% if verbose %} { action_respond_info("Probe already docked") } {% endif %} _KlickyDebug msg="Dock_Probe probe already docked, doing nothing" _CheckProbe action=query {% endif %} _exit_point function=Dock_Probe move={goback} [gcode_macro PROBE_CALIBRATE] rename_existing = _PROBE_CALIBRATE description = Calibrate the probes z_offset with klicky automount gcode = {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set max_x = printer["gcode_macro _User_Variables"].max_bed_x|float %} {% set max_y = printer["gcode_macro _User_Variables"].max_bed_y|float %} {% set probe_offset_x = printer['configfile'].config["probe"]["x_offset"]|float %} {% set probe_offset_y = printer['configfile'].config["probe"]["y_offset"]|float %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="probe_calibrate Axis homed" _KlickyDebug msg="probe_calibrate Variables max_x={max_x},max_y={max_y},probe_offset_x={probe_offset_x},probe_offset_y={probe_offset_y}" {% if printer['gcode_move'].position.y > (max_y - probe_offset_y) or printer['gcode_move'].position.y < - probe_offset_y or printer['gcode_move'].position.x > (max_x - probe_offset_x) or printer['gcode_move'].position.x < - probe_offset_x %} { action_raise_error("Must perform PROBE_CALIBRATE with the probe above the BED, check klicky_variables bed size!") } {% endif%} _CheckProbe action=query G90 Attach_Probe back=1 _KLICKY_STATUS_CALIBRATING_Z _KlickyDebug msg="probe_calibrate calling klipper probe_calibrate" _PROBE_CALIBRATE {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} M118 moving the toolhead 20 mm from the bed _KlickyDebug msg="probe_calibrate Moving Z up by 20mm" TESTZ Z=20 M118 remove manually the probe and continue calibration _KLICKY_STATUS_READY [gcode_macro PROBE_ACCURACY] rename_existing = _PROBE_ACCURACY description = Probe Z-height accuracy at current XY position with klicky automount gcode = {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set max_x = printer["gcode_macro _User_Variables"].max_bed_x|float %} {% set max_y = printer["gcode_macro _User_Variables"].max_bed_y|float %} {% set probe_offset_x = printer['configfile'].config["probe"]["x_offset"]|float %} {% set probe_offset_y = printer['configfile'].config["probe"]["y_offset"]|float %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="probe_accuracy Axis homed" _KlickyDebug msg="probe_accuracy Variables max_x={max_x},max_y={max_y},probe_offset_x={probe_offset_x},probe_offset_y={probe_offset_y}" _entry_point function=PROBE_ACCURACY {% if printer['gcode_move'].position.y > (max_y - probe_offset_y) or printer['gcode_move'].position.y < - probe_offset_y or printer['gcode_move'].position.x > (max_x - probe_offset_x) or printer['gcode_move'].position.x < - probe_offset_x %} { action_raise_error("Must perform PROBE_ACCURACY with the probe above the BED, check klicky_variables bed size!") } {% endif%} _CheckProbe action=query Attach_Probe back=1 _KlickyDebug msg="probe_accuracy calling klipper probe accuracy" _PROBE_ACCURACY {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe back=1 _exit_point function=PROBE_ACCURACY move=1 [force_move] enable_force_move = True [homing_override] axes = xyz gcode = _User_Variables {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z %} {% set enable_z_hop = printer["gcode_macro _User_Variables"].enable_z_hop %} {% set kinematic_z = 0 %} {% set dock_on_zhome = printer["gcode_macro _User_Variables"].dock_on_zhome|default(True) %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set home_backoff_x = printer["gcode_macro _User_Variables"].home_backoff_x|default(0) %} {% set home_backoff_y = printer["gcode_macro _User_Variables"].home_backoff_y|default(0) %} {% set override_homing = printer["gcode_macro _User_Variables"].override_homing|default('') %} _klicky_check_variables_version _CheckProbe action=query {% set home_x, home_y, home_z, leave_probe_attached = False, False, False, False %} {% if 'PROBE_LOCK' in params%} {% if verbose %} { action_respond_info("PROBE_LOCK = True") } {% endif %} {% set leave_probe_attached = True %} {% endif %} {% if not 'X' in params and not 'Y' in params and not 'Z' in params %} {% set home_x, home_y, home_z = True, True, True %} _KlickyDebug msg="homing_override goint to home all axes" {% else %} {% if 'X' in params %} {% set home_x = True %} _KlickyDebug msg="homing_override goint to home X" {% endif %} {% if 'Y' in params %} {% set home_y = True %} _KlickyDebug msg="homing_override goint to home Y" {% endif %} {% if 'Z' in params %} {% set home_z = True %} _KlickyDebug msg="homing_override goint to home Z" {% endif %} {% if 'X' in params and 'Y' in params and 'Z' in params %} _Homing_Variables reset=1 _KlickyDebug msg="homing_override goint to home all axes" {% endif %} {% endif %} _entry_point function=homing_override _KLICKY_STATUS_HOMING {% if 'z' not in printer.toolhead.homed_axes %} {% if not enable_z_hop %} _KlickyDebug msg="homing_override z_hop disabled" {% set kinematic_z = safe_z %} {% set safe_z = 0 %} {% endif %} {% endif %} {% if home_z %} {% if 'z' in printer.toolhead.homed_axes %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="homing_override toolhead too low, with homed axes, raising it to {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% else %} {% if verbose %} { action_respond_info("Z not homed, forcing full G28") } {% endif %} _KlickyDebug msg="homing_override Z not homed, setting position as X=Y=0 Z={kinematic_z}" SET_KINEMATIC_POSITION X=0 Y=0 Z={kinematic_z} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="homing_override toolhead too low, raising it to {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% set home_x, home_y, home_z = True, True, True %} {% endif %} {% endif %} {% if ((attachmove_y == 0 and override_homing == '' ) or (override_homing == 'Y'))%} {% if home_y %} {% if override_homing == 'Y' %} _KlickyDebug msg="homing_override Y homing first override, due to override_homing = Y" {% else %} _KlickyDebug msg="homing_override Y homing first override, due to attachmove_y = 0" {% endif %} {% if verbose %} { action_respond_info("Homing Y") } {% endif %} {% if printer["gcode_macro _HOME_Y"] is defined %} _KlickyDebug msg="homing_override calling _HOME_Y external script to handle the Y homing" _HOME_Y {% else %} _KlickyDebug msg="homing_override Homing Y G28 Y0" G28 Y0 {% if home_backoff_y != 0 %} {% if (printer.configfile.settings.stepper_y.position_endstop > (printer.configfile.settings.stepper_y.position_min|default(0) + printer.configfile.settings.stepper_y.position_max)/2) %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop-home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% set home_y = False %} {% endif %} {% if home_x %} {% if verbose %} { action_respond_info("Homing X") } {% endif %} {% if printer["gcode_macro _HOME_X"] is defined %} _KlickyDebug msg="homing_override calling _HOME_X external script to handle the X homing" _HOME_X {% else %} _KlickyDebug msg="homing_override Homing X, G28 X0" G28 X0 {% if home_backoff_x != 0 %} {% if (printer.configfile.settings.stepper_x.position_endstop > (printer.configfile.settings.stepper_x.position_min|default(0) + printer.configfile.settings.stepper_x.position_max)/2) %} _KlickyDebug msg="homing_override backing off X endstop, G0 X{printer.configfile.settings.stepper_x.position_endstop - home_backoff_x|int} F{travel_feedrate}" G0 X{printer.configfile.settings.stepper_x.position_endstop - home_backoff_x|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off X endstop, G0 X{printer.configfile.settings.stepper_x.position_endstop + home_backoff_x|int} F{travel_feedrate}" G0 X{printer.configfile.settings.stepper_x.position_endstop + home_backoff_x|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% if home_y %} {% if verbose %} { action_respond_info("Homing Y") } {% endif %} {% if printer["gcode_macro _HOME_Y"] is defined %} _KlickyDebug msg="homing_override calling _HOME_Y external script to handle the Y homing" _HOME_Y {% else %} _KlickyDebug msg="homing_override Homing Y, G28 Y0" G28 Y0 {% if home_backoff_y != 0 %} {% if (printer.configfile.settings.stepper_y.position_endstop > (printer.configfile.settings.stepper_y.position_min|default(0) + printer.configfile.settings.stepper_y.position_max)/2) %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% if home_z %} {% if verbose %} { action_respond_info("Homing Z") } {% endif %} {% if printer['configfile'].config["stepper_z"]["endstop_pin"] == 'probe:z_virtual_endstop' %} _KlickyDebug msg="homing_override probe configured as a virtual Z endstop attaching probe" Attach_Probe {% if leave_probe_attached %} _Probe_Lock {% endif %} {% elif dock_on_zhome == True %} Dock_Probe {% endif %} _Home_Z {% if printer['configfile'].config["stepper_z"]["endstop_pin"] == 'probe:z_virtual_endstop' %} _KlickyDebug msg="homing_override probe no longer required, docking probe" Dock_Probe {% elif dock_on_zhome == False %} Dock_Probe {% endif %} {% endif %} _CheckProbe action=query _Park_Toolhead _exit_point function=homing_override _KLICKY_STATUS_READY [gcode_macro _Umbilical_Path] gcode = {% set umbilical = printer["gcode_macro _User_Variables"].umbilical %} {% set umbilical_x = printer["gcode_macro _User_Variables"].umbilical_x %} {% set umbilical_y = printer["gcode_macro _User_Variables"].umbilical_y %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% if umbilical %} _entry_point function=Umbilical_Path _KlickyDebug msg="_Umbilical_Path moving to G0 X{umbilical_x} Y{umbilical_y} Z{safe_z} F{travel_feedrate}" G0 X{umbilical_x} Y{umbilical_y} Z{safe_z} F{travel_feedrate} _exit_point function=Umbilical_Path {% endif %} [gcode_macro _Home_Z] gcode = {% set z_endstop_x = printer["gcode_macro _Probe_Variables"].z_endstop_x %} {% set z_endstop_y = printer["gcode_macro _Probe_Variables"].z_endstop_y %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} _entry_point function=Home_Z {% if not 'xy' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X and Y Axis First!") } {% else %} _KlickyDebug msg="_Home_Z XY Axis homed" {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero") } {% endif %} _KlickyDebug msg="_Home_Z Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% endif %} _KlickyDebug msg="_Home_Z moving to Z endstop position G0 X{z_endstop_x} Y{z_endstop_y} F{travel_feedrate}" G0 X{z_endstop_x} Y{z_endstop_y} F{travel_feedrate} _KlickyDebug msg="_Home_Z Homing Z G28 Z" G28 Z0 _KlickyDebug msg="_Home_Z toolhead too low, raising it to {safe_z}mm" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _exit_point function=Home_Z [gcode_macro _CheckProbe] variable_probe_state = 0 gcode = Query_Probe _SetProbeState action={ params.ACTION } [gcode_macro _SetProbeState] gcode = {% set query_probe_triggered = printer.probe.last_query %} {% set action = params.ACTION|default('') %} {% if query_probe_triggered %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_attached VALUE={ False } {% else %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_attached VALUE={ True } {% endif %} {% if action == 'query' %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_state VALUE={ query_probe_triggered } {% endif %} {% if not query_probe_triggered and action == 'dock' %} { action_raise_error("Probe dock failed!") } {% endif %} {% if query_probe_triggered and action == 'attach' %} { action_raise_error("Probe attach failed!") } {% endif %} [gcode_macro _Park_Toolhead] gcode = {% set park_toolhead = printer["gcode_macro _User_Variables"].park_toolhead %} {% set parkposition_x = printer["gcode_macro _User_Variables"].parkposition_x %} {% set parkposition_y = printer["gcode_macro _User_Variables"].parkposition_y %} {% set parkposition_z = printer["gcode_macro _User_Variables"].parkposition_z %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} _entry_point function=Park_Toolhead {% if park_toolhead and 'xyz' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Parking Toolhead") } {% endif %} {% if parkposition_z == -128 %} _KlickyDebug msg="_Park_Toolhead moving to G0 X{parkposition_x} Y{parkposition_y} F{travel_feedrate}" G0 X{parkposition_x} Y{parkposition_y} F{travel_feedrate} {% else %} _KlickyDebug msg="_Park_Toolhead moving to G0 X{parkposition_x} Y{parkposition_y} Z{parkposition_z} F{travel_feedrate}" G0 X{parkposition_x} Y{parkposition_y} Z{parkposition_z} F{travel_feedrate} {% endif %} {% endif %} _exit_point function=Park_Toolhead [gcode_macro _klicky_status_ready] gcode = {% if printer['gcode_macro status_ready'] is defined %} _KlickyDebug msg="_klicky_status_ready activating the LED STATUS_READY" STATUS_READY {% endif %} [gcode_macro _klicky_status_busy] gcode = {% if printer['gcode_macro status_busy'] is defined %} _KlickyDebug msg="_klicky_status_busy activating the LED STATUS_BUSY" STATUS_BUSY {% endif %} [gcode_macro _klicky_status_leveling] gcode = {% if printer['gcode_macro status_leveling'] is defined %} _KlickyDebug msg="_klicky_status_leveling activating the LED STATUS_LEVELING" STATUS_LEVELING {% endif %} [gcode_macro _klicky_status_homing] gcode = {% if printer['gcode_macro status_homing'] is defined %} _KlickyDebug msg="_klicky_status_homing activating the LED STATUS_HOMING" STATUS_HOMING {% endif %} [gcode_macro _klicky_status_cleaning] gcode = {% if printer['gcode_macro status_cleaning'] is defined %} _KlickyDebug msg="_klicky_status_cleaning activating the LED STATUS_CLEANING" STATUS_CLEANING {% endif %} [gcode_macro _klicky_status_meshing] gcode = {% if printer['gcode_macro status_meshing'] is defined %} _KlickyDebug msg="_klicky_status_meshing activating the LED STATUS_MESHING" STATUS_MESHING {% endif %} [gcode_macro _klicky_status_calibrating_z] gcode = {% if printer['gcode_macro status_calibrating_z'] is defined %} _KlickyDebug msg="_klicky_status_calibrating_z activating the LED STATUS_CALIBRATING_Z" STATUS_CALIBRATING_Z {% endif %} [gcode_macro BED_MESH_CALIBRATE] rename_existing = _BED_MESH_CALIBRATE description = Perform Mesh Bed Leveling with klicky automount gcode = {% set V = printer["gcode_macro _User_Variables"].verbose %} {% if V %} { action_respond_info("Bed Mesh Calibrate") } {% endif %} _CheckProbe action=query G90 Attach_Probe _KLICKY_STATUS_MESHING _BED_MESH_CALIBRATE {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe [gcode_macro QUAD_GANTRY_LEVEL] rename_existing = _QUAD_GANTRY_LEVEL description = Conform a moving, twistable gantry to the shape of a stationary bed with klicky automount gcode = {% set V = printer["gcode_macro _User_Variables"].verbose %} {% if V %} { action_respond_info("QG Level") } {% endif %} _CheckProbe action=query G90 Attach_Probe _KLICKY_STATUS_LEVELING _QUAD_GANTRY_LEVEL {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe [bed_mesh] speed = 300 horizontal_move_z = 10 mesh_min = 40, 40 mesh_max = 260,260 fade_start = 0.6 fade_end = 10.0 probe_count = 5,5 algorithm = bicubic relative_reference_index = 12 [gcode_macro G32] gcode = G28 QUAD_GANTRY_LEVEL G28 G0 X150 Y150 Z30 F3600 [gcode_macro PRINT_START] gcode = G32 G0 X150 Y150 Z30 F3600 [gcode_macro PRINT_END] gcode = {% set th = printer.toolhead %} {% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %} {% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %} {% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %} SAVE_GCODE_STATE NAME=STATE_PRINT_END M400 G92 E0 G1 E-5.0 F1800 TURN_OFF_HEATERS G90 G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 M107 BED_MESH_CLEAR RESTORE_GCODE_STATE NAME=STATE_PRINT_END ======================= Extruder max_extrude_ratio=0.266081 mcu 'mcu': Starting serial connect webhooks client 3045975664: New connection webhooks client 3045975664: Client info {'program': 'Moonraker', 'version': 'v0.7.1-771-ge628b24'} Loaded MCU 'mcu' 105 commands (v0.10.0-546-ga709ba43 / gcc: (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] binutils: (2.31.1-11+rpi1+11) 2.31.1) MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1 mcu_temperature 'mcu' nominal base=-264.375000 slope=1279.687500 Sending MCU 'mcu' printer configuration... Configured MCU 'mcu' (1024 moves) Starting heater checks for heater_bed bed_mesh: generated points Index | Tool Adjusted | Probe 0 | (40.0, 15.0) | (40.0, 40.0) 1 | (95.0, 15.0) | (95.0, 40.0) 2 | (150.0, 15.0) | (150.0, 40.0) 3 | (205.0, 15.0) | (205.0, 40.0) 4 | (260.0, 15.0) | (260.0, 40.0) 5 | (260.0, 70.0) | (260.0, 95.0) 6 | (205.0, 70.0) | (205.0, 95.0) 7 | (150.0, 70.0) | (150.0, 95.0) 8 | (95.0, 70.0) | (95.0, 95.0) 9 | (40.0, 70.0) | (40.0, 95.0) 10 | (40.0, 125.0) | (40.0, 150.0) 11 | (95.0, 125.0) | (95.0, 150.0) 12 | (150.0, 125.0) | (150.0, 150.0) 13 | (205.0, 125.0) | (205.0, 150.0) 14 | (260.0, 125.0) | (260.0, 150.0) 15 | (260.0, 180.0) | (260.0, 205.0) 16 | (205.0, 180.0) | (205.0, 205.0) 17 | (150.0, 180.0) | (150.0, 205.0) 18 | (95.0, 180.0) | (95.0, 205.0) 19 | (40.0, 180.0) | (40.0, 205.0) 20 | (40.0, 235.0) | (40.0, 260.0) 21 | (95.0, 235.0) | (95.0, 260.0) 22 | (150.0, 235.0) | (150.0, 260.0) 23 | (205.0, 235.0) | (205.0, 260.0) 24 | (260.0, 235.0) | (260.0, 260.0) bed_mesh: relative_reference_index 12 is (150.00, 150.00) Starting heater checks for extruder Stats 4034.2: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=3623 bytes_read=6737 bytes_retransmit=9 bytes_invalid=0 send_seq=300 receive_seq=300 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=3152 freq=180009483 heater_bed: target=0 temp=0.0 pwm=0.000 chamber_temp: temp=0.0 raspberry_pi: temp=51.6 mcu_temp: temp=0.0 sysload=0.22 cputime=113.778 memavail=1496744 print_time=0.001 buffer_time=0.000 print_stall=0 extruder: target=0 temp=0.0 pwm=0.000 webhooks: registering remote method 'shutdown_machine' for connection id: 3045975664 webhooks: registering remote method 'reboot_machine' for connection id: 3045975664 webhooks: registering remote method 'pause_job_queue' for connection id: 3045975664 webhooks: registering remote method 'start_job_queue' for connection id: 3045975664 Stats 4035.2: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=7089 bytes_read=7142 bytes_retransmit=9 bytes_invalid=0 send_seq=362 receive_seq=362 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180003991 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=35.7 sysload=0.22 cputime=113.850 memavail=1496568 print_time=0.001 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4036.2: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=7664 bytes_read=7432 bytes_retransmit=9 bytes_invalid=0 send_seq=375 receive_seq=375 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002575 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.22 cputime=113.941 memavail=1496200 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4037.2: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000017 mcu_task_stddev=0.000038 bytes_write=8084 bytes_read=7697 bytes_retransmit=9 bytes_invalid=0 send_seq=384 receive_seq=384 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180003889 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.6 sysload=0.22 cputime=114.004 memavail=1495804 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4038.2: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000017 mcu_task_stddev=0.000038 bytes_write=8090 bytes_read=7905 bytes_retransmit=9 bytes_invalid=0 send_seq=385 receive_seq=385 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180004041 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.7 sysload=0.20 cputime=114.028 memavail=1495860 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4039.2: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000017 mcu_task_stddev=0.000038 bytes_write=8096 bytes_read=8127 bytes_retransmit=9 bytes_invalid=0 send_seq=386 receive_seq=386 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180003174 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.20 cputime=114.058 memavail=1495856 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4040.2: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000017 mcu_task_stddev=0.000038 bytes_write=8102 bytes_read=8335 bytes_retransmit=9 bytes_invalid=0 send_seq=387 receive_seq=387 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002690 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.5 sysload=0.20 cputime=114.087 memavail=1495204 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4041.2: gcodein=0 mcu: mcu_awake=0.019 mcu_task_avg=0.000017 mcu_task_stddev=0.000038 bytes_write=8108 bytes_read=8543 bytes_retransmit=9 bytes_invalid=0 send_seq=388 receive_seq=388 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002432 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.6 sysload=0.20 cputime=114.117 memavail=1495336 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4042.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8114 bytes_read=8779 bytes_retransmit=9 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002172 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.20 cputime=114.147 memavail=1495272 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4043.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8120 bytes_read=8987 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001844 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.6 sysload=0.27 cputime=114.166 memavail=1495120 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4044.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8126 bytes_read=9195 bytes_retransmit=9 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002599 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.6 sysload=0.27 cputime=114.196 memavail=1495248 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4045.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8132 bytes_read=9417 bytes_retransmit=9 bytes_invalid=0 send_seq=392 receive_seq=392 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002336 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.27 cputime=114.228 memavail=1495208 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4046.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8138 bytes_read=9625 bytes_retransmit=9 bytes_invalid=0 send_seq=393 receive_seq=393 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002604 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.27 cputime=114.258 memavail=1495312 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4047.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8144 bytes_read=9847 bytes_retransmit=9 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002321 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.6 sysload=0.27 cputime=114.289 memavail=1495416 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4048.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8150 bytes_read=10069 bytes_retransmit=9 bytes_invalid=0 send_seq=395 receive_seq=395 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180002045 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.5 sysload=0.25 cputime=114.308 memavail=1495248 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4049.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8156 bytes_read=10277 bytes_retransmit=9 bytes_invalid=0 send_seq=396 receive_seq=396 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001911 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.25 cputime=114.338 memavail=1495320 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4050.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8162 bytes_read=10485 bytes_retransmit=9 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001779 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.25 cputime=114.367 memavail=1494828 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4051.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8168 bytes_read=10707 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001698 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.5 sysload=0.25 cputime=114.398 memavail=1494828 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4052.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8174 bytes_read=10929 bytes_retransmit=9 bytes_invalid=0 send_seq=399 receive_seq=399 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001621 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.2 mcu_temp: temp=34.6 sysload=0.25 cputime=114.428 memavail=1494812 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4053.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8180 bytes_read=11137 bytes_retransmit=9 bytes_invalid=0 send_seq=400 receive_seq=400 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001510 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.5 sysload=0.22 cputime=114.447 memavail=1494836 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4054.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8186 bytes_read=11359 bytes_retransmit=9 bytes_invalid=0 send_seq=401 receive_seq=401 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001550 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.22 cputime=114.478 memavail=1494836 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4055.2: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8192 bytes_read=11562 bytes_retransmit=9 bytes_invalid=0 send_seq=402 receive_seq=402 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001507 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.5 sysload=0.22 cputime=114.508 memavail=1494836 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4056.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8198 bytes_read=11756 bytes_retransmit=9 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001453 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.6 sysload=0.22 cputime=114.540 memavail=1494836 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4057.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8204 bytes_read=11989 bytes_retransmit=9 bytes_invalid=0 send_seq=404 receive_seq=404 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001414 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.6 sysload=0.22 cputime=114.572 memavail=1494836 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4058.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8210 bytes_read=12197 bytes_retransmit=9 bytes_invalid=0 send_seq=405 receive_seq=405 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001351 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.21 cputime=114.594 memavail=1494836 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4059.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8216 bytes_read=12405 bytes_retransmit=9 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001338 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.21 cputime=114.626 memavail=1494836 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4060.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8222 bytes_read=12627 bytes_retransmit=9 bytes_invalid=0 send_seq=407 receive_seq=407 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001321 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.7 sysload=0.21 cputime=114.658 memavail=1495352 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4061.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8234 bytes_read=12851 bytes_retransmit=9 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001318 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.21 cputime=114.691 memavail=1495352 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4062.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8240 bytes_read=13073 bytes_retransmit=9 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001278 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.5 sysload=0.21 cputime=114.723 memavail=1495352 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4063.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8246 bytes_read=13295 bytes_retransmit=9 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001260 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.19 cputime=114.745 memavail=1495352 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4064.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8252 bytes_read=13503 bytes_retransmit=9 bytes_invalid=0 send_seq=412 receive_seq=412 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001254 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.5 sysload=0.19 cputime=114.776 memavail=1495352 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4065.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8258 bytes_read=13711 bytes_retransmit=9 bytes_invalid=0 send_seq=413 receive_seq=413 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001260 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.19 cputime=114.807 memavail=1495352 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4066.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8264 bytes_read=13933 bytes_retransmit=9 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001249 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.2 mcu_temp: temp=34.5 sysload=0.19 cputime=114.839 memavail=1495352 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4067.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8270 bytes_read=14155 bytes_retransmit=9 bytes_invalid=0 send_seq=415 receive_seq=415 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001242 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.4 sysload=0.19 cputime=114.870 memavail=1495360 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4068.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8276 bytes_read=14363 bytes_retransmit=9 bytes_invalid=0 send_seq=416 receive_seq=416 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001234 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.19 cputime=114.892 memavail=1495360 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4069.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8282 bytes_read=14585 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001230 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.17 cputime=114.923 memavail=1495360 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4070.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8288 bytes_read=14793 bytes_retransmit=9 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001220 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.17 cputime=114.952 memavail=1496040 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4071.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8294 bytes_read=15001 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001219 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.17 cputime=114.983 memavail=1496056 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4072.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8300 bytes_read=15237 bytes_retransmit=9 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001213 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.17 cputime=115.013 memavail=1495996 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4073.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8306 bytes_read=15445 bytes_retransmit=9 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001201 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.5 sysload=0.17 cputime=115.041 memavail=1495996 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4074.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8312 bytes_read=15653 bytes_retransmit=9 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001200 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=49.7 mcu_temp: temp=34.4 sysload=0.16 cputime=115.071 memavail=1495996 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4075.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8318 bytes_read=15875 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001204 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.7 sysload=0.16 cputime=115.101 memavail=1495996 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4076.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8324 bytes_read=16083 bytes_retransmit=9 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001198 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.16 cputime=115.132 memavail=1495996 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4077.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8330 bytes_read=16305 bytes_retransmit=9 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001196 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.16 cputime=115.160 memavail=1495996 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4078.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8336 bytes_read=16527 bytes_retransmit=9 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001190 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.5 sysload=0.16 cputime=115.182 memavail=1496016 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4079.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8342 bytes_read=16727 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001188 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.23 cputime=115.203 memavail=1490476 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4080.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8348 bytes_read=16922 bytes_retransmit=9 bytes_invalid=0 send_seq=428 receive_seq=428 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001171 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.23 cputime=115.224 memavail=1486288 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4081.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8354 bytes_read=17144 bytes_retransmit=9 bytes_invalid=0 send_seq=429 receive_seq=429 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001165 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.6 mcu_temp: temp=34.6 sysload=0.23 cputime=115.247 memavail=1482688 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4082.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8360 bytes_read=17366 bytes_retransmit=9 bytes_invalid=0 send_seq=430 receive_seq=430 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001153 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.23 cputime=115.266 memavail=1491700 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4083.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8366 bytes_read=17574 bytes_retransmit=9 bytes_invalid=0 send_seq=431 receive_seq=431 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001146 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.23 cputime=115.285 memavail=1480772 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4084.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8372 bytes_read=17796 bytes_retransmit=9 bytes_invalid=0 send_seq=432 receive_seq=432 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001165 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.29 cputime=115.303 memavail=1468472 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4085.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8378 bytes_read=18004 bytes_retransmit=9 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001172 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.6 sysload=0.29 cputime=115.322 memavail=1459108 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4086.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8384 bytes_read=18212 bytes_retransmit=9 bytes_invalid=0 send_seq=434 receive_seq=434 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001162 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.6 sysload=0.29 cputime=115.341 memavail=1451188 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4087.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8390 bytes_read=18448 bytes_retransmit=9 bytes_invalid=0 send_seq=435 receive_seq=435 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001152 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.6 mcu_temp: temp=34.5 sysload=0.29 cputime=115.360 memavail=1487824 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4088.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8396 bytes_read=18656 bytes_retransmit=9 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001151 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.29 cputime=115.380 memavail=1491500 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4089.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8402 bytes_read=18864 bytes_retransmit=9 bytes_invalid=0 send_seq=437 receive_seq=437 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001146 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.5 sysload=0.35 cputime=115.397 memavail=1487840 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4090.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8408 bytes_read=19086 bytes_retransmit=9 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001145 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.5 sysload=0.35 cputime=115.421 memavail=1491264 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4091.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8414 bytes_read=19294 bytes_retransmit=9 bytes_invalid=0 send_seq=439 receive_seq=439 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001155 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.35 cputime=115.442 memavail=1491236 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4092.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8420 bytes_read=19516 bytes_retransmit=9 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001156 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.6 mcu_temp: temp=34.7 sysload=0.35 cputime=115.465 memavail=1486956 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4093.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8426 bytes_read=19738 bytes_retransmit=9 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001153 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.6 mcu_temp: temp=34.6 sysload=0.35 cputime=115.483 memavail=1491928 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 4094.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8432 bytes_read=19946 bytes_retransmit=9 bytes_invalid=0 send_seq=442 receive_seq=442 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001159 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.40 cputime=115.509 memavail=1492688 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 4095.3: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8438 bytes_read=20154 bytes_retransmit=9 bytes_invalid=0 send_seq=443 receive_seq=443 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001157 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.40 cputime=115.541 memavail=1492688 print_time=3.843 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Starting Klippy... Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/klipper_config/printer.cfg', '-l', '/home/pi/klipper_logs/klippy.log', '-a', '/tmp/klippy_uds'] Git version: 'v0.10.0-631-g8a065287' CPU: 4 core ARMv7 Processor rev 3 (v7l) Python: '3.7.3 (default, Jan 22 2021, 20:04:44) \n[GCC 8.3.0]' Start printer at Fri Nov 18 00:17:23 2022 (1668730643.0 26.3) ===== Config file ===== [virtual_sdcard] path = ~/gcode_files on_error_gcode = CANCEL_PRINT [pause_resume] [display_status] [gcode_macro CANCEL_PRINT] description = Cancel the actual running print rename_existing = CANCEL_PRINT_BASE variable_park = True gcode = {% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%} _TOOLHEAD_PARK_PAUSE_CANCEL {% endif %} TURN_OFF_HEATERS M106 S0 CANCEL_PRINT_BASE [gcode_macro PAUSE] description = Pause the actual running print rename_existing = PAUSE_BASE gcode = PAUSE_BASE _TOOLHEAD_PARK_PAUSE_CANCEL [gcode_macro RESUME] description = Resume the actual running print rename_existing = RESUME_BASE gcode = {% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %} {% if 'VELOCITY' in params|upper %} {% set get_params = ('VELOCITY=' + params.VELOCITY) %} {%else %} {% set get_params = "" %} {% endif %} {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} RESUME_BASE {get_params} [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] description = Helper: park toolhead used in PAUSE and CANCEL_PRINT variable_extrude = 1.0 gcode = {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} {% set z_park_delta = 2.0 %} {% set max_z = printer.toolhead.axis_maximum.z|float %} {% set act_z = printer.toolhead.position.z|float %} {% if act_z < (max_z - z_park_delta) %} {% set z_safe = z_park_delta %} {% else %} {% set z_safe = max_z - act_z %} {% endif %} {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E-{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} {% if "xyz" in printer.toolhead.homed_axes %} G91 G1 Z{z_safe} F900 G90 G1 X{x_park} Y{y_park} F6000 {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %} {% else %} {action_respond_info("Printer not homed")} {% endif %} [neopixel sb_leds] pin = PB0 chain_count = 3 color_order = GRBW initial_red = 1.0 initial_green = 0.0 initial_blue = 1.0 initial_white = 0.0 [gcode_macro _sb_vars] variable_colors = { 'logo': { 'busy': {'r': 0.4, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'cleaning': {'r': 0.0, 'g': 0.02, 'b': 0.5, 'w': 0.0}, 'calibrating_z': {'r': 0.8, 'g': 0., 'b': 0.35, 'w': 0.0}, 'heating': {'r': 0.3, 'g': 0.18, 'b': 0.0, 'w': 0.0}, 'homing': {'r': 0.0, 'g': 0.6, 'b': 0.2, 'w': 0.0}, 'leveling': {'r': 0.5, 'g': 0.1, 'b': 0.4, 'w': 0.0}, 'meshing': {'r': 0.2, 'g': 1.0, 'b': 0.0, 'w': 0.0}, 'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'printing': {'r': 1.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'standby': {'r': 0.01, 'g': 0.01, 'b': 0.01, 'w': 0.1}, }, 'nozzle': { 'heating': {'r': 1, 'g': 1, 'b': 1, 'w':0.0}, 'off': {'r': 0.0, 'g': 0.0, 'b': 0.0, 'w': 0.0}, 'on': {'r': 1, 'g': 1, 'b': 1, 'w':1.0}, 'standby': {'r': 1, 'g': 1, 'b': 1, 'w':0.0}, }, 'thermal': { 'hot': {'r': 1.0, 'g': 1.0, 'b': 1.0, 'w': 0.0}, 'cold': {'r': 0.3, 'g': 0.0, 'b': 0.3, 'w': 0.0} } } variable_logo_led_name = "sb_leds" variable_logo_idx = "1" variable_nozzle_led_name = "sb_leds" variable_nozzle_idx = "2,3" gcode = [gcode_macro _set_sb_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = params.LED|string %} {% set idx = (params.IDX|string).split(',') %} {% set transmit_last = params.TRANSMIT|default(1) %} {% for led_index in idx %} {% set transmit=transmit_last if loop.last else 0 %} set_led led={led} red={red} green={green} blue={blue} white={white} index={led_index} transmit={transmit} {% endfor %} [gcode_macro _set_sb_leds_by_name] gcode = {% set leds_name = params.LEDS %} {% set color_name = params.COLOR %} {% set color = printer["gcode_macro _sb_vars"].colors[leds_name][color_name] %} {% set led = printer["gcode_macro _sb_vars"][leds_name + "_led_name"] %} {% set idx = printer["gcode_macro _sb_vars"][leds_name + "_idx"] %} {% set transmit = params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={color.r} green={color.g} blue={color.b} white={color.w} idx="{idx}" transmit={transmit} [gcode_macro _set_logo_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = printer["gcode_macro _sb_vars"].logo_led_name %} {% set idx = printer["gcode_macro _sb_vars"].logo_idx %} {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit} [gcode_macro _set_nozzle_leds] gcode = {% set red = params.RED|default(0)|float %} {% set green = params.GREEN|default(0)|float %} {% set blue = params.BLUE|default(0)|float %} {% set white = params.WHITE|default(0)|float %} {% set led = printer["gcode_macro _sb_vars"].nozzle_led_name %} {% set idx = printer["gcode_macro _sb_vars"].nozzle_idx %} {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds led={led} red={red} green={green} blue={blue} white={white} idx="{idx}" transmit={transmit} [gcode_macro set_logo_leds_off] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_logo_leds red=0 blue=0 green=0 white=0 transmit={transmit} [gcode_macro set_nozzle_leds_on] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds_by_name leds="nozzle" color="on" transmit={transmit} [gcode_macro set_nozzle_leds_off] gcode = {% set transmit=params.TRANSMIT|default(1) %} _set_sb_leds_by_name leds="nozzle" color="off" transmit={transmit} [gcode_macro status_off] gcode = set_logo_leds_off transmit=0 set_nozzle_leds_off [gcode_macro status_ready] gcode = _set_sb_leds_by_name leds="logo" color="standby" transmit=0 _set_sb_leds_by_name leds="nozzle" color="standby" transmit=1 [gcode_macro status_busy] gcode = _set_sb_leds_by_name leds="logo" color="busy" transmit=0 set_nozzle_leds_on [gcode_macro status_heating] gcode = _set_sb_leds_by_name leds="logo" color="heating" transmit=0 _set_sb_leds_by_name leds="nozzle" color="heating" transmit=1 [gcode_macro status_leveling] gcode = _set_sb_leds_by_name leds="logo" color="leveling" transmit=0 set_nozzle_leds_on [gcode_macro status_homing] gcode = _set_sb_leds_by_name leds="logo" color="homing" transmit=0 set_nozzle_leds_on [gcode_macro status_cleaning] gcode = _set_sb_leds_by_name leds="logo" color="cleaning" transmit=0 set_nozzle_leds_on [gcode_macro status_meshing] gcode = _set_sb_leds_by_name leds="logo" color="meshing" transmit=0 set_nozzle_leds_on [gcode_macro status_calibrating_z] gcode = _set_sb_leds_by_name leds="logo" color="calibrating_z" transmit=0 set_nozzle_leds_on [gcode_macro status_printing] gcode = _set_sb_leds_by_name leds="logo" color="printing" transmit=0 set_nozzle_leds_on [z_calibration] nozzle_xy_position = 203, 299 switch_xy_position = 199, 275 bed_xy_position = 150, 150 switch_offset = .43 max_deviation = 1.0 speed = 50 probing_first_fast = false start_gcode = ATTACH_PROBE end_gcode = DOCK_PROBE [mcu] serial = /dev/serial/by-id/usb-Klipper_stm32f446xx_260032000A51373330333137-if00 restart_method = command [printer] kinematics = corexy max_velocity = 500 max_accel = 10000 max_z_velocity = 15 max_z_accel = 350 square_corner_velocity = 5.0 [stepper_x] step_pin = PF13 dir_pin = PF12 enable_pin = !PF14 rotation_distance = 40 microsteps = 32 full_steps_per_rotation = 400 endstop_pin = PG6 position_min = 0 position_endstop = 295 position_max = 295 homing_speed = 25 homing_retract_dist = 5 homing_positive_dir = true [tmc2209 stepper_x] uart_pin = PC4 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 0 [stepper_y] step_pin = PG0 dir_pin = PG1 enable_pin = !PF15 rotation_distance = 40 microsteps = 32 full_steps_per_rotation = 400 endstop_pin = PG9 position_min = 0 position_endstop = 300 position_max = 300 homing_speed = 25 homing_retract_dist = 5 homing_positive_dir = true [tmc2209 stepper_y] uart_pin = PD11 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 0 [stepper_z] step_pin = PF11 dir_pin = PG3 enable_pin = !PG5 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 endstop_pin = PG10 position_max = 260 position_min = -5 homing_speed = 8 second_homing_speed = 3 homing_retract_dist = 3 position_endstop = -0.580 [tmc2209 stepper_z] uart_pin = PC6 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z1] step_pin = PG4 dir_pin = !PC1 enable_pin = !PA0 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z1] uart_pin = PC7 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z2] step_pin = PF9 dir_pin = PF10 enable_pin = !PG2 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z2] uart_pin = PF2 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [stepper_z3] step_pin = PC13 dir_pin = !PF0 enable_pin = !PF1 rotation_distance = 40 gear_ratio = 80:16 microsteps = 32 [tmc2209 stepper_z3] uart_pin = PE4 interpolate = false run_current = 0.8 sense_resistor = 0.110 stealthchop_threshold = 999999 [extruder] step_pin = PE2 dir_pin = !PE3 enable_pin = !PD4 rotation_distance = 22.6789511 gear_ratio = 50:17 microsteps = 32 full_steps_per_rotation = 200 nozzle_diameter = 0.400 filament_diameter = 1.75 heater_pin = PA2 sensor_type = ATC Semitec 104NT-4-R025H42G sensor_pin = PF4 min_temp = 0 max_temp = 270 max_power = 1.0 min_extrude_temp = 170 pressure_advance = 0.035 pressure_advance_smooth_time = 0.040 control = pid pid_kp = 24.255 pid_ki = 2.378 pid_kd = 61.850 [tmc2209 extruder] uart_pin = PE1 interpolate = false run_current = 0.5 sense_resistor = 0.110 stealthchop_threshold = 0 [heater_bed] heater_pin = PA1 sensor_type = Generic 3950 sensor_pin = PF3 max_power = 0.65 min_temp = 0 max_temp = 120 control = pid pid_kp = 42.230 pid_ki = 1.474 pid_kd = 302.471 [probe] pin = PG15 x_offset = 0 y_offset = 25.0 z_offset = 0 speed = 10.0 samples = 5 samples_result = median sample_retract_dist = 3.0 samples_tolerance = 0.02 samples_tolerance_retries = 4 [fan] pin = PA8 kick_start_time = 0.5 off_below = 0.10 [heater_fan hotend_fan] pin = PE5 max_power = 1.0 kick_start_time = 0.5 heater = extruder heater_temp = 50.0 [controller_fan controller_fan] pin = PD12 kick_start_time = 0.5 heater = heater_bed fan_speed = 0.5 [heater_fan exhaust_fan] pin = PD13 max_power = 1.0 shutdown_speed = 0.0 kick_start_time = 5.0 heater = heater_bed heater_temp = 40 fan_speed = .5 [output_pin caselight] pin = PD14 pwm = true shutdown_value = 0 value = 0 cycle_time = 0.01 [thermistor CMFB103F3950FANT] temperature1 = 0.0 resistance1 = 32116.0 temperature2 = 40.0 resistance2 = 5309.0 temperature3 = 80.0 resistance3 = 1228.0 [temperature_sensor chamber_temp] sensor_type = CMFB103F3950FANT sensor_pin = PF5 min_temp = 0 max_temp = 100 gcode_id = chamber_th [temperature_sensor raspberry_pi] sensor_type = temperature_host min_temp = 10 max_temp = 100 [temperature_sensor mcu_temp] sensor_type = temperature_mcu min_temp = 0 max_temp = 100 [idle_timeout] timeout = 1800 [quad_gantry_level] gantry_corners = -60,-10 360,370 points = 50,25 50,225 250,225 250,25 speed = 100 horizontal_move_z = 10 retries = 5 retry_tolerance = 0.013 max_adjust = 10 [board_pins] aliases = EXP1_1=PE8, EXP1_2=PE7, EXP1_3=PE9, EXP1_4=PE10, EXP1_5=PE12, EXP1_6=PE13, EXP1_7=PE14, EXP1_8=PE15, EXP1_9=, EXP1_10=<5V>, EXP2_1=PA6, EXP2_2=PA5, EXP2_3=PB1, EXP2_4=PA4, EXP2_5=PB2, EXP2_6=PA7, EXP2_7=PC15, EXP2_8=, EXP2_9=, EXP2_10=<5V> [display] lcd_type = uc1701 cs_pin = EXP1_3 a0_pin = EXP1_4 rst_pin = EXP1_5 encoder_pins = ^EXP2_5, ^EXP2_3 click_pin = ^!EXP1_2 contrast = 63 spi_software_miso_pin = EXP2_1 spi_software_mosi_pin = EXP2_6 spi_software_sclk_pin = EXP2_2 [neopixel btt_mini12864] pin = EXP1_6 chain_count = 3 initial_red = 0.1 initial_green = 0.5 initial_blue = 0.0 color_order = RGB [delayed_gcode setdisplayneopixel] initial_duration = 1 gcode = SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=3 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=0 GREEN=0 BLUE=1 INDEX=1 [gcode_macro _User_Variables] variable_verbose = True variable_debug = False variable_travel_speed = 100 variable_move_accel = 1000 variable_dock_speed = 50 variable_release_speed = 75 variable_z_drop_speed = 20 variable_safe_z = 25 variable_enable_z_hop = True variable_max_bed_y = 290 variable_max_bed_x = 290 variable_z_endstop_x = 203 variable_z_endstop_y = 299 variable_docklocation_x = 67 variable_docklocation_y = 294 variable_docklocation_z = -128 variable_enable_dock_servo = False variable_servo_name = 'NAME' variable_servo_deploy = 10 variable_servo_retract = 11 variable_servo_delay = 250 variable_dockmove_x = 40 variable_dockmove_y = 0 variable_dockmove_z = 0 variable_attachmove_x = 0 variable_attachmove_y = 30 variable_attachmove_z = 0 variable_umbilical = False variable_umbilical_x = 15 variable_umbilical_y = 15 variable_park_toolhead = False variable_parkposition_x = 125 variable_parkposition_y = 125 variable_parkposition_z = 30 variable_version = 1 variable_attachmove2_x = 0 variable_attachmove2_y = 0 variable_attachmove2_z = 0 variable_home_backoff_x = 10 variable_home_backoff_y = 10 variable_override_homing = '' variable_dock_on_zhome = True gcode = {% set Mx = printer['configfile'].config["stepper_x"]["position_max"]|float %} {% set My = printer['configfile'].config["stepper_y"]["position_max"]|float %} {% set Ox = printer['configfile'].config["probe"]["x_offset"]|float %} {% set Oy = printer['configfile'].config["probe"]["y_offset"]|float %} {% set Oz = printer['configfile'].config["probe"]["z_offset"]|float %} {% if z_endstop_x != 0 or z_endstop_y != 0 %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ z_endstop_x } SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ z_endstop_y } {% else %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ (Mx * 0.5) - Ox } SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ (My * 0.5) - Oy } {% endif %} [respond] [gcode_macro _Probe_Variables] variable_probe_attached = False variable_probe_state = False variable_probe_lock = False variable_z_endstop_x = 0 variable_z_endstop_y = 0 gcode = [gcode_macro _klicky_check_variables_version] gcode = {% set version = printer["gcode_macro _User_Variables"].version|default(0) %} {% if version != 1 %} { action_raise_error("Please update your klicky variables, there are some functionality changes") } {% endif %} [gcode_macro _KlickyDebug] gcode = {% set message = params.MSG %} {% set debug = printer["gcode_macro _User_Variables"].debug|default(False) %} {% if debug %} { action_respond_info(message) } {% endif %} [gcode_macro _exit_point] gcode = {% set function = 'pre_' ~ params.FUNCTION %} {% set move = params.MOVE|default(0) %} {% set speed = printer["gcode_macro _User_Variables"].travel_speed %} M400 SET_VELOCITY_LIMIT ACCEL={printer.configfile.settings.printer.max_accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel} RESTORE_GCODE_STATE NAME={function} MOVE={move} MOVE_SPEED={speed} [gcode_macro _entry_point] gcode = {% set function = 'pre_' ~ params.FUNCTION %} {% set move_accel = printer["gcode_macro _User_Variables"].move_accel|default(1000) %} M400 SAVE_GCODE_STATE NAME={function} SET_GCODE_OFFSET Z=0 G90 SET_VELOCITY_LIMIT ACCEL={move_accel} [gcode_macro _Homing_Variables] gcode = {% set reset = params.RESET|default(0) %} {% if reset %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ False } {% endif %} [gcode_macro Attach_Probe_Lock] description = Attaches Klicky Probe, can only be docked after unlocking gcode = Attach_Probe _Probe_Lock [gcode_macro Dock_Probe_Unlock] description = Docks Klicky Probe even if it was locked gcode = _Probe_Unlock Dock_Probe [gcode_macro _Probe_Unlock] description = Unlocks Klicky Probe state gcode = _KlickyDebug msg="_Probe_Lock setting probe_lock variable to False" SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ False } [gcode_macro _Probe_Lock] description = Locks Klicky Probe state gcode = _KlickyDebug msg="_Probe_Lock setting probe_lock variable to True" SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_lock VALUE={ True } [gcode_macro _DeployKlickyDock] description = Deploys Klicky servo-controlled dock gcode = {% set enable_dock_servo = printer["gcode_macro _User_Variables"].enable_dock_servo|default(False) %} {% set servo_delay = printer["gcode_macro _User_Variables"].servo_delay|default(1000) %} {% set servo_name = printer["gcode_macro _User_Variables"].servo_name %} {% set servo_deploy = printer["gcode_macro _User_Variables"].servo_deploy|default(360) %} M400 {% if enable_dock_servo != False %} _KlickyDebug msg="_DeployKlickyDock Klicky servo configuration enabled" {% if servo_deploy == 360 %} { action_raise_error("Klicky: servo active on klicky-variables, but no servo deploy angle specified") } {% endif %} _KlickyDebug msg="_DeployKlickyDock SET_SERVO SERVO={servo_name|string} ANGLE={servo_deploy|int}" SET_SERVO SERVO={servo_name|string} ANGLE={servo_deploy|int} M400 G4 P{servo_delay|int} _KlickyDebug msg="_DeployKlickyDock SET_SERVO SERVO={servo_name|string} WIDTH=0" SET_SERVO SERVO={servo_name|string} WIDTH=0 {% elif printer["gcode_macro _DeployDock"] is defined %} _KlickyDebug msg="_DeployKlickyDock calling _DeployDock" _DeployDock {% endif %} [gcode_macro _RetractKlickyDock] description = Retracts Klicky servo-controlled dock gcode = {% set enable_dock_servo = printer["gcode_macro _User_Variables"].enable_dock_servo|default(False) %} {% set servo_delay = printer["gcode_macro _User_Variables"].servo_delay|default(1000) %} {% set servo_name = printer["gcode_macro _User_Variables"].servo_name %} {% set servo_retract = printer["gcode_macro _User_Variables"].servo_retract|default(360) %} M400 {% if enable_dock_servo != False %} _KlickyDebug msg="_RetractKlickyDock Klicky servo configuration enabled" {% if servo_retract == 360 %} { action_raise_error("Klicky: servo active on klicky-variables, but no servo retract angle specified") } {% endif %} _KlickyDebug msg="_RetractKlickyDock SET_SERVO SERVO={servo_name|string} ANGLE={servo_retract|int}" SET_SERVO SERVO={servo_name|string} ANGLE={servo_retract|int} M400 G4 P{servo_delay|int} _KlickyDebug msg="_RetractKlickyDock SET_SERVO SERVO={servo_name|string} WIDTH=0" SET_SERVO SERVO={servo_name|string} WIDTH=0 {% elif printer["gcode_macro _RetractDock"] is defined %} _KlickyDebug msg="_RetractKlickyDock calling _RetractDock" _RetractDock {% endif %} [gcode_macro Attach_Probe] description = Attaches Klicky Probe gcode = {% set goback = params.BACK|default(0) %} {% set probe_attached = printer["gcode_macro _Probe_Variables"].probe_attached %} {% set probe_lock = printer["gcode_macro _Probe_Variables"].probe_lock %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set dockmove_x = printer["gcode_macro _User_Variables"].dockmove_x|default(0) %} {% set dockmove_y = printer["gcode_macro _User_Variables"].dockmove_y|default(0) %} {% set dockmove_z = printer["gcode_macro _User_Variables"].dockmove_z|default(0) %} {% set docklocation_x = printer["gcode_macro _User_Variables"].docklocation_x %} {% set docklocation_y = printer["gcode_macro _User_Variables"].docklocation_y %} {% set docklocation_z = printer["gcode_macro _User_Variables"].docklocation_z %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set attachmove2_x = printer["gcode_macro _User_Variables"].attachmove2_x|default(0) %} {% set attachmove2_y = printer["gcode_macro _User_Variables"].attachmove2_y|default(0) %} {% set attachmove2_z = printer["gcode_macro _User_Variables"].attachmove2_z|default(0) %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z %} {% set enable_z_hop = printer["gcode_macro _User_Variables"].enable_z_hop %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set dock_feedrate = printer["gcode_macro _User_Variables"].dock_speed * 60 %} {% set release_feedrate = printer["gcode_macro _User_Variables"].release_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} _entry_point function=Attach_Probe {% if not 'xy' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X and Y Axis First!") } _KlickyDebug msg="Attach_Probe Axis homed" {% elif not probe_attached and not probe_lock %} _KlickyDebug msg="Attach_Probe going to attach probe" {% if verbose %} { action_respond_info("Attaching Probe") } {% endif %} _KLICKY_STATUS_BUSY {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero") } {% endif %} _KlickyDebug msg="Attach_Probe Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% if not enable_z_hop %} _KlickyDebug msg="Attach_Probe z_hop disabled" {% set safe_z = 0 %} {% endif %} {% endif %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Attach_Probe toolhead too low, raising it by {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero, duplicate?") } {% endif %} _KlickyDebug msg="Attach_Probe Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% endif %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Attach_Probe toolhead too low, raising it by {safe_z}mm, duplicate?" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Umbilical_Path _entry_point function=Attach_Probe_intern _KlickyDebug msg="Attach_Probe moving near the dock with G0 X{docklocation_x|int - attachmove_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove_y|int - attachmove2_y} F{travel_feedrate}" G0 X{docklocation_x|int - attachmove_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove_y|int - attachmove2_y} F{travel_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int - attachmove2_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int - attachmove2_z|int} F{dock_feedrate} _KlickyDebug msg="Attach_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate} {% endif %} _DeployKlickyDock {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 Z{docklocation_z} F{dock_feedrate}" G0 Z{docklocation_z} F{dock_feedrate} {% endif %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 X{docklocation_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove2_y} F{dock_feedrate}" G0 X{docklocation_x|int - attachmove2_x|int} Y{docklocation_y|int - attachmove2_y} F{dock_feedrate} _KlickyDebug msg="Attach_Probe moving to the dock with G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate}" G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving from the dock to G0 Z{docklocation_z|int - attachmove_z|int} F{z_drop_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{z_drop_feedrate} {% endif %} _KlickyDebug msg="Attach_Probe moving from the dock to G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{release_feedrate} _RetractKlickyDock {% if ((printer.toolhead.position.z < safe_z) or (docklocation_z != -128 and docklocation_z < safe_z ))%} _KlickyDebug msg="Attach_Probe moving to a safe Z position: G0 Z{safe_z} F{z_drop_feedrate} from {printer.toolhead.position.z}" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Park_Toolhead _CheckProbe action=attach _exit_point function=Attach_Probe_intern move={goback} _KLICKY_STATUS_READY {% elif probe_lock %} {% if verbose %} { action_respond_info("Probe locked!") } {% endif %} _KlickyDebug msg="Attach_Probe probe locked not attaching probe" _CheckProbe action=query {% else %} {% if verbose %} { action_respond_info("Probe already attached!") } {% endif %} _KlickyDebug msg="Attach_Probe probe already attached, doing nothing" _CheckProbe action=query {% endif %} _exit_point function=Attach_Probe [gcode_macro Dock_Probe] description = Docks Klicky Probe gcode = {% set goback = params.back|default(0) %} {% set probe_attached = printer["gcode_macro _Probe_Variables"].probe_attached %} {% set probe_lock = printer["gcode_macro _Probe_Variables"].probe_lock %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set dockmove_x = printer["gcode_macro _User_Variables"].dockmove_x|default(0) %} {% set dockmove_y = printer["gcode_macro _User_Variables"].dockmove_y|default(0) %} {% set dockmove_z = printer["gcode_macro _User_Variables"].dockmove_z|default(0) %} {% set docklocation_x = printer["gcode_macro _User_Variables"].docklocation_x %} {% set docklocation_y = printer["gcode_macro _User_Variables"].docklocation_y %} {% set docklocation_z = printer["gcode_macro _User_Variables"].docklocation_z %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set dock_feedrate = printer["gcode_macro _User_Variables"].dock_speed * 60 %} {% set release_feedrate = printer["gcode_macro _User_Variables"].release_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="Dock_Probe Axis homed" _entry_point function=Dock_Probe {% if probe_attached and not probe_lock %} _KlickyDebug msg="Dock_Probe going to dock probe" {% if verbose %} { action_respond_info("Docking Probe") } {% endif %} _KLICKY_STATUS_BUSY {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="Dock_Probe toolhead too low, raising it to {safe_z}mm" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Umbilical_Path _KlickyDebug msg="Dock_Probe moving near the dock with G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{travel_feedrate}" G0 X{docklocation_x|int - attachmove_x|int} Y{docklocation_y|int - attachmove_y|int} F{travel_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Dock_Probe moving near the dock with G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate}" G0 Z{docklocation_z|int - attachmove_z|int} F{dock_feedrate} {% endif %} _DeployKlickyDock _KlickyDebug msg="Dock_Probe moving to the dock with G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate}" G0 X{docklocation_x} Y{docklocation_y} F{dock_feedrate} {% if docklocation_z != -128 %} _KlickyDebug msg="Attach_Probe moving to the dock with G0 Z{docklocation_z} F{dock_feedrate}" G0 Z{docklocation_z} F{dock_feedrate} {% endif %} {% if docklocation_z != -128 %} _KlickyDebug msg="Dock_Probe moving from the dock to G0 Z{docklocation_z|int + dockmove_z|int} F{release_feedrate}" G0 Z{docklocation_z|int + dockmove_z|int} F{release_feedrate} {% endif %} _KlickyDebug msg="Dock_Probe moving from the dock to G0 X{docklocation_x|int + dockmove_x|int} Y{docklocation_y|int + dockmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int + dockmove_x|int} Y{docklocation_y|int + dockmove_y|int} F{release_feedrate} _RetractKlickyDock _KlickyDebug msg="Dock_Probe moving away from the dock to G0 X{docklocation_x|int + dockmove_x|int - attachmove_x|int} Y{docklocation_y|int + dockmove_y|int - attachmove_y|int} F{release_feedrate}" G0 X{docklocation_x|int + dockmove_x|int - attachmove_x|int} Y{docklocation_y|int + dockmove_y|int - attachmove_y|int} F{release_feedrate} {% if ((printer.toolhead.position.z < safe_z) or (docklocation_z != -128 and docklocation_z < safe_z ))%} _KlickyDebug msg="Dock_Probe moving to a safe Z position: G0 Z{safe_z} F{z_drop_feedrate} from {printer.toolhead.position.z}" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _Park_Toolhead G4 P1000 _CheckProbe action=dock _KLICKY_STATUS_READY {% elif probe_lock %} {% if verbose %} { action_respond_info("Probe locked") } {% endif %} _KlickyDebug msg="Dock_Probe probe locked not docking probe" _CheckProbe action=query {% else %} {% if verbose %} { action_respond_info("Probe already docked") } {% endif %} _KlickyDebug msg="Dock_Probe probe already docked, doing nothing" _CheckProbe action=query {% endif %} _exit_point function=Dock_Probe move={goback} [gcode_macro PROBE_CALIBRATE] rename_existing = _PROBE_CALIBRATE description = Calibrate the probes z_offset with klicky automount gcode = {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set max_x = printer["gcode_macro _User_Variables"].max_bed_x|float %} {% set max_y = printer["gcode_macro _User_Variables"].max_bed_y|float %} {% set probe_offset_x = printer['configfile'].config["probe"]["x_offset"]|float %} {% set probe_offset_y = printer['configfile'].config["probe"]["y_offset"]|float %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="probe_calibrate Axis homed" _KlickyDebug msg="probe_calibrate Variables max_x={max_x},max_y={max_y},probe_offset_x={probe_offset_x},probe_offset_y={probe_offset_y}" {% if printer['gcode_move'].position.y > (max_y - probe_offset_y) or printer['gcode_move'].position.y < - probe_offset_y or printer['gcode_move'].position.x > (max_x - probe_offset_x) or printer['gcode_move'].position.x < - probe_offset_x %} { action_raise_error("Must perform PROBE_CALIBRATE with the probe above the BED, check klicky_variables bed size!") } {% endif%} _CheckProbe action=query G90 Attach_Probe back=1 _KLICKY_STATUS_CALIBRATING_Z _KlickyDebug msg="probe_calibrate calling klipper probe_calibrate" _PROBE_CALIBRATE {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} M118 moving the toolhead 20 mm from the bed _KlickyDebug msg="probe_calibrate Moving Z up by 20mm" TESTZ Z=20 M118 remove manually the probe and continue calibration _KLICKY_STATUS_READY [gcode_macro PROBE_ACCURACY] rename_existing = _PROBE_ACCURACY description = Probe Z-height accuracy at current XY position with klicky automount gcode = {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set max_x = printer["gcode_macro _User_Variables"].max_bed_x|float %} {% set max_y = printer["gcode_macro _User_Variables"].max_bed_y|float %} {% set probe_offset_x = printer['configfile'].config["probe"]["x_offset"]|float %} {% set probe_offset_y = printer['configfile'].config["probe"]["y_offset"]|float %} {% if not 'xyz' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X, Y and Z Axis First!") } {% endif %} _KlickyDebug msg="probe_accuracy Axis homed" _KlickyDebug msg="probe_accuracy Variables max_x={max_x},max_y={max_y},probe_offset_x={probe_offset_x},probe_offset_y={probe_offset_y}" _entry_point function=PROBE_ACCURACY {% if printer['gcode_move'].position.y > (max_y - probe_offset_y) or printer['gcode_move'].position.y < - probe_offset_y or printer['gcode_move'].position.x > (max_x - probe_offset_x) or printer['gcode_move'].position.x < - probe_offset_x %} { action_raise_error("Must perform PROBE_ACCURACY with the probe above the BED, check klicky_variables bed size!") } {% endif%} _CheckProbe action=query Attach_Probe back=1 _KlickyDebug msg="probe_accuracy calling klipper probe accuracy" _PROBE_ACCURACY {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe back=1 _exit_point function=PROBE_ACCURACY move=1 [force_move] enable_force_move = True [homing_override] axes = xyz gcode = _User_Variables {% set verbose = printer["gcode_macro _User_Variables"].verbose %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z %} {% set enable_z_hop = printer["gcode_macro _User_Variables"].enable_z_hop %} {% set kinematic_z = 0 %} {% set dock_on_zhome = printer["gcode_macro _User_Variables"].dock_on_zhome|default(True) %} {% set attachmove_x = printer["gcode_macro _User_Variables"].attachmove_x|default(0) %} {% set attachmove_y = printer["gcode_macro _User_Variables"].attachmove_y|default(0) %} {% set attachmove_z = printer["gcode_macro _User_Variables"].attachmove_z|default(0) %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set home_backoff_x = printer["gcode_macro _User_Variables"].home_backoff_x|default(0) %} {% set home_backoff_y = printer["gcode_macro _User_Variables"].home_backoff_y|default(0) %} {% set override_homing = printer["gcode_macro _User_Variables"].override_homing|default('') %} _klicky_check_variables_version _CheckProbe action=query {% set home_x, home_y, home_z, leave_probe_attached = False, False, False, False %} {% if 'PROBE_LOCK' in params%} {% if verbose %} { action_respond_info("PROBE_LOCK = True") } {% endif %} {% set leave_probe_attached = True %} {% endif %} {% if not 'X' in params and not 'Y' in params and not 'Z' in params %} {% set home_x, home_y, home_z = True, True, True %} _KlickyDebug msg="homing_override goint to home all axes" {% else %} {% if 'X' in params %} {% set home_x = True %} _KlickyDebug msg="homing_override goint to home X" {% endif %} {% if 'Y' in params %} {% set home_y = True %} _KlickyDebug msg="homing_override goint to home Y" {% endif %} {% if 'Z' in params %} {% set home_z = True %} _KlickyDebug msg="homing_override goint to home Z" {% endif %} {% if 'X' in params and 'Y' in params and 'Z' in params %} _Homing_Variables reset=1 _KlickyDebug msg="homing_override goint to home all axes" {% endif %} {% endif %} _entry_point function=homing_override _KLICKY_STATUS_HOMING {% if 'z' not in printer.toolhead.homed_axes %} {% if not enable_z_hop %} _KlickyDebug msg="homing_override z_hop disabled" {% set kinematic_z = safe_z %} {% set safe_z = 0 %} {% endif %} {% endif %} {% if home_z %} {% if 'z' in printer.toolhead.homed_axes %} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="homing_override toolhead too low, with homed axes, raising it to {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% else %} {% if verbose %} { action_respond_info("Z not homed, forcing full G28") } {% endif %} _KlickyDebug msg="homing_override Z not homed, setting position as X=Y=0 Z={kinematic_z}" SET_KINEMATIC_POSITION X=0 Y=0 Z={kinematic_z} {% if printer.toolhead.position.z < safe_z %} _KlickyDebug msg="homing_override toolhead too low, raising it to {safe_z}mm" {% if verbose %} { action_respond_info("moving to a safe Z distance") } {% endif %} G0 Z{safe_z} F{z_drop_feedrate} {% endif %} {% set home_x, home_y, home_z = True, True, True %} {% endif %} {% endif %} {% if ((attachmove_y == 0 and override_homing == '' ) or (override_homing == 'Y'))%} {% if home_y %} {% if override_homing == 'Y' %} _KlickyDebug msg="homing_override Y homing first override, due to override_homing = Y" {% else %} _KlickyDebug msg="homing_override Y homing first override, due to attachmove_y = 0" {% endif %} {% if verbose %} { action_respond_info("Homing Y") } {% endif %} {% if printer["gcode_macro _HOME_Y"] is defined %} _KlickyDebug msg="homing_override calling _HOME_Y external script to handle the Y homing" _HOME_Y {% else %} _KlickyDebug msg="homing_override Homing Y G28 Y0" G28 Y0 {% if home_backoff_y != 0 %} {% if (printer.configfile.settings.stepper_y.position_endstop > (printer.configfile.settings.stepper_y.position_min|default(0) + printer.configfile.settings.stepper_y.position_max)/2) %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop-home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% set home_y = False %} {% endif %} {% if home_x %} {% if verbose %} { action_respond_info("Homing X") } {% endif %} {% if printer["gcode_macro _HOME_X"] is defined %} _KlickyDebug msg="homing_override calling _HOME_X external script to handle the X homing" _HOME_X {% else %} _KlickyDebug msg="homing_override Homing X, G28 X0" G28 X0 {% if home_backoff_x != 0 %} {% if (printer.configfile.settings.stepper_x.position_endstop > (printer.configfile.settings.stepper_x.position_min|default(0) + printer.configfile.settings.stepper_x.position_max)/2) %} _KlickyDebug msg="homing_override backing off X endstop, G0 X{printer.configfile.settings.stepper_x.position_endstop - home_backoff_x|int} F{travel_feedrate}" G0 X{printer.configfile.settings.stepper_x.position_endstop - home_backoff_x|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off X endstop, G0 X{printer.configfile.settings.stepper_x.position_endstop + home_backoff_x|int} F{travel_feedrate}" G0 X{printer.configfile.settings.stepper_x.position_endstop + home_backoff_x|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% if home_y %} {% if verbose %} { action_respond_info("Homing Y") } {% endif %} {% if printer["gcode_macro _HOME_Y"] is defined %} _KlickyDebug msg="homing_override calling _HOME_Y external script to handle the Y homing" _HOME_Y {% else %} _KlickyDebug msg="homing_override Homing Y, G28 Y0" G28 Y0 {% if home_backoff_y != 0 %} {% if (printer.configfile.settings.stepper_y.position_endstop > (printer.configfile.settings.stepper_y.position_min|default(0) + printer.configfile.settings.stepper_y.position_max)/2) %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop - home_backoff_y|int} F{travel_feedrate} {% else %} _KlickyDebug msg="homing_override backing off Y endstop, G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate}" G0 Y{printer.configfile.settings.stepper_y.position_endstop + home_backoff_y|int} F{travel_feedrate} {%endif %} {%endif %} {% endif %} {% endif %} {% if home_z %} {% if verbose %} { action_respond_info("Homing Z") } {% endif %} {% if printer['configfile'].config["stepper_z"]["endstop_pin"] == 'probe:z_virtual_endstop' %} _KlickyDebug msg="homing_override probe configured as a virtual Z endstop attaching probe" Attach_Probe {% if leave_probe_attached %} _Probe_Lock {% endif %} {% elif dock_on_zhome == True %} Dock_Probe {% endif %} _Home_Z {% if printer['configfile'].config["stepper_z"]["endstop_pin"] == 'probe:z_virtual_endstop' %} _KlickyDebug msg="homing_override probe no longer required, docking probe" Dock_Probe {% elif dock_on_zhome == False %} Dock_Probe {% endif %} {% endif %} _CheckProbe action=query _Park_Toolhead _exit_point function=homing_override _KLICKY_STATUS_READY [gcode_macro _Umbilical_Path] gcode = {% set umbilical = printer["gcode_macro _User_Variables"].umbilical %} {% set umbilical_x = printer["gcode_macro _User_Variables"].umbilical_x %} {% set umbilical_y = printer["gcode_macro _User_Variables"].umbilical_y %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% if umbilical %} _entry_point function=Umbilical_Path _KlickyDebug msg="_Umbilical_Path moving to G0 X{umbilical_x} Y{umbilical_y} Z{safe_z} F{travel_feedrate}" G0 X{umbilical_x} Y{umbilical_y} Z{safe_z} F{travel_feedrate} _exit_point function=Umbilical_Path {% endif %} [gcode_macro _Home_Z] gcode = {% set z_endstop_x = printer["gcode_macro _Probe_Variables"].z_endstop_x %} {% set z_endstop_y = printer["gcode_macro _Probe_Variables"].z_endstop_y %} {% set safe_z = printer["gcode_macro _User_Variables"].safe_z|float %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set z_drop_feedrate = printer["gcode_macro _User_Variables"].z_drop_speed * 60 %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} _entry_point function=Home_Z {% if not 'xy' in printer.toolhead.homed_axes %} { action_raise_error("Must Home X and Y Axis First!") } {% else %} _KlickyDebug msg="_Home_Z XY Axis homed" {% if not 'z' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Resetting Z position to zero") } {% endif %} _KlickyDebug msg="_Home_Z Z not homed, setting position as X=Y=Z=0" SET_KINEMATIC_POSITION Z=0 {% endif %} _KlickyDebug msg="_Home_Z moving to Z endstop position G0 X{z_endstop_x} Y{z_endstop_y} F{travel_feedrate}" G0 X{z_endstop_x} Y{z_endstop_y} F{travel_feedrate} _KlickyDebug msg="_Home_Z Homing Z G28 Z" G28 Z0 _KlickyDebug msg="_Home_Z toolhead too low, raising it to {safe_z}mm" G0 Z{safe_z} F{z_drop_feedrate} {% endif %} _exit_point function=Home_Z [gcode_macro _CheckProbe] variable_probe_state = 0 gcode = Query_Probe _SetProbeState action={ params.ACTION } [gcode_macro _SetProbeState] gcode = {% set query_probe_triggered = printer.probe.last_query %} {% set action = params.ACTION|default('') %} {% if query_probe_triggered %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_attached VALUE={ False } {% else %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_attached VALUE={ True } {% endif %} {% if action == 'query' %} SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=probe_state VALUE={ query_probe_triggered } {% endif %} {% if not query_probe_triggered and action == 'dock' %} { action_raise_error("Probe dock failed!") } {% endif %} {% if query_probe_triggered and action == 'attach' %} { action_raise_error("Probe attach failed!") } {% endif %} [gcode_macro _Park_Toolhead] gcode = {% set park_toolhead = printer["gcode_macro _User_Variables"].park_toolhead %} {% set parkposition_x = printer["gcode_macro _User_Variables"].parkposition_x %} {% set parkposition_y = printer["gcode_macro _User_Variables"].parkposition_y %} {% set parkposition_z = printer["gcode_macro _User_Variables"].parkposition_z %} {% set travel_feedrate = printer["gcode_macro _User_Variables"].travel_speed * 60 %} {% set verbose = printer["gcode_macro _User_Variables"].verbose %} _entry_point function=Park_Toolhead {% if park_toolhead and 'xyz' in printer.toolhead.homed_axes %} {% if verbose %} { action_respond_info("Parking Toolhead") } {% endif %} {% if parkposition_z == -128 %} _KlickyDebug msg="_Park_Toolhead moving to G0 X{parkposition_x} Y{parkposition_y} F{travel_feedrate}" G0 X{parkposition_x} Y{parkposition_y} F{travel_feedrate} {% else %} _KlickyDebug msg="_Park_Toolhead moving to G0 X{parkposition_x} Y{parkposition_y} Z{parkposition_z} F{travel_feedrate}" G0 X{parkposition_x} Y{parkposition_y} Z{parkposition_z} F{travel_feedrate} {% endif %} {% endif %} _exit_point function=Park_Toolhead [gcode_macro _klicky_status_ready] gcode = {% if printer['gcode_macro status_ready'] is defined %} _KlickyDebug msg="_klicky_status_ready activating the LED STATUS_READY" STATUS_READY {% endif %} [gcode_macro _klicky_status_busy] gcode = {% if printer['gcode_macro status_busy'] is defined %} _KlickyDebug msg="_klicky_status_busy activating the LED STATUS_BUSY" STATUS_BUSY {% endif %} [gcode_macro _klicky_status_leveling] gcode = {% if printer['gcode_macro status_leveling'] is defined %} _KlickyDebug msg="_klicky_status_leveling activating the LED STATUS_LEVELING" STATUS_LEVELING {% endif %} [gcode_macro _klicky_status_homing] gcode = {% if printer['gcode_macro status_homing'] is defined %} _KlickyDebug msg="_klicky_status_homing activating the LED STATUS_HOMING" STATUS_HOMING {% endif %} [gcode_macro _klicky_status_cleaning] gcode = {% if printer['gcode_macro status_cleaning'] is defined %} _KlickyDebug msg="_klicky_status_cleaning activating the LED STATUS_CLEANING" STATUS_CLEANING {% endif %} [gcode_macro _klicky_status_meshing] gcode = {% if printer['gcode_macro status_meshing'] is defined %} _KlickyDebug msg="_klicky_status_meshing activating the LED STATUS_MESHING" STATUS_MESHING {% endif %} [gcode_macro _klicky_status_calibrating_z] gcode = {% if printer['gcode_macro status_calibrating_z'] is defined %} _KlickyDebug msg="_klicky_status_calibrating_z activating the LED STATUS_CALIBRATING_Z" STATUS_CALIBRATING_Z {% endif %} [gcode_macro BED_MESH_CALIBRATE] rename_existing = _BED_MESH_CALIBRATE description = Perform Mesh Bed Leveling with klicky automount gcode = {% set V = printer["gcode_macro _User_Variables"].verbose %} {% if V %} { action_respond_info("Bed Mesh Calibrate") } {% endif %} _CheckProbe action=query G90 Attach_Probe _KLICKY_STATUS_MESHING _BED_MESH_CALIBRATE {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe [gcode_macro QUAD_GANTRY_LEVEL] rename_existing = _QUAD_GANTRY_LEVEL description = Conform a moving, twistable gantry to the shape of a stationary bed with klicky automount gcode = {% set V = printer["gcode_macro _User_Variables"].verbose %} {% if V %} { action_respond_info("QG Level") } {% endif %} _CheckProbe action=query G90 Attach_Probe _KLICKY_STATUS_LEVELING _QUAD_GANTRY_LEVEL {% for p in params %}{'%s=%s ' % (p, params[p])}{% endfor %} Dock_Probe [bed_mesh] speed = 300 horizontal_move_z = 10 mesh_min = 40, 40 mesh_max = 260,260 fade_start = 0.6 fade_end = 10.0 probe_count = 5,5 algorithm = bicubic relative_reference_index = 12 [gcode_macro G32] gcode = G28 QUAD_GANTRY_LEVEL G28 G0 X150 Y150 Z30 F3600 [gcode_macro PRINT_START] gcode = G32 G0 X150 Y150 Z30 F3600 [gcode_macro PRINT_END] gcode = {% set th = printer.toolhead %} {% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %} {% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %} {% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %} SAVE_GCODE_STATE NAME=STATE_PRINT_END M400 G92 E0 G1 E-5.0 F1800 TURN_OFF_HEATERS G90 G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 M107 BED_MESH_CLEAR RESTORE_GCODE_STATE NAME=STATE_PRINT_END ======================= Extruder max_extrude_ratio=0.266081 mcu 'mcu': Starting serial connect Loaded MCU 'mcu' 105 commands (v0.10.0-546-ga709ba43 / gcc: (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] binutils: (2.31.1-11+rpi1+11) 2.31.1) MCU 'mcu' config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c1a=PB8,PB9 BUS_PINS_i2c2=PB10,PB11 BUS_PINS_i2c3=PA8,PC9 BUS_PINS_spi1=PA6,PA7,PA5 BUS_PINS_spi1a=PB4,PB5,PB3 BUS_PINS_spi2=PB14,PB15,PB13 BUS_PINS_spi2a=PC2,PC3,PB10 BUS_PINS_spi3=PB4,PB5,PB3 BUS_PINS_spi3a=PC11,PC12,PC10 BUS_PINS_spi4=PE13,PE14,PE12 CLOCK_FREQ=180000000 MCU=stm32f446xx PWM_MAX=255 RESERVE_PINS_USB=PA11,PA12 RESERVE_PINS_crystal=PH0,PH1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1 mcu_temperature 'mcu' nominal base=-264.375000 slope=1279.687500 Sending MCU 'mcu' printer configuration... Configured MCU 'mcu' (1024 moves) webhooks client 3039252912: New connection webhooks client 3039252912: Client info {'program': 'Moonraker', 'version': 'v0.7.1-771-ge628b24'} Starting heater checks for heater_bed bed_mesh: generated points Index | Tool Adjusted | Probe 0 | (40.0, 15.0) | (40.0, 40.0) 1 | (95.0, 15.0) | (95.0, 40.0) 2 | (150.0, 15.0) | (150.0, 40.0) 3 | (205.0, 15.0) | (205.0, 40.0) 4 | (260.0, 15.0) | (260.0, 40.0) 5 | (260.0, 70.0) | (260.0, 95.0) 6 | (205.0, 70.0) | (205.0, 95.0) 7 | (150.0, 70.0) | (150.0, 95.0) 8 | (95.0, 70.0) | (95.0, 95.0) 9 | (40.0, 70.0) | (40.0, 95.0) 10 | (40.0, 125.0) | (40.0, 150.0) 11 | (95.0, 125.0) | (95.0, 150.0) 12 | (150.0, 125.0) | (150.0, 150.0) 13 | (205.0, 125.0) | (205.0, 150.0) 14 | (260.0, 125.0) | (260.0, 150.0) 15 | (260.0, 180.0) | (260.0, 205.0) 16 | (205.0, 180.0) | (205.0, 205.0) 17 | (150.0, 180.0) | (150.0, 205.0) 18 | (95.0, 180.0) | (95.0, 205.0) 19 | (40.0, 180.0) | (40.0, 205.0) 20 | (40.0, 235.0) | (40.0, 260.0) 21 | (95.0, 235.0) | (95.0, 260.0) 22 | (150.0, 235.0) | (150.0, 260.0) 23 | (205.0, 235.0) | (205.0, 260.0) 24 | (260.0, 235.0) | (260.0, 260.0) bed_mesh: relative_reference_index 12 is (150.00, 150.00) Starting heater checks for extruder Stats 30.7: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=3638 bytes_read=6752 bytes_retransmit=9 bytes_invalid=0 send_seq=303 receive_seq=303 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=3152 freq=180002052 heater_bed: target=0 temp=0.0 pwm=0.000 chamber_temp: temp=0.0 raspberry_pi: temp=54.5 mcu_temp: temp=0.0 sysload=1.07 cputime=3.350 memavail=1523456 print_time=0.001 buffer_time=0.000 print_stall=0 extruder: target=0 temp=0.0 pwm=0.000 webhooks: registering remote method 'shutdown_machine' for connection id: 3039252912 webhooks: registering remote method 'reboot_machine' for connection id: 3039252912 webhooks: registering remote method 'pause_job_queue' for connection id: 3039252912 webhooks: registering remote method 'start_job_queue' for connection id: 3039252912 Stats 31.7: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=7525 bytes_read=7162 bytes_retransmit=9 bytes_invalid=0 send_seq=373 receive_seq=372 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=53 stalled_bytes=0 freq=180000399 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=53.6 mcu_temp: temp=35.4 sysload=1.07 cputime=3.387 memavail=1519936 print_time=39.679 buffer_time=0.250 print_stall=0 extruder: target=0 temp=0.0 pwm=0.000 Stats 32.7: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000016 mcu_task_stddev=0.000037 bytes_write=7680 bytes_read=7425 bytes_retransmit=9 bytes_invalid=0 send_seq=379 receive_seq=379 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001299 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=54.5 mcu_temp: temp=34.1 sysload=1.07 cputime=3.431 memavail=1518568 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 33.7: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000016 mcu_task_stddev=0.000037 bytes_write=8149 bytes_read=7678 bytes_retransmit=9 bytes_invalid=0 send_seq=389 receive_seq=389 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180000899 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=53.6 mcu_temp: temp=34.3 sysload=1.07 cputime=3.468 memavail=1517096 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 34.7: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000016 mcu_task_stddev=0.000037 bytes_write=8155 bytes_read=7900 bytes_retransmit=9 bytes_invalid=0 send_seq=390 receive_seq=390 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180000912 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=54.0 mcu_temp: temp=34.1 sysload=1.07 cputime=3.485 memavail=1515956 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 35.7: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000016 mcu_task_stddev=0.000037 bytes_write=8161 bytes_read=8108 bytes_retransmit=9 bytes_invalid=0 send_seq=391 receive_seq=391 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001066 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=54.0 mcu_temp: temp=34.3 sysload=1.06 cputime=3.501 memavail=1519640 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 36.7: gcodein=0 mcu: mcu_awake=0.018 mcu_task_avg=0.000016 mcu_task_stddev=0.000037 bytes_write=8221 bytes_read=8326 bytes_retransmit=9 bytes_invalid=0 send_seq=394 receive_seq=394 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001248 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=53.1 mcu_temp: temp=34.5 sysload=1.06 cputime=3.526 memavail=1517468 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 37.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000011 mcu_task_stddev=0.000028 bytes_write=8281 bytes_read=8573 bytes_retransmit=9 bytes_invalid=0 send_seq=397 receive_seq=397 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001161 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=53.1 mcu_temp: temp=34.3 sysload=1.06 cputime=3.546 memavail=1518596 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 38.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000011 mcu_task_stddev=0.000028 bytes_write=8287 bytes_read=8781 bytes_retransmit=9 bytes_invalid=0 send_seq=398 receive_seq=398 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001210 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.4 sysload=1.06 cputime=3.570 memavail=1518596 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.6 pwm=0.000 Stats 39.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000011 mcu_task_stddev=0.000028 bytes_write=8401 bytes_read=9004 bytes_retransmit=9 bytes_invalid=0 send_seq=403 receive_seq=403 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001284 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=53.1 mcu_temp: temp=34.4 sysload=1.06 cputime=3.598 memavail=1518824 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 40.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000011 mcu_task_stddev=0.000028 bytes_write=8461 bytes_read=9220 bytes_retransmit=9 bytes_invalid=0 send_seq=406 receive_seq=406 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001275 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.3 sysload=0.98 cputime=3.624 memavail=1518824 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 41.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000011 mcu_task_stddev=0.000028 bytes_write=8521 bytes_read=9436 bytes_retransmit=9 bytes_invalid=0 send_seq=409 receive_seq=409 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001256 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.4 sysload=0.98 cputime=3.649 memavail=1518824 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 42.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000013 bytes_write=8527 bytes_read=9659 bytes_retransmit=9 bytes_invalid=0 send_seq=410 receive_seq=410 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001260 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.98 cputime=3.673 memavail=1518824 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 43.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000013 bytes_write=8533 bytes_read=9881 bytes_retransmit=9 bytes_invalid=0 send_seq=411 receive_seq=411 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001221 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.3 sysload=0.98 cputime=3.698 memavail=1518776 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 44.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000013 bytes_write=8593 bytes_read=10099 bytes_retransmit=9 bytes_invalid=0 send_seq=414 receive_seq=414 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001196 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.98 cputime=3.724 memavail=1518784 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 45.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000013 bytes_write=8653 bytes_read=10317 bytes_retransmit=9 bytes_invalid=0 send_seq=417 receive_seq=417 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001191 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.90 cputime=3.750 memavail=1518784 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 46.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000013 bytes_write=8659 bytes_read=10539 bytes_retransmit=9 bytes_invalid=0 send_seq=418 receive_seq=418 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001204 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.4 sysload=0.90 cputime=3.774 memavail=1518792 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 47.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=8665 bytes_read=10762 bytes_retransmit=9 bytes_invalid=0 send_seq=419 receive_seq=419 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001190 heater_bed: target=0 temp=24.0 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.90 cputime=3.798 memavail=1518792 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 48.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=8671 bytes_read=10970 bytes_retransmit=9 bytes_invalid=0 send_seq=420 receive_seq=420 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001289 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.90 cputime=3.821 memavail=1518792 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 49.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=8677 bytes_read=11207 bytes_retransmit=9 bytes_invalid=0 send_seq=421 receive_seq=421 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001298 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.90 cputime=3.846 memavail=1518788 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 50.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=8683 bytes_read=11400 bytes_retransmit=9 bytes_invalid=0 send_seq=422 receive_seq=422 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001362 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.4 sysload=0.83 cputime=3.868 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 51.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=8689 bytes_read=11608 bytes_retransmit=9 bytes_invalid=0 send_seq=423 receive_seq=423 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001322 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.4 sysload=0.83 cputime=3.893 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 52.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8695 bytes_read=11859 bytes_retransmit=9 bytes_invalid=0 send_seq=424 receive_seq=424 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001289 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.6 sysload=0.83 cputime=3.918 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 53.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8701 bytes_read=12052 bytes_retransmit=9 bytes_invalid=0 send_seq=425 receive_seq=425 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001338 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.5 sysload=0.83 cputime=3.940 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 54.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8707 bytes_read=12260 bytes_retransmit=9 bytes_invalid=0 send_seq=426 receive_seq=426 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001368 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.83 cputime=3.963 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 55.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8713 bytes_read=12497 bytes_retransmit=9 bytes_invalid=0 send_seq=427 receive_seq=427 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001324 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.3 sysload=0.76 cputime=3.985 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 56.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=8719 bytes_read=12690 bytes_retransmit=9 bytes_invalid=0 send_seq=428 receive_seq=428 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001288 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.76 cputime=4.006 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 57.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8779 bytes_read=12923 bytes_retransmit=9 bytes_invalid=0 send_seq=431 receive_seq=431 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001263 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.76 cputime=4.030 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 58.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8791 bytes_read=13176 bytes_retransmit=9 bytes_invalid=0 send_seq=433 receive_seq=433 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001326 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.76 cputime=4.052 memavail=1519112 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 59.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8851 bytes_read=13379 bytes_retransmit=9 bytes_invalid=0 send_seq=436 receive_seq=436 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001308 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.4 sysload=0.76 cputime=4.075 memavail=1518856 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 60.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8857 bytes_read=13587 bytes_retransmit=9 bytes_invalid=0 send_seq=437 receive_seq=437 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001280 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.70 cputime=4.096 memavail=1519116 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 61.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8863 bytes_read=13824 bytes_retransmit=9 bytes_invalid=0 send_seq=438 receive_seq=438 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001259 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.3 sysload=0.70 cputime=4.119 memavail=1519116 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 62.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8869 bytes_read=14032 bytes_retransmit=9 bytes_invalid=0 send_seq=439 receive_seq=439 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001274 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.70 cputime=4.142 memavail=1519116 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 63.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8875 bytes_read=14247 bytes_retransmit=9 bytes_invalid=0 send_seq=440 receive_seq=440 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001259 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.70 cputime=4.166 memavail=1519124 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 64.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8881 bytes_read=14455 bytes_retransmit=9 bytes_invalid=0 send_seq=441 receive_seq=441 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001234 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.70 cputime=4.189 memavail=1519124 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 65.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=8941 bytes_read=14658 bytes_retransmit=9 bytes_invalid=0 send_seq=444 receive_seq=444 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001215 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.64 cputime=4.213 memavail=1519124 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 66.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000007 bytes_write=9001 bytes_read=14891 bytes_retransmit=9 bytes_invalid=0 send_seq=447 receive_seq=447 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001236 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.6 sysload=0.64 cputime=4.237 memavail=1519124 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 67.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=9061 bytes_read=15138 bytes_retransmit=9 bytes_invalid=0 send_seq=450 receive_seq=450 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001214 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.64 cputime=4.261 memavail=1519124 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 68.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=9121 bytes_read=15341 bytes_retransmit=9 bytes_invalid=0 send_seq=453 receive_seq=453 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001201 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.64 cputime=4.284 memavail=1519124 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 69.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=9235 bytes_read=15584 bytes_retransmit=9 bytes_invalid=0 send_seq=458 receive_seq=458 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001187 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.4 sysload=0.64 cputime=4.309 memavail=1519616 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 70.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=9241 bytes_read=15806 bytes_retransmit=9 bytes_invalid=0 send_seq=459 receive_seq=459 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001177 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.5 sysload=0.59 cputime=4.330 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 71.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=9247 bytes_read=15999 bytes_retransmit=9 bytes_invalid=0 send_seq=460 receive_seq=460 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001168 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.59 cputime=4.353 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 72.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=9253 bytes_read=16237 bytes_retransmit=9 bytes_invalid=0 send_seq=461 receive_seq=461 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001159 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.5 sysload=0.59 cputime=4.376 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 73.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=9259 bytes_read=16459 bytes_retransmit=9 bytes_invalid=0 send_seq=462 receive_seq=462 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001154 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.59 cputime=4.399 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.6 pwm=0.000 Stats 74.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=9319 bytes_read=16662 bytes_retransmit=9 bytes_invalid=0 send_seq=465 receive_seq=465 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001143 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.6 sysload=0.59 cputime=4.424 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 75.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=9379 bytes_read=16895 bytes_retransmit=9 bytes_invalid=0 send_seq=468 receive_seq=468 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001132 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.4 sysload=0.54 cputime=4.448 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 76.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=9385 bytes_read=17117 bytes_retransmit=9 bytes_invalid=0 send_seq=469 receive_seq=469 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001126 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.54 cputime=4.472 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 77.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9391 bytes_read=17325 bytes_retransmit=9 bytes_invalid=0 send_seq=470 receive_seq=470 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001124 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.54 cputime=4.495 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 78.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9397 bytes_read=17548 bytes_retransmit=9 bytes_invalid=0 send_seq=471 receive_seq=471 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001142 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.4 sysload=0.54 cputime=4.519 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 79.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9457 bytes_read=17780 bytes_retransmit=9 bytes_invalid=0 send_seq=474 receive_seq=474 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001143 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.4 sysload=0.54 cputime=4.545 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 80.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9463 bytes_read=17973 bytes_retransmit=9 bytes_invalid=0 send_seq=475 receive_seq=475 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001137 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.50 cputime=4.568 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 81.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9523 bytes_read=18220 bytes_retransmit=9 bytes_invalid=0 send_seq=478 receive_seq=478 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001127 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.4 sysload=0.50 cputime=4.595 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 82.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9529 bytes_read=18443 bytes_retransmit=9 bytes_invalid=0 send_seq=479 receive_seq=479 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001120 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.50 cputime=4.621 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 83.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9535 bytes_read=18636 bytes_retransmit=9 bytes_invalid=0 send_seq=480 receive_seq=480 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001115 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.50 cputime=4.646 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 84.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9541 bytes_read=18873 bytes_retransmit=9 bytes_invalid=0 send_seq=481 receive_seq=481 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001110 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.50 cputime=4.673 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 85.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9547 bytes_read=19081 bytes_retransmit=9 bytes_invalid=0 send_seq=482 receive_seq=482 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001112 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.4 sysload=0.46 cputime=4.699 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 86.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=9553 bytes_read=19274 bytes_retransmit=9 bytes_invalid=0 send_seq=483 receive_seq=483 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001127 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.4 sysload=0.46 cputime=4.725 memavail=1519392 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 87.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=9559 bytes_read=19514 bytes_retransmit=9 bytes_invalid=0 send_seq=484 receive_seq=484 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001129 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.46 cputime=4.751 memavail=1519396 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 88.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=9565 bytes_read=19712 bytes_retransmit=9 bytes_invalid=0 send_seq=485 receive_seq=485 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001128 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.6 mcu_temp: temp=34.5 sysload=0.46 cputime=4.778 memavail=1519396 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 89.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=9679 bytes_read=19925 bytes_retransmit=9 bytes_invalid=0 send_seq=490 receive_seq=490 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001124 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.5 sysload=0.46 cputime=4.807 memavail=1519636 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 90.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=9685 bytes_read=20162 bytes_retransmit=9 bytes_invalid=0 send_seq=491 receive_seq=491 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001119 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.50 cputime=4.831 memavail=1519896 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 91.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000005 mcu_task_stddev=0.000004 bytes_write=9799 bytes_read=20390 bytes_retransmit=9 bytes_invalid=0 send_seq=496 receive_seq=496 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001114 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.50 cputime=4.860 memavail=1519904 print_time=39.679 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1832.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=53032 bytes_read=400581 bytes_retransmit=9 bytes_invalid=0 send_seq=3465 receive_seq=3465 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001057 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.8 sysload=0.19 cputime=44.669 memavail=1520476 print_time=1840.642 buffer_time=0.214 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1833.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=53092 bytes_read=400799 bytes_retransmit=9 bytes_invalid=0 send_seq=3468 receive_seq=3468 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001058 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.8 sysload=0.19 cputime=44.693 memavail=1520476 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1834.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=53152 bytes_read=401031 bytes_retransmit=9 bytes_invalid=0 send_seq=3471 receive_seq=3471 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001057 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.7 sysload=0.17 cputime=44.715 memavail=1520476 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1835.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000009 bytes_write=53266 bytes_read=401259 bytes_retransmit=9 bytes_invalid=0 send_seq=3476 receive_seq=3476 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001058 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.6 sysload=0.17 cputime=44.741 memavail=1520476 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1836.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=53380 bytes_read=401502 bytes_retransmit=9 bytes_invalid=0 send_seq=3481 receive_seq=3481 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.7 sysload=0.17 cputime=44.766 memavail=1520476 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1837.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=53386 bytes_read=401724 bytes_retransmit=9 bytes_invalid=0 send_seq=3482 receive_seq=3482 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.17 cputime=44.789 memavail=1520476 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1838.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=53392 bytes_read=401932 bytes_retransmit=9 bytes_invalid=0 send_seq=3483 receive_seq=3483 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001063 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.7 sysload=0.17 cputime=44.811 memavail=1520476 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1839.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=53452 bytes_read=402150 bytes_retransmit=9 bytes_invalid=0 send_seq=3486 receive_seq=3486 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001061 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.7 sysload=0.16 cputime=44.834 memavail=1520476 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1840.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=53458 bytes_read=402372 bytes_retransmit=9 bytes_invalid=0 send_seq=3487 receive_seq=3487 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001062 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.8 sysload=0.16 cputime=44.856 memavail=1520416 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 1841.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=53518 bytes_read=402605 bytes_retransmit=9 bytes_invalid=0 send_seq=3490 receive_seq=3490 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001065 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.6 mcu_temp: temp=34.7 sysload=0.16 cputime=44.874 memavail=1520168 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1842.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=53524 bytes_read=402813 bytes_retransmit=9 bytes_invalid=0 send_seq=3491 receive_seq=3491 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001063 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.8 sysload=0.16 cputime=44.896 memavail=1520736 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1843.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=53584 bytes_read=403045 bytes_retransmit=9 bytes_invalid=0 send_seq=3494 receive_seq=3494 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001060 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.5 sysload=0.16 cputime=44.920 memavail=1520736 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1844.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=53590 bytes_read=403253 bytes_retransmit=9 bytes_invalid=0 send_seq=3495 receive_seq=3495 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001065 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.7 sysload=0.15 cputime=44.938 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1845.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=53596 bytes_read=403461 bytes_retransmit=9 bytes_invalid=0 send_seq=3496 receive_seq=3496 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001067 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.6 sysload=0.15 cputime=44.961 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.4 pwm=0.000 Stats 1846.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000008 bytes_write=53602 bytes_read=403713 bytes_retransmit=9 bytes_invalid=0 send_seq=3497 receive_seq=3497 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001065 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.7 sysload=0.15 cputime=44.986 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1847.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000008 bytes_write=53662 bytes_read=403916 bytes_retransmit=9 bytes_invalid=0 send_seq=3500 receive_seq=3500 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.15 cputime=45.011 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1848.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000008 bytes_write=53668 bytes_read=404124 bytes_retransmit=9 bytes_invalid=0 send_seq=3501 receive_seq=3501 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001065 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.7 sysload=0.15 cputime=45.035 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.6 pwm=0.000 Stats 1849.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000008 bytes_write=53674 bytes_read=404361 bytes_retransmit=9 bytes_invalid=0 send_seq=3502 receive_seq=3502 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.14 cputime=45.054 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1850.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000008 bytes_write=53788 bytes_read=404574 bytes_retransmit=9 bytes_invalid=0 send_seq=3507 receive_seq=3507 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001062 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.14 cputime=45.077 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1851.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000013 bytes_write=53794 bytes_read=404797 bytes_retransmit=9 bytes_invalid=0 send_seq=3508 receive_seq=3508 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001062 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.7 sysload=0.14 cputime=45.101 memavail=1520988 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1852.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000013 bytes_write=53908 bytes_read=405054 bytes_retransmit=9 bytes_invalid=0 send_seq=3513 receive_seq=3513 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001062 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.8 sysload=0.14 cputime=45.130 memavail=1520488 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1853.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000013 bytes_write=53920 bytes_read=405250 bytes_retransmit=9 bytes_invalid=0 send_seq=3515 receive_seq=3515 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001069 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.14 cputime=45.154 memavail=1520488 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1854.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000013 bytes_write=53926 bytes_read=405465 bytes_retransmit=9 bytes_invalid=0 send_seq=3516 receive_seq=3516 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.12 cputime=45.172 memavail=1520488 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1855.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000013 bytes_write=53986 bytes_read=405697 bytes_retransmit=9 bytes_invalid=0 send_seq=3519 receive_seq=3519 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001066 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.7 sysload=0.12 cputime=45.196 memavail=1520488 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1856.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=54100 bytes_read=405925 bytes_retransmit=9 bytes_invalid=0 send_seq=3524 receive_seq=3524 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001065 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.6 mcu_temp: temp=34.6 sysload=0.12 cputime=45.224 memavail=1520488 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1857.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=54214 bytes_read=406168 bytes_retransmit=9 bytes_invalid=0 send_seq=3529 receive_seq=3529 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001062 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.12 cputime=45.251 memavail=1520488 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1858.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=54220 bytes_read=406390 bytes_retransmit=9 bytes_invalid=0 send_seq=3530 receive_seq=3530 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001063 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.7 sysload=0.12 cputime=45.276 memavail=1520496 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1859.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=54280 bytes_read=406593 bytes_retransmit=9 bytes_invalid=0 send_seq=3533 receive_seq=3533 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001057 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.8 sysload=0.11 cputime=45.297 memavail=1521032 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1860.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=54340 bytes_read=406826 bytes_retransmit=9 bytes_invalid=0 send_seq=3536 receive_seq=3536 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001057 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.7 sysload=0.11 cputime=45.321 memavail=1521000 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.6 pwm=0.000 Stats 1861.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=54454 bytes_read=407083 bytes_retransmit=9 bytes_invalid=0 send_seq=3541 receive_seq=3541 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.8 sysload=0.11 cputime=45.346 memavail=1521000 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1862.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=54460 bytes_read=407276 bytes_retransmit=9 bytes_invalid=0 send_seq=3542 receive_seq=3542 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001066 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.8 sysload=0.11 cputime=45.369 memavail=1520684 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1863.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=54466 bytes_read=407499 bytes_retransmit=9 bytes_invalid=0 send_seq=3543 receive_seq=3543 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001067 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.7 sysload=0.11 cputime=45.394 memavail=1520684 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1864.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=54472 bytes_read=407721 bytes_retransmit=9 bytes_invalid=0 send_seq=3544 receive_seq=3544 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.10 cputime=45.413 memavail=1520684 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1865.7: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000015 bytes_write=54532 bytes_read=407924 bytes_retransmit=9 bytes_invalid=0 send_seq=3547 receive_seq=3547 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.8 sysload=0.10 cputime=45.438 memavail=1520684 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1866.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=54646 bytes_read=408182 bytes_retransmit=9 bytes_invalid=0 send_seq=3552 receive_seq=3552 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001063 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.7 sysload=0.10 cputime=45.466 memavail=1520684 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1867.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=54652 bytes_read=408404 bytes_retransmit=9 bytes_invalid=0 send_seq=3553 receive_seq=3553 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001064 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.10 cputime=45.490 memavail=1520684 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1868.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=54658 bytes_read=408597 bytes_retransmit=9 bytes_invalid=0 send_seq=3554 receive_seq=3554 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001063 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.8 sysload=0.10 cputime=45.513 memavail=1520688 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1869.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=54664 bytes_read=408834 bytes_retransmit=9 bytes_invalid=0 send_seq=3555 receive_seq=3555 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001058 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.10 cputime=45.533 memavail=1520776 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1870.7: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=54724 bytes_read=409052 bytes_retransmit=9 bytes_invalid=0 send_seq=3558 receive_seq=3558 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001056 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.10 cputime=45.559 memavail=1520688 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1871.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=54730 bytes_read=409260 bytes_retransmit=9 bytes_invalid=0 send_seq=3559 receive_seq=3559 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001055 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.7 sysload=0.10 cputime=45.583 memavail=1520688 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1872.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=54790 bytes_read=409507 bytes_retransmit=9 bytes_invalid=0 send_seq=3562 receive_seq=3562 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001053 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.10 cputime=45.610 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1873.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=54904 bytes_read=409735 bytes_retransmit=9 bytes_invalid=0 send_seq=3567 receive_seq=3567 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001049 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.6 sysload=0.10 cputime=45.639 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1874.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=54910 bytes_read=409928 bytes_retransmit=9 bytes_invalid=0 send_seq=3568 receive_seq=3568 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001046 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.09 cputime=45.658 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.6 pwm=0.000 Stats 1875.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000011 bytes_write=54916 bytes_read=410165 bytes_retransmit=9 bytes_invalid=0 send_seq=3569 receive_seq=3569 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001045 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.09 cputime=45.682 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1876.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=54922 bytes_read=410386 bytes_retransmit=9 bytes_invalid=0 send_seq=3570 receive_seq=3570 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001046 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.09 cputime=45.708 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1877.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=54982 bytes_read=410576 bytes_retransmit=9 bytes_invalid=0 send_seq=3573 receive_seq=3573 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001047 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.7 sysload=0.09 cputime=45.734 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1878.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=55042 bytes_read=410817 bytes_retransmit=9 bytes_invalid=0 send_seq=3576 receive_seq=3576 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001049 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.6 sysload=0.09 cputime=45.761 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1879.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=55156 bytes_read=411045 bytes_retransmit=9 bytes_invalid=0 send_seq=3581 receive_seq=3581 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001047 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.6 sysload=0.16 cputime=45.782 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1880.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000012 bytes_write=55270 bytes_read=411258 bytes_retransmit=9 bytes_invalid=0 send_seq=3586 receive_seq=3586 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001049 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.8 sysload=0.16 cputime=45.810 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1881.8: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000017 bytes_write=55276 bytes_read=411510 bytes_retransmit=9 bytes_invalid=0 send_seq=3587 receive_seq=3587 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001055 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.8 sysload=0.16 cputime=45.835 memavail=1521196 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1882.8: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000017 bytes_write=55336 bytes_read=411728 bytes_retransmit=9 bytes_invalid=0 send_seq=3590 receive_seq=3590 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001054 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.7 sysload=0.16 cputime=45.860 memavail=1520692 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1883.8: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000017 bytes_write=55342 bytes_read=411921 bytes_retransmit=9 bytes_invalid=0 send_seq=3591 receive_seq=3591 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001054 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.6 mcu_temp: temp=34.7 sysload=0.16 cputime=45.883 memavail=1520692 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1884.8: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000017 bytes_write=55402 bytes_read=412168 bytes_retransmit=9 bytes_invalid=0 send_seq=3594 receive_seq=3594 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001051 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=52.1 mcu_temp: temp=34.9 sysload=0.15 cputime=45.907 memavail=1520944 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1885.8: gcodein=0 mcu: mcu_awake=0.002 mcu_task_avg=0.000008 mcu_task_stddev=0.000017 bytes_write=55408 bytes_read=412376 bytes_retransmit=9 bytes_invalid=0 send_seq=3595 receive_seq=3595 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001053 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.15 cputime=45.929 memavail=1520944 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1886.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=55414 bytes_read=412584 bytes_retransmit=9 bytes_invalid=0 send_seq=3596 receive_seq=3596 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001055 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.6 sysload=0.15 cputime=45.951 memavail=1520944 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1887.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=55528 bytes_read=412841 bytes_retransmit=9 bytes_invalid=0 send_seq=3601 receive_seq=3601 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001055 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.7 sysload=0.15 cputime=45.977 memavail=1520944 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1888.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=55642 bytes_read=413069 bytes_retransmit=9 bytes_invalid=0 send_seq=3606 receive_seq=3606 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001060 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=50.1 mcu_temp: temp=34.8 sysload=0.15 cputime=46.003 memavail=1520944 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1889.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=55648 bytes_read=413262 bytes_retransmit=9 bytes_invalid=0 send_seq=3607 receive_seq=3607 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001060 heater_bed: target=0 temp=24.1 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.8 sysload=0.14 cputime=46.025 memavail=1520960 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1890.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000006 mcu_task_stddev=0.000010 bytes_write=55654 bytes_read=413499 bytes_retransmit=9 bytes_invalid=0 send_seq=3608 receive_seq=3608 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001060 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.5 sysload=0.14 cputime=46.048 memavail=1520944 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1891.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=55660 bytes_read=413722 bytes_retransmit=9 bytes_invalid=0 send_seq=3609 receive_seq=3609 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001060 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.6 mcu_temp: temp=34.8 sysload=0.14 cputime=46.071 memavail=1520944 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000 Stats 1892.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000012 bytes_write=55666 bytes_read=413930 bytes_retransmit=9 bytes_invalid=0 send_seq=3610 receive_seq=3610 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=180001062 heater_bed: target=0 temp=24.2 pwm=0.000 chamber_temp: temp=23.0 raspberry_pi: temp=51.1 mcu_temp: temp=34.8 sysload=0.14 cputime=46.093 memavail=1521456 print_time=1840.642 buffer_time=0.000 print_stall=0 extruder: target=0 temp=24.5 pwm=0.000