v2.4: update things

This commit is contained in:
Konstantin Koslowski 2021-11-25 22:57:41 +01:00
parent d287262e72
commit 1694da09bc
5 changed files with 165 additions and 150 deletions

View file

@ -1,55 +1,73 @@
####################################################################
# Helper macros
# - MOVE_SPEED
# - ZES
# - ...
####################################################################
[gcode_macro MOVE_SPEED]
description: move along certain patterns with selected speed
gcode:
{% set F=params.F|default(3000)|int %}
{% set N=params.N|default(1)|int %}
{% if printer.idle_timeout.state != "Printing" %}
{% if "xyz" in printer.toolhead.homed_axes %}
{action_respond_info("moving with F%d" % F)}
; square clockwise
M117 > square clockwise
G0 X275 Y275 F{F}
G0 Y25
G0 X25
G0 Y275
G0 X275
; square counter-clockwise
M117 > square counter-clockwise
G0 X25
G0 Y25
G0 X275
G0 Y275
; diagonal motor a
M117 > diagonal motor a
G0 X25 Y25
G0 X275 Y275
G0 X25
; diagonal motor b
M117 > diagonal motor b
G0 X275 Y25
G0 X25 Y275
G0 X275 Y275
M118 moving {N}x with F{F}
{% set X0=275 %}
{% set X1=25 %}
{% set Y0=275 %}
{% set Y1=25 %}
; start
G0 X{X0} Y{Y0} F3000
G0 F{F}
{% for i in range(N) %}
M118 move {(i+1)}/{N}
; move 1
G0 X{X1} Y{Y0}
G0 X{X0} Y{Y1}
; move 2
G0 X{X0} Y{Y0}
G0 X{X1} Y{Y1}
; move 3
G0 X{X0} Y{Y1}
G0 X{X1} Y{Y0}
; move 4
G0 X{X1} Y{Y1}
G0 X{X0} Y{Y0}
{% endfor %}
M118 done
{% else %}
{action_respond_info("Printer not homed")}
M118 Printer not homed
{% endif %}
{% else %}
{action_respond_info("Already printing")}
M118 Already printing
{% endif %}
[gcode_macro ZES]
description: Z_ENDSTOP_CALIBRATE + extras
[gcode_macro fes]
description: query filament sensor encoder_sensor
gcode:
{% if printer.idle_timeout.state != "Printing" %}
G28
G0 X150 Y150 Z10 F10000
Z_ENDSTOP_CALIBRATE
TESTZ Z=-9
{% else %}
{action_respond_info("Already printing")}
{% endif %}
QUERY_FILAMENT_SENSOR SENSOR=encoder_sensor
[gcode_macro fts]
description: query filament sensor toolhead_sensor
gcode:
QUERY_FILAMENT_SENSOR SENSOR=toolhead_sensor
[gcode_macro zc]
gcode:
{% set z_run = params.CUR|default(0.4)|float %}
{% set z_hold = z_run %}
{action_respond_info("zc: setting zcurrent to %.2f" % z_run)}
SET_TMC_CURRENT STEPPER=stepper_z CURRENT={z_run} HOLDCURRENT={z_hold}
SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={z_run} HOLDCURRENT={z_hold}
SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={z_run} HOLDCURRENT={z_hold}
SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={z_run} HOLDCURRENT={z_hold}
[gcode_macro zm]
gcode:
{% set speed = params.SPEED|default(300)|int %}
{action_respond_info("moving with F%d" % speed)}
G0 Z30 F{speed}
G0 Z10 F{speed}

View file

@ -18,28 +18,32 @@
gcode:
{% set x0=200 %}
{% set x1=250 %}
{% set y0=310 %}
{% set z0=1 %}
{% set y0=309 %}
{% set z0=1.5 %}
{% set z_hop = printer['gcode_macro _USER_VARIABLE'].z_hop|int %}
{% if "xyz" in printer.toolhead.homed_axes %}
M117 > brushie brushie brushie
M118 brushie brushie brushie
G0 Z{z_hop} F1000 # move Z to travel height
G0 X{x0} Y{y0} F6000 # move to x0/y0
G0 Z{z0} # lower
G0 X{x1} # back
G0 X{x0} # forth
G0 X{x1} # back
G0 X{x1} # 1
G0 X{x0} # 2
G0 X{x1} # 3
G0 X{x0} # 4
G0 Z{z_hop} F300 # move Z to travel height
{% else %}
{action_respond_info("Printer not homed")}
M118 Printer not homed
{% endif %}
# CANCEL_PRINT
# # - CANCEL_PRINT
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: _CANCEL_PRINT_BASE
gcode:
SET_FILAMENT_SENSOR SENSOR=encoder_sensor ENABLE=0
CLEAR_PAUSE
SDCARD_RESET_FILE
TURN_OFF_HEATERS
PARK
_CANCEL_PRINT_BASE
@ -50,7 +54,7 @@ description: Change filament
gcode:
SAVE_GCODE_STATE NAME=M600_state
PAUSE Y=15
M117 > change filament
M118 M600 change filament
RESTORE_GCODE_STATE NAME=M600_state
[gcode_macro M900]
@ -72,43 +76,42 @@ gcode:
{% set y_park = Y %}
{% endif %}
# calculate save lift position
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - 20.0) %}
{% set z_safe = 20.0 %}
{% else %}
{% set z_safe = max_z - act_z %}
{% set z_max = printer.toolhead.axis_maximum.z|float %}
{% set z_act = printer.toolhead.position.z|float %}
{% set z_safe = z_act + 10 %}
{% if z_safe > z_max %}
{% set z_safe = z_max %}
{% endif %}
G91
G0 Z{z_safe} F1200
G90
G0 X{x_park} Y{y_park} F6000
{% else %}
{action_respond_info("Printer not homed")}
M118 Printer not homed
{% endif %}
# PAUSE
# - PAUSE
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: _PAUSE_BASE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
{% set Y=params.Y|default(295) %}
{% set YMIN = printer.toolhead.axis_minimum.y|float + 5.0 %}
{% set Y=params.Y|default(YMIN) %}
# read E from pause macro
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
# end of definitions
M117 > pause
M118 pause
_PAUSE_BASE
{% if printer.extruder.can_extrude|lower == 'true' %}
G91
G1 E-{E} F2100
G90
{% else %}
{action_respond_info("Extruder not hot enough")}
M118 Extruder not hot enough
{% endif %}
PARK Y={Y}
# - PRINT_START
@ -118,15 +121,15 @@ gcode:
{% set EXTRUDER=params.EXTRUDER|default(250)|int %}
{% set CHAMBER=params.CHAMBER|default(0)|int %}
{% set SHEET=params.SHEET|default("default")|string %}
{% set QGL=params.QGL|default(1)|int %}
{% set QGL=params.QGL|default(0)|int %}
{% set BMC=params.BMC|default(0)|int %}
{% set PURGE=params.PURGE|default(1)|int %}
{% set SOAK=params.SOAK|default(0)|int * 1000 * 60 %}
{% set Z_ADJUST=params.Z_ADJUST|default(0.0)|float %}
# TODO: ERCF
{% set ERCF=params.ERCF|default(0) %}
{action_respond_info("starting print BED=%d, EXTRUDER=%d, CHAMBER=%d, SHEET=%s, QGL=%d, BMC=%d, PURGE=%d, SOAK=%d, Z_AJUST=%f" % (BED, EXTRUDER, CHAMBER, SHEET, QGL, BMC, PURGE, SOAK, Z_ADJUST))}
M117 > configuring
{% set ERCF=params.ERCF|default(0)|int %}
{% set ERCF_EXTRUDER=params.ERCF_EXTRUDER|default(0)|int %}
{action_respond_info("starting print BED=%d, EXTRUDER=%d, CHAMBER=%d, SHEET=%s, QGL=%d, BMC=%d, PURGE=%d, SOAK=%d, Z_AJUST=%f, ERCF=%d, ERCF_EXTRUDER=%d" % (BED, EXTRUDER, CHAMBER, SHEET, QGL, BMC, PURGE, SOAK, Z_ADJUST, ERCF, ERCF_EXTRUDER))}
M118 configuring
SET_LED LED=caselight RED=0.50 GREEN=0.50 BLUE=0.50
G4 P2000
SET_GCODE_OFFSET Z=0.0 # reset z offset
@ -137,44 +140,56 @@ gcode:
G90 # use absolute coordinates
M83 # use relative distances for extrusion
M117 > homing
G4 P2000
{% if BMC %}
BED_MESH_CLEAR
{% endif %}
M117 > home
M118 home
G28
BRUSHIE
{% if QGL %}
M117 > qgl
{% if ERCF %}
M118 ercf home
ERCF_HOME
{% endif %}
{% if QGL or printer.quad_gantry_level.applied|lower == 'false' %}
M118 qgl
QUAD_GANTRY_LEVEL PARK=false
BRUSHIE
{% endif %}
M117 > calibrate z
M118 calibrate z
CALIBRATE_Z
{% if BMC %}
M117 > bed mesh calibrate
M118 bed mesh calibrate
BED_MESH_CALIBRATE
{% else %}
M117 > bed mesh load {SHEET}
M118 bed mesh load {SHEET}
BED_MESH_PROFILE LOAD={SHEET}
{% endif %}
M117 > heating
M118 heating
G4 P2000
G92 E0 # reset extruder
M190 S{BED} # set and wait for bed temperature
M109 S{EXTRUDER} # set and wait for nozzle temperature
TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={CHAMBER} # wait for chamber temp
{% if SOAK > 0 %}
M117 > soaking for {SOAK/1000/60|int} min
M118 soaking for {SOAK/1000/60|int} min
G4 P{SOAK}
{% endif %}
M117 > starting
M118 starting
SET_PRESSURE_ADVANCE ADVANCE=0.05
SET_GCODE_OFFSET Z_ADJUST={params.Z_ADJUST|default(0.0)|float} MOVE=1
{% if ERCF %}
M118 ercf changing to tool {ERCF_EXTRUDER}
ERCF_CHANGE_TOOL_STANDALONE TOOL={ERCF_EXTRUDER}
{% endif %}
G4 P2000
{% if printer['filament_switch_sensor toolhead_sensor'].filament_detected == False %}
M118 Insert filament and press resume
PAUSE
{% endif %}
{% if PURGE %}
PURGE_NOZZLE
{% endif %}
@ -183,11 +198,15 @@ gcode:
# - PRINT_END
[gcode_macro PRINT_END]
gcode:
M117 > finished
{% set UNLOAD_AT_END=params.UNLOAD_AT_END|default(0)|int %}
M118 finished
PARK
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-10.0 F3600 ; retract filament
{% if UNLOAD_AT_END == 1 %}
ERCF_EJECT
{% endif %}
TURN_OFF_HEATERS
M107 ; turn off fan
@ -200,11 +219,11 @@ gcode:
{% set y0=params.y0|default(2) %}
{% set y1=params.y1|default(3) %}
{% set z_hop = printer['gcode_macro _USER_VARIABLE'].z_hop|int %}
M117 > purge nozzle
M118 purge nozzle
G0 Z{z_hop} F300 # move Z to travel height
G0 X{x0} Y{y0} F5000 # move to x0/y0
G0 Z0.24 F300 # lower Z
G0 X{x1} E20 # draw line
G0 X{x1} E20 F1500 # draw line
G0 Y{y1} # move to y1
G0 X{x0} E10 # draw fine line
G0 X{x0-10} # move a little further
@ -217,23 +236,33 @@ gcode:
description: Resume the actual running print
rename_existing: _RESUME_BASE
gcode:
# read E from pause macro
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
# get VELOCITY parameter if specified
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
# end of definitions
M117 > resume
{% if printer.extruder.can_extrude|lower == 'true' %}
G91
G1 E{E} F6000
{% if printer["gcode_macro ERCF_PAUSE"].is_paused|int != 0 %}
M118 You can't resume the print without unlocking the ERCF first.
M118 Run ERCF_UNLOCK and solve any issue before hitting Resume again
{% else %}
{action_respond_info("Extruder not hot enough")}
# read E from pause macro
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
# get VELOCITY parameter if specified
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
# end of definitions
M118 resume
{% if printer.extruder.can_extrude|lower == 'true' %}
G91
G1 E{E} F6000
{% else %}
M118 Extruder not hot enough
{% endif %}
{% if printer["gcode_macro ERCF_VAR"].clog_detection|int == 1 %}
SET_FILAMENT_SENSOR SENSOR=encoder_sensor ENABLE=1
{% endif %}
M118 calling _RESUME_BASE
G4 P2000
_RESUME_BASE
{% endif %}
_RESUME_BASE {get_params}
[gcode_macro PRINT_LAYER_CHANGE]