From 5c802342167b0d94dd62f544509e445de2a7602a Mon Sep 17 00:00:00 2001 From: Konstantin Koslowski Date: Sun, 1 Aug 2021 12:31:08 +0100 Subject: [PATCH] prusa-mini: add macros --- printer.cfg | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 170 insertions(+), 1 deletion(-) diff --git a/printer.cfg b/printer.cfg index 564f740..dcc7069 100644 --- a/printer.cfg +++ b/printer.cfg @@ -22,6 +22,161 @@ # See docs/Config_Reference.md for a description of parameters. +## gcode macros +# custom slicer START_PRINT and END_PRINT macros +[gcode_macro START_PRINT] +description: start printing +gcode: + {% set BED_TEMP = params.BED_TEMP|default(60)|float %} + {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %} + M140 S{BED_TEMP} # start bed heating + M104 S{EXTRUDER_TEMP} # start extruder heating + G90 # use absolute coordinates + G92 E0 # reset extruder + # SET_GCODE_OFFSET Z=0.0 # reset the G-Code Z offset (adjust Z offset if needed) + G28 # home the printer + G1 Z5 F3000 # move the nozzle near the bed + G1 Z0.15 F300 # move the nozzle very close to the bed + M190 S{BED_TEMP} # wait for bed temperature + M109 S{EXTRUDER_TEMP} # set and wait for nozzle temperature + # clean nozzle + G0 Z5 F300 # move Z to travel height + G0 X40 Y0 F5000 # move to start position + G0 Z0.2 F1500 # lower Z + G0 X150 Y0 Z0.2 E15 # draw line + G0 X150 Y0.4 Z0.2 # move to the side little + G0 X30 Y0.4 Z0.2 E30 # draw line + G0 Z5 F300 # move Z to travel height + +[gcode_macro END_PRINT] +description: end printing +gcode: + M140 S0 # Turn off bed + M104 S0 # Turn off extruder + M106 S0 # Turn off fan + G91 # Use relativ coordinates + G1 X-2 Y-2 E-3 F300 # Move nozzle away from print while retracting + G1 Z10 F3000 # Raise nozzle by 10mm + G90 # Use absolute coordinates + M84 # Disable steppers + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +gcode: + ## set defaults + {% set x = params.X|default(160) %} + {% set y = params.Y|default(20) %} + {% set z = params.Z|default(10)|float %} + {% set e = params.E|default(1) %} + ## calculate save lift position + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% set lift_z = z|abs %} + {% if act_z < (max_z - lift_z) %} + {% set z_safe = lift_z %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + PAUSE_BASE + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E-{e} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G1 Z{z_safe} + G90 + G1 X{x} Y{y} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ## set defaults + {% set e = params.E|default(1) %} + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + G1 E{e} F2100 + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE + +[gcode_macro UNLOAD] +description: unload filament +gcode: + {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %} + M104 S{EXTRUDER_TEMP} # heat extruder + G91 # relative coordinates + G0 E-370 F3000 # unload + G90 # absolute coordinates + +[gcode_macro LOAD] +description: load filament +gcode: + {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %} + M117 heating extruder to {EXTRUDER_TEMP} + M104 S{EXTRUDER_TEMP} # heat extruder + M109 S{EXTRUDER_TEMP} # wait for extruder temperature + G91 # relative coordinates + G0 E350 F3000 # load almost to nozzle + G0 E30 F300 # slowly purge + G90 # absolute coordinates + +[gcode_macro M600] +description: Change filament +gcode: + SAVE_GCODE_STATE NAME=M600_state + PAUSE + UNLOAD + M117 change filament + RESTORE_GCODE_STATE NAME=M600_state + +## Remove unused gcodes +[gcode_macro G29] +description: Bed Leveling +gcode: + G4 + +[gcode_macro M201] +description: Set Print Max Acceleration +gcode: + G4 + +[gcode_macro M203] +description: Set Max Feedrate +gcode: + G4 + +[gcode_macro M205] +description: Set Advanced Settings +gcode: + G4 + +[gcode_macro M900] +description: Linear Advance Factor +gcode: + G4 + + +## general configuration [pause_resume] [display_status] @@ -84,6 +239,7 @@ sensor_pin: PC0 #pid_Kd: 45 min_temp: 10 max_temp: 305 +max_extrude_only_distance: 800.0 [tmc2209 stepper_x] uart_pin: PD5 @@ -162,7 +318,7 @@ y_offset: -3 speed: 6.0 [safe_z_home] -home_xy_position: 147.4,21.1 +home_xy_position: 160,20 z_hop: 4 [bed_mesh] @@ -175,6 +331,19 @@ probe_count: 4,4 [filament_switch_sensor filament_sensor] switch_pin: ^PB4 pause_on_runout: True +event_delay: 3.0 +pause_delay: 0.5 +runout_gcode: + M117 filament removed +insert_gcode: + M117 filament inserted + G4 P3000 + {% for i in range(10) %} + M117 loading in {10-i} + G4 P1000 + {% endfor %} + M117 loading now + load [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_2B0024001547393432343038-if00