611 lines
20 KiB
INI
611 lines
20 KiB
INI
# K1
|
|
# CreateDate: 2023/03/21
|
|
|
|
[gcode_macro PRINTER_PARAM]
|
|
variable_z_safe_pause: 0.0
|
|
variable_z_safe_g28: 3.0
|
|
variable_max_x_position: 220.0
|
|
variable_max_y_position: 220.0
|
|
variable_max_z_position: 250.0
|
|
variable_fans: 3
|
|
variable_auto_g29: 0
|
|
variable_fan0_min: 25
|
|
variable_fan1_min: 50
|
|
variable_fan2_min: 180
|
|
variable_fan2_speed: 0
|
|
variable_hotend_temp: 0
|
|
variable_e_min_current: 0.27
|
|
gcode:
|
|
|
|
[gcode_macro AUTOTUNE_SHAPERS]
|
|
#variable_autotune_shapers: 'ei'
|
|
gcode:
|
|
|
|
[gcode_macro LOAD_MATERIAL_CLOSE_FAN2]
|
|
variable_fan2_value: 0
|
|
gcode:
|
|
SAVE_GCODE_STATE NAME=myMoveState
|
|
{% if printer['output_pin fan2'].value > 0.0 %}
|
|
SET_GCODE_VARIABLE MACRO=LOAD_MATERIAL_CLOSE_FAN2 VARIABLE=fan2_value VALUE={printer['output_pin fan2'].value}
|
|
M107 P2
|
|
{% endif %}
|
|
RESTORE_E_CURRENT
|
|
|
|
[gcode_macro LOAD_MATERIAL_RESTORE_FAN2]
|
|
gcode:
|
|
{% set fan2_value = printer['gcode_macro LOAD_MATERIAL_CLOSE_FAN2'].fan2_value|float %}
|
|
RESTORE_GCODE_STATE NAME=myMoveState
|
|
{% if fan2_value > 0.0 %}
|
|
{% set s_value = (fan2_value * 255 - printer["gcode_macro PRINTER_PARAM"].fan2_min) * 255 / (255 - printer["gcode_macro PRINTER_PARAM"].fan2_min) %}
|
|
M106 P2 S{s_value}
|
|
SET_GCODE_VARIABLE MACRO=LOAD_MATERIAL_CLOSE_FAN2 VARIABLE=fan2_value VALUE=0
|
|
{% endif %}
|
|
SET_E_MIN_CURRENT
|
|
|
|
[gcode_macro SET_E_MIN_CURRENT]
|
|
gcode:
|
|
{% set e_current = printer['gcode_macro PRINTER_PARAM'].e_min_current %}
|
|
M400
|
|
SET_TMC_CURRENT STEPPER=extruder CURRENT={e_current} HOLDCURRENT={e_current}
|
|
G4 P2000
|
|
|
|
[gcode_macro RESTORE_E_CURRENT]
|
|
gcode:
|
|
{% set e_current = printer.configfile.settings['tmc2209 extruder'].run_current %}
|
|
M400
|
|
SET_TMC_CURRENT STEPPER=extruder CURRENT={e_current} HOLDCURRENT={e_current}
|
|
G4 P2000
|
|
|
|
[gcode_macro LOAD_MATERIAL]
|
|
gcode:
|
|
LOAD_MATERIAL_CLOSE_FAN2
|
|
M109 S{printer.custom_macro.default_extruder_temp}
|
|
G91
|
|
G1 E80 F180
|
|
LOAD_MATERIAL_RESTORE_FAN2
|
|
|
|
[gcode_macro QUIT_MATERIAL]
|
|
gcode:
|
|
SAVE_GCODE_STATE NAME=myMoveState
|
|
M109 S{printer.custom_macro.default_extruder_temp}
|
|
G91
|
|
G1 E20 F180
|
|
G1 E-30 F180
|
|
G1 E-50 F2000
|
|
RESTORE_GCODE_STATE NAME=myMoveState
|
|
|
|
[gcode_macro Qmode]
|
|
variable_flag: 0
|
|
variable_accel: 0
|
|
variable_accel_to_decel: 0
|
|
variable_velocity: 0
|
|
variable_square_corner_velocity: 0
|
|
variable_pressure_advance:0.0
|
|
variable_fan0_value: 0.00
|
|
variable_fan1_value: 0.00
|
|
variable_fan2_value: 0.00
|
|
variable_speed_factor: 0
|
|
gcode:
|
|
{% set printer_state = printer.print_stats.state %}
|
|
{% if printer['gcode_macro Qmode'].flag|int == 0 %}
|
|
{% if printer_state == "printing" or printer_state == "paused" %}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=accel VALUE={printer.toolhead.max_accel}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=accel_to_decel VALUE={printer.toolhead.max_accel_to_decel}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=velocity VALUE={printer.toolhead.max_velocity}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=square_corner_velocity VALUE={printer.toolhead.square_corner_velocity}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=pressure_advance VALUE={printer.extruder.pressure_advance}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=speed_factor VALUE={printer.gcode_move.speed_factor}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan0_value VALUE={printer['output_pin fan0'].value}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan1_value VALUE={printer['output_pin fan1'].value}
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan2_value VALUE={printer['output_pin fan2'].value}
|
|
SET_TMC_FIELD STEPPER=stepper_x FIELD=en_spreadcycle VALUE=0
|
|
SET_TMC_FIELD STEPPER=stepper_y FIELD=en_spreadcycle VALUE=0
|
|
|
|
# Set Motion Parameters
|
|
SET_VELOCITY_LIMIT ACCEL=5000
|
|
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=2500
|
|
SET_VELOCITY_LIMIT VELOCITY=200
|
|
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=5
|
|
SET_PRESSURE_ADVANCE ADVANCE=0.05
|
|
M220 S50
|
|
M106 P0 S80
|
|
M106 P1 S0
|
|
M106 P2 S0
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=flag VALUE=1
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
[gcode_macro Qmode_exit]
|
|
gcode:
|
|
{% set printer_state = printer.print_stats.state %}
|
|
{% if printer['gcode_macro Qmode'].flag|int == 1 %}
|
|
{% if printer_state == "printing" or printer_state == "paused" %}
|
|
SET_VELOCITY_LIMIT ACCEL={printer['gcode_macro Qmode'].accel}
|
|
SET_VELOCITY_LIMIT ACCEL_TO_DECEL={printer['gcode_macro Qmode'].accel_to_decel}
|
|
SET_VELOCITY_LIMIT VELOCITY={printer['gcode_macro Qmode'].velocity}
|
|
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={printer['gcode_macro Qmode'].square_corner_velocity}
|
|
SET_PRESSURE_ADVANCE ADVANCE={printer['gcode_macro Qmode'].pressure_advance}
|
|
M220 S{printer['gcode_macro Qmode'].speed_factor * 100}
|
|
M106 P0 S{(printer['gcode_macro Qmode'].fan0_value * 255 + 0.5)|int}
|
|
M106 P1 S{(printer['gcode_macro Qmode'].fan1_value * 255 + 0.5)|int}
|
|
M106 P2 S{(printer['gcode_macro Qmode'].fan2_value * 255 + 0.5)|int}
|
|
SET_TMC_FIELD STEPPER=stepper_x FIELD=en_spreadcycle VALUE=1
|
|
SET_TMC_FIELD STEPPER=stepper_y FIELD=en_spreadcycle VALUE=1
|
|
SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=flag VALUE=0
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
[gcode_macro M204]
|
|
rename_existing: M204.1
|
|
gcode:
|
|
{% if printer['gcode_macro Qmode'].flag|int == 0 %}
|
|
{% set get_params = "" %}
|
|
{% if 'S' in params|upper %}
|
|
{% set get_params = (get_params + ' ' + 'S' + params.S) %}
|
|
{% endif %}
|
|
{% if 'P' in params|upper %}
|
|
{% set get_params = (get_params + ' ' + 'P' + params.P) %}
|
|
{% endif %}
|
|
{% if 'T' in params|upper %}
|
|
{% set get_params = (get_params + ' ' + 'T' + params.T) %}
|
|
{% endif %}
|
|
M204.1 {get_params}
|
|
{% endif %}
|
|
|
|
[gcode_macro M205]
|
|
gcode:
|
|
{% if 'X' in params %}
|
|
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={params.X}
|
|
{% elif 'Y' in params %}
|
|
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={params.Y}
|
|
{% endif %}
|
|
|
|
[gcode_macro M106]
|
|
gcode:
|
|
{% set fans = printer["gcode_macro PRINTER_PARAM"].fans|int %}
|
|
{% set fan = 0 %}
|
|
{% set value = 0 %}
|
|
{% if params.P is defined %}
|
|
{% set tmp = params.P|int %}
|
|
{% if tmp < fans %}
|
|
{% set fan = tmp %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if params.S is defined %}
|
|
{% set tmp = params.S|float %}
|
|
{% else %}
|
|
{% set tmp = 255 %}
|
|
{% endif %}
|
|
{% if tmp > 0 %}
|
|
{% if fan == 0 %}
|
|
{% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + (255 - printer["gcode_macro PRINTER_PARAM"].fan0_min) / 255 * tmp %}
|
|
{% endif %}
|
|
{% if fan == 1 %}
|
|
{% set value = printer["gcode_macro PRINTER_PARAM"].fan1_min + (255 - printer["gcode_macro PRINTER_PARAM"].fan1_min) / 255 * tmp %}
|
|
{% endif %}
|
|
{% if fan == 2 %}
|
|
{% set value = printer["gcode_macro PRINTER_PARAM"].fan2_min + (255 - printer["gcode_macro PRINTER_PARAM"].fan2_min) / 255 * tmp %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if value >= 255 %}
|
|
{% set value = 255 %}
|
|
{% endif %}
|
|
SET_PIN PIN=fan{fan} VALUE={value}
|
|
|
|
[gcode_macro M107]
|
|
gcode:
|
|
{% set fans = printer["gcode_macro PRINTER_PARAM"].fans|int %}
|
|
{% if params.P is defined %}
|
|
{% if params.P|int < fans %}
|
|
SET_PIN PIN=fan{params.P|int} VALUE=0
|
|
{% else %}
|
|
SET_PIN PIN=fan0 VALUE=0
|
|
{% endif %}
|
|
{% else %}
|
|
SET_PIN PIN=fan0 VALUE=0
|
|
SET_PIN PIN=fan2 VALUE=0
|
|
{% endif %}
|
|
|
|
[gcode_macro M900]
|
|
gcode:
|
|
{% if 'K' in params %}
|
|
{% if 'E' in params %}
|
|
SET_PRESSURE_ADVANCE EXTRUDER={params.E} ADVANCE={params.K}
|
|
{% else %}
|
|
SET_PRESSURE_ADVANCE ADVANCE={params.K}
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
[delayed_gcode wait_temp]
|
|
# initial_duration: 2.
|
|
gcode:
|
|
{% set cur_temp = printer.extruder.temperature %}
|
|
{% if cur_temp|int < 40 %}
|
|
{action_respond_info("end_temp!\n")}
|
|
WAIT_TEMP_END
|
|
{% else %}
|
|
{action_respond_info("cur_temp = %s \n" % (cur_temp))}
|
|
UPDATE_DELAYED_GCODE ID=wait_temp DURATION=5
|
|
{% endif %}
|
|
|
|
[gcode_macro WAIT_TEMP_START]
|
|
gcode:
|
|
UPDATE_DELAYED_GCODE ID=wait_temp DURATION=1
|
|
M106 P0 S255
|
|
# M106 P2 S255
|
|
|
|
[gcode_macro WAIT_TEMP_END]
|
|
gcode:
|
|
UPDATE_DELAYED_GCODE ID=wait_temp DURATION=0
|
|
M106 P0 S0
|
|
# M106 P2 S0
|
|
|
|
[gcode_macro PRINT_CALIBRATION]
|
|
# This part of the command is replaced by the application side without passing parameters
|
|
gcode:
|
|
CX_PRINT_LEVELING_CALIBRATION
|
|
|
|
[gcode_macro FIRST_FLOOR_PAUSE_POSITION]
|
|
gcode:
|
|
{% set extruder_temp = printer.custom_macro.g28_ext_temp %}
|
|
M104 S{extruder_temp}
|
|
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
|
|
{% set x_park = printer['gcode_macro PRINTER_PARAM'].max_x_position|float + 1 %}
|
|
G90
|
|
G1 Z2 F600
|
|
G1 X{x_park} Y{y_park} F6000
|
|
G1 Z0.2 F600
|
|
|
|
[gcode_macro ACCURATE_G28]
|
|
gcode:
|
|
ACCURATE_HOME_Z
|
|
|
|
[gcode_macro START_PRINT]
|
|
variable_prepare: 0
|
|
gcode:
|
|
WAIT_TEMP_END
|
|
CLEAR_PAUSE
|
|
{% set g28_extruder_temp = printer.custom_macro.g28_ext_temp %}
|
|
{% set bed_temp = printer.custom_macro.default_bed_temp %}
|
|
{% set extruder_temp = printer.custom_macro.default_extruder_temp %}
|
|
|
|
{% if 'BED_TEMP' in params|upper and (params.BED_TEMP|float) %}
|
|
{% set bed_temp = params.BED_TEMP %}
|
|
{% endif %}
|
|
|
|
{% if 'EXTRUDER_TEMP' in params|upper and (params.EXTRUDER_TEMP|float) %}
|
|
{% set extruder_temp = params.EXTRUDER_TEMP %}
|
|
{% endif %}
|
|
|
|
{% if printer['gcode_macro START_PRINT'].prepare|int == 0 %}
|
|
{action_respond_info("not prepare.\n")}
|
|
PRINT_PREPARE_CLEAR
|
|
CX_ROUGH_G28 EXTRUDER_TEMP={extruder_temp} BED_TEMP={bed_temp}
|
|
CX_NOZZLE_CLEAR
|
|
ACCURATE_G28
|
|
CX_PRINT_LEVELING_CALIBRATION
|
|
{% else %}
|
|
PRINT_PREPARE_CLEAR
|
|
{% endif %}
|
|
|
|
CX_PRINT_DRAW_ONE_LINE
|
|
|
|
|
|
[gcode_macro PRINT_PREPARED]
|
|
gcode:
|
|
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=prepare VALUE=1
|
|
{action_respond_info("print prepared")}
|
|
|
|
[gcode_macro PRINT_PREPARE_CLEAR]
|
|
gcode:
|
|
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=prepare VALUE=0
|
|
|
|
[gcode_macro END_PRINT_POINT_WITHOUT_LIFTING]
|
|
gcode:
|
|
{% if "xyz" in printer.toolhead.homed_axes %}
|
|
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
|
G91
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G1 E-1.0 F180
|
|
G1 E-{E} F4000
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
G1 Z2.0 F600
|
|
G90
|
|
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
|
|
{% set x_park = printer.toolhead.axis_maximum.x|float - 10.0 %}
|
|
G1 X{x_park} Y{y_park} F30000
|
|
{% else %}
|
|
{action_respond_info("end print xyz_axes is NULL\n")}
|
|
{% endif %}
|
|
|
|
[gcode_macro END_PRINT_POINT]
|
|
gcode:
|
|
{% if "xyz" in printer.toolhead.homed_axes %}
|
|
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
|
{% set max_z = printer["gcode_macro PRINTER_PARAM"].max_z_position|float %}
|
|
{% set act_z = printer.toolhead.position.z|float %}
|
|
{% set z_safe = 0.0 %}
|
|
{% if act_z < (max_z / 2) %}
|
|
{% set z_safe = (max_z / 2) - act_z %}
|
|
{% elif act_z < max_z %}
|
|
{% set z_safe = 2.0 %}
|
|
{% endif %}
|
|
G91
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G1 E-1.0 F180
|
|
G1 E-{E} F4000
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
G1 Z2.0 F600
|
|
G90
|
|
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
|
|
{% set x_park = printer.toolhead.axis_maximum.x|float - 10.0 %}
|
|
G1 X{x_park} Y{y_park} F30000
|
|
{% if z_safe > 2.0 %}
|
|
G91
|
|
{% set z_safe = z_safe - 2.0 %}
|
|
G1 Z{z_safe} F600
|
|
G90
|
|
{% endif %}
|
|
{% else %}
|
|
{action_respond_info("end print xyz_axes is NULL\n")}
|
|
{% endif %}
|
|
|
|
[gcode_macro END_PRINT]
|
|
gcode:
|
|
# Qmode_exit
|
|
PRINT_PREPARE_CLEAR
|
|
M220 S100
|
|
M204 S500
|
|
TURN_OFF_HEATERS
|
|
M107 P1
|
|
M107 P2
|
|
END_PRINT_POINT
|
|
#WAIT_TEMP_START
|
|
M84
|
|
|
|
[gcode_macro FIRST_FLOOR_PAUSE]
|
|
description: Pause the first floor print
|
|
# change this if you need more or less extrusion
|
|
variable_extrude: 2.0
|
|
gcode:
|
|
##### read E from pause macro #####
|
|
{% set E = printer["gcode_macro FIRST_FLOOR_PAUSE"].extrude|float %}
|
|
##### set park positon for x and y #####
|
|
# default is your max posion from your printer.cfg
|
|
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
|
|
{% set x_park = printer.toolhead.axis_maximum.x|float - 10.0 %}
|
|
##### calculate save lift position #####
|
|
{% set max_z = printer["gcode_macro PRINTER_PARAM"].max_z_position|float %}
|
|
{% set act_z = printer.toolhead.position.z|float %}
|
|
{% set z_safe = 0.0 %}
|
|
{% if act_z < (max_z - 2.0) %}
|
|
{% set z_safe = 2.0 %}
|
|
{% elif act_z < max_z %}
|
|
{% set z_safe = max_z - act_z %}
|
|
{% endif %}
|
|
##### end of definitions #####
|
|
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=z_safe_pause VALUE={z_safe|float}
|
|
PAUSE_BASE
|
|
G91
|
|
{% if "xyz" in printer.toolhead.homed_axes %}
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G1 E-1.0 F180
|
|
G1 E-{E} F4000
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
G1 Z{z_safe} F600
|
|
G90
|
|
G1 X{x_park} Y{y_park} F30000
|
|
{% else %}
|
|
{action_respond_info("Printer not homed")}
|
|
{% endif %}
|
|
# save fan2 value and turn off fan2
|
|
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=fan2_speed VALUE={printer['output_pin fan2'].value}
|
|
{% set fspeed = printer['gcode_macro PRINTER_PARAM'].fan2_speed %}
|
|
{action_respond_info("fan2_value = %s \n" % (fspeed))}
|
|
# SET_PIN PIN=fan2 VALUE=0
|
|
M106 P2 S0
|
|
SET_E_MIN_CURRENT
|
|
|
|
[gcode_macro FIRST_FLOOR_RESUME]
|
|
description: Resume the first floor print
|
|
gcode:
|
|
RESTORE_E_CURRENT
|
|
{% if printer['gcode_macro PRINTER_PARAM'].fan2_speed > 0 %}
|
|
# {% set fspeed = printer['gcode_macro PRINTER_PARAM'].fan2_speed %}
|
|
# {action_respond_info("fan2_value2 = %s \n" % (fspeed))}
|
|
# SET_PIN PIN=fan2 VALUE={(printer['gcode_macro PRINTER_PARAM'].fan2_speed * 255 + 0.5)|int}
|
|
{% set s_value = (printer['gcode_macro PRINTER_PARAM'].fan2_speed * 255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) * 255 / (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min)|float %}
|
|
M106 P2 S{s_value}
|
|
{% endif %}
|
|
##### read E from pause macro #####
|
|
{% set E = printer["gcode_macro FIRST_FLOOR_PAUSE"].extrude|float + 1.0 %}
|
|
#### get VELOCITY parameter if specified ####
|
|
{% if 'VELOCITY' in params|upper %}
|
|
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
|
|
{%else %}
|
|
{% set get_params = "" %}
|
|
{% endif %}
|
|
##### end of definitions #####
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G91
|
|
G1 E{E} F2100
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
M400
|
|
RESUME_BASE {get_params}
|
|
|
|
[gcode_macro PAUSE]
|
|
description: Pause the actual running print
|
|
rename_existing: PAUSE_BASE
|
|
# change this if you need more or less extrusion
|
|
variable_extrude: 2.0
|
|
gcode:
|
|
##### read E from pause macro #####
|
|
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
|
##### set park positon for x and y #####
|
|
# default is your max posion from your printer.cfg
|
|
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
|
|
{% set x_park = printer.toolhead.axis_maximum.x|float - 10.0 %}
|
|
##### calculate save lift position #####
|
|
{% set max_z = printer["gcode_macro PRINTER_PARAM"].max_z_position|float %}
|
|
{% set act_z = printer.toolhead.position.z|float %}
|
|
{% set z_safe = 0.0 %}
|
|
{% if act_z < 48.0 %}
|
|
{% set z_safe = 50.0 - act_z %}
|
|
{% elif act_z < (max_z - 2.0) %}
|
|
{% set z_safe = 2.0 %}
|
|
{% elif act_z < max_z %}
|
|
{% set z_safe = max_z - act_z %}
|
|
{% endif %}
|
|
{action_respond_info("z_safe = %s"% (z_safe))}
|
|
##### end of definitions #####
|
|
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=z_safe_pause VALUE={z_safe|float}
|
|
PAUSE_BASE
|
|
G91
|
|
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=hotend_temp VALUE={printer.extruder.target}
|
|
M104 S140
|
|
{% if "xyz" in printer.toolhead.homed_axes %}
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G1 E-1.0 F180
|
|
G1 E-{E} F4000
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
G1 Z{z_safe} F600
|
|
M400
|
|
G90
|
|
G1 X{x_park} Y{y_park} F30000
|
|
{% else %}
|
|
{action_respond_info("Printer not homed")}
|
|
{% endif %}
|
|
# save fan2 value and turn off fan2
|
|
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=fan2_speed VALUE={printer['output_pin fan2'].value}
|
|
{% set fspeed = printer['gcode_macro PRINTER_PARAM'].fan2_speed %}
|
|
{action_respond_info("fan2_value = %s \n" % (fspeed))}
|
|
# SET_PIN PIN=fan2 VALUE=0
|
|
M106 P2 S0
|
|
SET_E_MIN_CURRENT
|
|
|
|
[gcode_macro INPUTSHAPER]
|
|
gcode:
|
|
G90
|
|
G28
|
|
SHAPER_CALIBRATE
|
|
CXSAVE_CONFIG
|
|
|
|
[gcode_macro BEDPID]
|
|
gcode:
|
|
PID_CALIBRATE HEATER=heater_bed TARGET=100
|
|
SAVE_CONFIG
|
|
|
|
[gcode_macro TUNOFFINPUTSHAPER]
|
|
gcode:
|
|
SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0
|
|
|
|
[gcode_macro RESUME]
|
|
description: Resume the actual running print
|
|
rename_existing: RESUME_BASE
|
|
gcode:
|
|
RESTORE_E_CURRENT
|
|
{% if printer['gcode_macro PRINTER_PARAM'].hotend_temp|int != 0 %}
|
|
{% if printer['gcode_macro PRINTER_PARAM'].hotend_temp|int > printer.extruder.temperature %}
|
|
M109 S{printer['gcode_macro PRINTER_PARAM'].hotend_temp|int}
|
|
{% else %}
|
|
M104 S{printer['gcode_macro PRINTER_PARAM'].hotend_temp|int}
|
|
{% endif %}
|
|
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=hotend_temp VALUE=0
|
|
{% endif %}
|
|
{% if printer['gcode_macro PRINTER_PARAM'].fan2_speed > 0 %}
|
|
# {% set fspeed = printer['gcode_macro PRINTER_PARAM'].fan2_speed %}
|
|
# {action_respond_info("fan2_value2 = %s \n" % (fspeed))}
|
|
# SET_PIN PIN=fan2 VALUE={(printer['gcode_macro PRINTER_PARAM'].fan2_speed * 255 + 0.5)|int}
|
|
{% set s_value = (printer['gcode_macro PRINTER_PARAM'].fan2_speed * 255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) * 255 / (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min)|float %}
|
|
M106 P2 S{s_value}
|
|
{% endif %}
|
|
{% set z_resume_move = printer['gcode_macro PRINTER_PARAM'].z_safe_pause|int %}
|
|
{% if z_resume_move > 2 %}
|
|
{% set z_resume_move = z_resume_move - 2 %}
|
|
G91
|
|
G1 Z-{z_resume_move} F600
|
|
M400
|
|
{% endif %}
|
|
{action_respond_info("z_resume_move = %s"% (z_resume_move))}
|
|
##### read E from pause macro #####
|
|
{% set E = printer["gcode_macro PAUSE"].extrude|float + 1.0 %}
|
|
#### get VELOCITY parameter if specified ####
|
|
{% if 'VELOCITY' in params|upper %}
|
|
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
|
|
{%else %}
|
|
{% set get_params = "" %}
|
|
{% endif %}
|
|
##### end of definitions #####
|
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
|
G91
|
|
G1 E{E} F2100
|
|
G90
|
|
{% else %}
|
|
{action_respond_info("Extruder not hot enough")}
|
|
{% endif %}
|
|
M400
|
|
RESUME_BASE {get_params}
|
|
|
|
[gcode_macro CANCEL_PRINT]
|
|
description: Cancel the actual running print
|
|
rename_existing: CANCEL_PRINT_BASE
|
|
gcode:
|
|
END_PRINT
|
|
CANCEL_PRINT_BASE
|
|
|
|
[gcode_macro G29]
|
|
gcode:
|
|
{% if 'PROBE_COUNT' in params|upper %}
|
|
{% set get_count = ('PROBE_COUNT' + params.PROBE_COUNT) %}
|
|
{%else %}
|
|
{% set get_count = "" %}
|
|
{% endif %}
|
|
|
|
{% set bed_temp = printer.custom_macro.default_bed_temp %}
|
|
{% set extruder_temp = printer.custom_macro.g28_ext_temp %}
|
|
{% set nozzle_clear_temp = printer.custom_macro.default_extruder_temp %}
|
|
|
|
{% if 'BED_TEMP' in params|upper %}
|
|
{% set bed_temp = params.BED_TEMP %}
|
|
{% endif %}
|
|
|
|
{% if 'EXTRUDER_TEMP' in params|upper %}
|
|
{% set nozzle_clear_temp = params.EXTRUDER_TEMP %}
|
|
{% endif %}
|
|
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
|
|
SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=0
|
|
|
|
G28
|
|
BED_MESH_CLEAR
|
|
NOZZLE_CLEAR HOT_MIN_TEMP={extruder_temp} HOT_MAX_TEMP={nozzle_clear_temp} BED_MAX_TEMP={bed_temp}
|
|
ACCURATE_G28
|
|
M204 S5000
|
|
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=5000
|
|
BED_MESH_CALIBRATE {get_count}
|
|
BED_MESH_OUTPUT
|
|
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
|
|
{% set x_park = printer.toolhead.axis_maximum.x|float - 10.0 %}
|
|
G1 X{x_park} Y{y_park} F2000
|
|
CXSAVE_CONFIG
|
|
TURN_OFF_HEATERS
|
|
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1
|
|
SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=1
|
|
|
|
# [gcode_macro G299]
|
|
# gcode:
|
|
# BED_MESH_CLEAR
|
|
# G28
|
|
# PRTOUCH_READY
|
|
# BED_MESH_CALIBRATE
|
|
# BED_MESH_OUTPUT
|