Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ===== Config file =====
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- microsteps = 16
- rotation_distance = 40
- endstop_pin = !P1.29
- position_endstop = 0
- position_max = 235
- homing_speed = 50
- [stepper_y]
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- microsteps = 16
- rotation_distance = 40
- endstop_pin = !P1.28
- position_endstop = 0
- position_max = 235
- homing_speed = 50
- [stepper_z]
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- microsteps = 16
- rotation_distance = 8
- endstop_pin = !P1.27
- position_endstop = 0.0
- position_max = 300
- [extruder]
- step_pin = P2.13
- dir_pin = !P0.11
- enable_pin = !P2.12
- microsteps = 16
- rotation_distance = 33.500
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.08
- pid_kd = 114
- min_temp = 0
- max_temp = 260
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 500
- max_z_velocity = 10
- max_z_accel = 100
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- =======================
- Args: ['/home/pi/klipper/klippy/klippy.py', '/home/pi/printer_data/config/printer.cfg', '-l', '/home/pi/printer_data/logs/klippy.log', '-I', '/home/pi/printer_data/comms/klippy.serial', '-a', '/home/pi/printer_data/comms/klippy.sock']
- Git version: 'v0.11.0-271-g5f990f93'
- Branch: master
- Remote: origin
- Tracked URL: https://github.com/Klipper3d/klipper.git
- CPU: 4 core ARMv7 Processor rev 4 (v7l)
- Python: '3.9.2 (default, Mar 12 2021, 04:06:34) \n[GCC 10.2.1 20210110]'
- webhooks client 1965668888: {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- =============== Log rollover at Mon Sep 11 11:13:33 2023 ===============
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- mcu 'mcu': Unable to open serial port: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- MCU error during connect
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/mcu.py", line 798, in _mcu_identify
- self._serial.connect_uart(self._serialport, self._baud, rts)
- File "/home/pi/klipper/klippy/serialhdl.py", line 182, in connect_uart
- self._error("Unable to connect")
- File "/home/pi/klipper/klippy/serialhdl.py", line 61, in _error
- raise error(self.warn_prefix + (msg % params))
- serialhdl.error: mcu 'mcu': Unable to connect
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 176, in _connect
- self.send_event("klippy:mcu_identify")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 803, in _mcu_identify
- raise error(str(e))
- mcu.error: mcu 'mcu': Unable to connect
- No build file /home/pi/klipper/klippy/../.config
- No build file /home/pi/klipper/klippy/../out/klipper.dict
- No build file /home/pi/klipper/klippy/../out/klipper.elf
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:10:51 2023 (1694463051.0 7079.2)
- ===== Config file =====
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- endstop_pin = probe:z_virtual_endstop
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- =======================
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 141, in _read_config
- self.load_object(config, section_config.get_name(), None)
- File "/home/pi/klipper/klippy/klippy.py", line 130, in load_object
- self.objects[section] = init_func(config.getsection(section))
- File "/home/pi/klipper/klippy/extras/probe.py", line 458, in load_config
- return PrinterProbe(config, ProbeEndstopWrapper(config))
- File "/home/pi/klipper/klippy/extras/probe.py", line 298, in __init__
- self.position_endstop = config.getfloat('z_offset')
- File "/home/pi/klipper/klippy/configfile.py", line 65, in getfloat
- return self._get_wrapper(self.fileconfig.getfloat, option, default,
- File "/home/pi/klipper/klippy/configfile.py", line 32, in _get_wrapper
- raise error("Option '%s' in section '%s' must be specified"
- configparser.Error: Option 'z_offset' in section 'probe' must be specified
- webhooks client 1970611656: New connection
- webhooks client 1970611656: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:11:46 2023 (1694463106.4 7134.5)
- ===== Config file =====
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- z_offset = 1
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- endstop_pin = probe:z_virtual_endstop
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- =======================
- Extruder max_extrude_ratio=0.266081
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 145, in _read_config
- pconfig.check_unused_options(config)
- File "/home/pi/klipper/klippy/configfile.py", line 304, in check_unused_options
- raise error("Option '%s' is not valid in section '%s'"
- configparser.Error: Option 'position_endstop' is not valid in section 'stepper_z'
- webhooks client 1965832968: New connection
- webhooks client 1965832968: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:17:43 2023 (1694463463.7 7491.8)
- ===== Config file =====
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- z_offset = 1
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- endstop_pin = probe:z_virtual_endstop
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- =======================
- Extruder max_extrude_ratio=0.266081
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 145, in _read_config
- pconfig.check_unused_options(config)
- File "/home/pi/klipper/klippy/configfile.py", line 304, in check_unused_options
- raise error("Option '%s' is not valid in section '%s'"
- configparser.Error: Option 'position_endstop' is not valid in section 'stepper_z'
- webhooks client 1964108480: New connection
- webhooks client 1964108480: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:19:21 2023 (1694463561.4 7589.5)
- ===== Config file =====
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- z_offset = 1
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- endstop_pin = probe:z_virtual_endstop
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- =======================
- Extruder max_extrude_ratio=0.266081
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 145, in _read_config
- pconfig.check_unused_options(config)
- File "/home/pi/klipper/klippy/configfile.py", line 304, in check_unused_options
- raise error("Option '%s' is not valid in section '%s'"
- configparser.Error: Option 'position_endstop' is not valid in section 'stepper_z'
- webhooks client 1965667784: New connection
- webhooks client 1965667784: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- webhooks client 1965667784: Disconnected
- Restarting printer
- Start printer at Mon Sep 11 13:19:55 2023 (1694463595.2 7623.3)
- ===== Config file =====
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- z_offset = 1
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- endstop_pin = probe:z_virtual_endstop
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- =======================
- Extruder max_extrude_ratio=0.266081
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 145, in _read_config
- pconfig.check_unused_options(config)
- File "/home/pi/klipper/klippy/configfile.py", line 304, in check_unused_options
- raise error("Option '%s' is not valid in section '%s'"
- configparser.Error: Option 'position_endstop' is not valid in section 'stepper_z'
- webhooks client 1964875368: New connection
- webhooks client 1964875368: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:38:59 2023 (1694464739.8 8768.0)
- ===== Config file =====
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- endstop_pin = probe:z_virtual_endstop
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- speed = 50.0
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- speed = 50
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- =======================
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 141, in _read_config
- self.load_object(config, section_config.get_name(), None)
- File "/home/pi/klipper/klippy/klippy.py", line 130, in load_object
- self.objects[section] = init_func(config.getsection(section))
- File "/home/pi/klipper/klippy/extras/probe.py", line 458, in load_config
- return PrinterProbe(config, ProbeEndstopWrapper(config))
- File "/home/pi/klipper/klippy/extras/probe.py", line 298, in __init__
- self.position_endstop = config.getfloat('z_offset')
- File "/home/pi/klipper/klippy/configfile.py", line 65, in getfloat
- return self._get_wrapper(self.fileconfig.getfloat, option, default,
- File "/home/pi/klipper/klippy/configfile.py", line 32, in _get_wrapper
- raise error("Option '%s' in section '%s' must be specified"
- configparser.Error: Option 'z_offset' in section 'probe' must be specified
- webhooks client 1963821112: New connection
- webhooks client 1963821112: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:39:32 2023 (1694464772.3 8800.4)
- ===== Config file =====
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- endstop_pin = probe:z_virtual_endstop
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- z_offset = 1
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- speed = 50.0
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- speed = 50
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- =======================
- Extruder max_extrude_ratio=0.266081
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 145, in _read_config
- pconfig.check_unused_options(config)
- File "/home/pi/klipper/klippy/configfile.py", line 304, in check_unused_options
- raise error("Option '%s' is not valid in section '%s'"
- configparser.Error: Option 'position_endstop' is not valid in section 'stepper_z'
- webhooks client 1964200024: New connection
- webhooks client 1964200024: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:41:17 2023 (1694464877.2 8905.4)
- ===== Config file =====
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
- [gcode_macro _CLIENT_RETRACT]
- description = Retracts, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_retract)|default(35) %}
- _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs}
- [stepper_x]
- microsteps = 16
- step_pin = P2.2
- dir_pin = P2.6
- enable_pin = !P2.1
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_x:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_x]
- uart_pin = P1.10
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.29
- driver_sgthrs = 255
- [stepper_y]
- microsteps = 16
- step_pin = P0.19
- dir_pin = P0.20
- enable_pin = !P2.8
- rotation_distance = 40
- endstop_pin = tmc2209_stepper_y:virtual_endstop
- position_endstop = 0
- position_max = 300
- homing_speed = 20
- homing_retract_dist = 0
- [tmc2209 stepper_y]
- uart_pin = P1.9
- interpolate = True
- run_current = 0.800
- stealthchop_threshold = 999999
- diag_pin = 1.28
- driver_sgthrs = 255
- [stepper_z]
- microsteps = 16
- step_pin = P0.22
- dir_pin = !P2.11
- enable_pin = !P0.21
- rotation_distance = 8
- position_endstop = 0
- position_min = -3.5
- position_max = 400
- [tmc2209 stepper_z]
- uart_pin = P1.8
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [stepper_z1]
- microsteps = 16
- step_pin = P1.15
- dir_pin = !P1.14
- enable_pin = !P1.16
- rotation_distance = 8
- [tmc2209 stepper_z1]
- uart_pin = P1.1
- interpolate = True
- run_current = 0.750
- hold_current = 0.450
- stealthchop_threshold = 999999
- [extruder]
- microsteps = 16
- step_pin = P2.13
- dir_pin = P0.11
- enable_pin = !P2.12
- rotation_distance = 33.683
- nozzle_diameter = 0.400
- filament_diameter = 1.750
- heater_pin = P2.7
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.24
- control = pid
- pid_kp = 22.2
- pid_ki = 1.72
- pid_kd = 73.96
- min_temp = 0
- max_temp = 260
- pressure_advance = 0.0
- pressure_advance_smooth_time = 0.040
- [tmc2209 extruder]
- uart_pin = P1.4
- interpolate = True
- run_current = 0.600
- hold_current = 0.500
- stealthchop_threshold = 999999
- [heater_bed]
- heater_pin = P2.5
- sensor_type = EPCOS 100K B57560G104F
- sensor_pin = P0.25
- control = pid
- pid_kp = 54.027
- pid_ki = 0.770
- pid_kd = 948.182
- min_temp = 0
- max_temp = 130
- [fan]
- pin = P2.3
- [mcu]
- serial = /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00
- method = command
- [printer]
- kinematics = cartesian
- max_velocity = 400
- max_accel = 3000
- max_z_velocity = 10
- max_z_accel = 100
- [z_tilt]
- z_positions = -32, 179
- 332, 179
- points = 40, 179
- 295, 179
- speed = 50
- horizontal_move_z = 5
- retries = 10
- retry_tolerance = 0.01
- [gcode_arcs]
- resolution = 1.0
- [board_pins]
- aliases =
- EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
- EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
- EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
- EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
- [display]
- lcd_type = st7920
- cs_pin = EXP1_4
- sclk_pin = EXP1_5
- sid_pin = EXP1_3
- encoder_pins = ^EXP2_3, ^EXP2_5
- click_pin = ^!EXP1_2
- [output_pin beeper]
- pin = EXP1_1
- [probe]
- pin = 1.27
- x_offset = 48
- y_offset = -2
- z_offset = 1
- speed = 5
- samples = 2
- lift_speed = 8
- [safe_z_home]
- home_xy_position = 102, 152
- speed = 50.0
- z_hop = 5
- z_hop_speed = 10.0
- [bed_mesh]
- speed = 50
- mesh_min = 48, 20
- mesh_max = 280, 280
- probe_count = 5, 5
- =======================
- Config error
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 175, in _connect
- self._read_config()
- File "/home/pi/klipper/klippy/klippy.py", line 143, in _read_config
- m.add_printer_objects(config)
- File "/home/pi/klipper/klippy/toolhead.py", line 606, in add_printer_objects
- config.get_printer().add_object('toolhead', ToolHead(config))
- File "/home/pi/klipper/klippy/toolhead.py", line 257, in __init__
- self.kin = mod.load_kinematics(self, config)
- File "/home/pi/klipper/klippy/kinematics/cartesian.py", line 126, in load_kinematics
- return CartKinematics(toolhead, config)
- File "/home/pi/klipper/klippy/kinematics/cartesian.py", line 16, in __init__
- self.rails = [stepper.LookupMultiRail(config.getsection('stepper_' + n))
- File "/home/pi/klipper/klippy/kinematics/cartesian.py", line 16, in <listcomp>
- self.rails = [stepper.LookupMultiRail(config.getsection('stepper_' + n))
- File "/home/pi/klipper/klippy/stepper.py", line 423, in LookupMultiRail
- rail = PrinterRail(config, need_position_minmax,
- File "/home/pi/klipper/klippy/stepper.py", line 304, in __init__
- self.add_extra_stepper(config)
- File "/home/pi/klipper/klippy/stepper.py", line 380, in add_extra_stepper
- endstop_pin = config.get('endstop_pin')
- File "/home/pi/klipper/klippy/configfile.py", line 57, in get
- return self._get_wrapper(self.fileconfig.get, option, default,
- File "/home/pi/klipper/klippy/configfile.py", line 32, in _get_wrapper
- raise error("Option '%s' in section '%s' must be specified"
- configparser.Error: Option 'endstop_pin' in section 'stepper_z' must be specified
- webhooks client 1963819768: New connection
- webhooks client 1963819768: Client info {'program': 'Moonraker', 'version': 'v0.8.0-138-gfe12095'}
- Attempting MCU 'mcu' reset
- Unhandled exception during post run
- Traceback (most recent call last):
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 265, in open
- self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
- FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- During handling of the above exception, another exception occurred:
- Traceback (most recent call last):
- File "/home/pi/klipper/klippy/klippy.py", line 234, in run
- self.send_event("klippy:firmware_restart")
- File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
- return [cb(*params) for cb in self.event_handlers.get(event, [])]
- File "/home/pi/klipper/klippy/mcu.py", line 949, in _firmware_restart
- self._restart_arduino()
- File "/home/pi/klipper/klippy/mcu.py", line 909, in _restart_arduino
- serialhdl.arduino_reset(self._serialport, self._reactor)
- File "/home/pi/klipper/klippy/serialhdl.py", line 379, in arduino_reset
- ser = serial.Serial(serialport, 2400, timeout=0, exclusive=True)
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialutil.py", line 240, in __init__
- self.open()
- File "/home/pi/klippy-env/lib/python3.9/site-packages/serial/serialposix.py", line 268, in open
- raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
- serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-Klipper_lpc1769_0F000002C0846AAF31A7555EC72000F5-if00/dev/serial/by-id/usb-Klipper_lpc1769_1360000DA69869AF6441415EC52000F5-if00'
- Restarting printer
- Start printer at Mon Sep 11 13:42:31 2023 (1694464952.0 8980.1)
- ===== Config file =====
- [virtual_sdcard]
- path = ~/printer_data/gcodes
- on_error_gcode = CANCEL_PRINT
- [pause_resume]
- [display_status]
- [respond]
- [gcode_macro CANCEL_PRINT]
- description = Cancel the actual running print
- rename_existing = CANCEL_PRINT_BASE
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %}
- {% set retract = client.cancel_retract|default(5.0)|abs %}
- {% set park_x = "" if (client.park_at_cancel_x|default(none) is none)
- else "X=" ~ client.park_at_cancel_x %}
- {% set park_y = "" if (client.park_at_cancel_y|default(none) is none)
- else "Y=" ~ client.park_at_cancel_y %}
- {% set custom_park = park_x|length > 0 or park_y|length > 0 %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
- _CLIENT_RETRACT LENGTH={retract}
- TURN_OFF_HEATERS
- M106 S0
- SET_PAUSE_NEXT_LAYER ENABLE=0
- SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
- CANCEL_PRINT_BASE
- [gcode_macro PAUSE]
- description = Pause the actual running print
- rename_existing = PAUSE_BASE
- variable_restore_idle_timeout = 0
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set idle_timeout = client.idle_timeout|default(0) %}
- {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0%}
- {% set restore = False if printer.toolhead.extruder == ''
- else True if params.RESTORE|default(1)|int == 1 else False %}
- SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}"
- {% if idle_timeout > 0 %}
- SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
- SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
- {% endif %}
- PAUSE_BASE
- _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}
- [gcode_macro RESUME]
- description = Resume the actual running print
- rename_existing = RESUME_BASE
- variable_last_extruder_temp = {'restore': False, 'temp': 0}
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set sp_move = client.speed_move|default(velocity) %}
- {% if printer['gcode_macro PAUSE'].restore_idle_timeout > 0 %}
- SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro PAUSE'].restore_idle_timeout}
- {% endif %}
- {% if printer.idle_timeout.state|upper == "IDLE" %}
- {% if last_extruder_temp.restore %} M109 S{last_extruder_temp.temp} {% endif %}
- {% endif %}
- _CLIENT_EXTRUDE
- RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
- [gcode_macro SET_PAUSE_NEXT_LAYER]
- description = Enable a pause if the next layer is reached
- gcode =
- {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %}
- {% set ENABLE = params.ENABLE|default(1)|int != 0 %}
- {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}"
- [gcode_macro SET_PAUSE_AT_LAYER]
- description = Enable/disable a pause if a given layer number is reached
- gcode =
- {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %}
- {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined
- else params.LAYER is defined %}
- {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %}
- {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %}
- SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}"
- [gcode_macro SET_PRINT_STATS_INFO]
- rename_existing = SET_PRINT_STATS_INFO_BASE
- description = Overwrite, to get pause_next_layer and pause_at_layer feature
- variable_pause_next_layer = { 'enable': False, 'call': "PAUSE" }
- variable_pause_at_layer = { 'enable': False, 'layer': 0, 'call': "PAUSE" }
- gcode =
- {% if pause_next_layer.enable %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}'
- {pause_next_layer.call}
- SET_PAUSE_NEXT_LAYER ENABLE=0
- {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %}
- RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}'
- {pause_at_layer.call}
- SET_PAUSE_AT_LAYER ENABLE=0
- {% endif %}
- SET_PRINT_STATS_INFO_BASE {rawparams}
- [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
- description = Helper: park toolhead used in PAUSE and CANCEL_PRINT
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %}
- {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %}
- {% set custom_park_x = client.custom_park_x|default(0.0) %}
- {% set custom_park_y = client.custom_park_y|default(0.0) %}
- {% set park_dz = client.custom_park_dz|default(2.0)|abs %}
- {% set sp_hop = client.speed_hop|default(15) * 60 %}
- {% set sp_move = client.speed_move|default(velocity) * 60 %}
- {% set origin = printer.gcode_move.homing_origin %}
- {% set act = printer.gcode_move.gcode_position %}
- {% set max = printer.toolhead.axis_maximum %}
- {% set cone = printer.toolhead.cone_start_z|default(max.z) %}
- {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch']
- else False %}
- {% set z_min = params.Z_MIN|default(0)|float %}
- {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %}
- {% set x_park = params.X if params.X is defined
- else custom_park_x if use_custom
- else 0.0 if round_bed
- else (max.x - 5.0) %}
- {% set y_park = params.Y if params.Y is defined
- else custom_park_y if use_custom
- else (max.y - 5.0) if round_bed and z_park < cone
- else 0.0 if round_bed
- else (max.y - 5.0) %}
- _CLIENT_RETRACT
- {% if "xyz" in printer.toolhead.homed_axes %}
- G90
- G1 Z{z_park} F{sp_hop}
- G1 X{x_park} Y{y_park} F{sp_move}
- {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Printer not homed'
- {% endif %}
- [gcode_macro _CLIENT_EXTRUDE]
- description = Extrudes, if the extruder is hot enough
- gcode =
- {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
- {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
- {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
- {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
- {% set absolute_extrude = printer.gcode_move.absolute_extrude %}
- {% if printer.toolhead.extruder != '' %}
- {% if printer[printer.toolhead.extruder].can_extrude %}
- {% if use_fw_retract %}
- {% if length < 0 %}
- G10
- {% else %}
- G11
- {% endif %}
- {% else %}
- M83
- G1 E{length} F{(speed|float|abs) * 60}
- {% if absolute_extrude %}
- M82
- {% endif %}
- {% endif %}
- {% else %}
- RESPOND TYPE=echo MSG='Extruder not hot enough'
- {% endif %}
- {% endif %}
Advertisement
Add Comment
Please, Sign In to add comment