Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # K1C
- # CreateDate: 2023/09/05
- [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
- variable_cam_off_temp: 60
- 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
- RESTORE_E_CURRENT
- M109 S{printer.custom_macro.default_extruder_temp}
- M83
- G1 E100 F300
- G1 E-15 F3000
- G1 E-22.4700 F2400
- G1 E-6.4200 F1200
- G1 E-3.2100 F720
- G1 E5.0000 F356
- G1 E-5.0000 F384
- G1 E5.0000 F412
- G1 E-5.0000 F440
- G1 E5.0000 F467
- G1 E-5.0000 F495
- G1 E5.0000 F523
- G1 E-5.0000 F3000
- G1 E-15 F3000
- SET_E_MIN_CURRENT
- 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
- variable_max_accel: 2500
- variable_max_accel_to_decel: 2500
- 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_TMC_CURRENT STEPPER=stepper_x CURRENT=1.0
- SET_TMC_CURRENT STEPPER=stepper_y CURRENT=1.0
- G4 P1000
- # Set Motion Parameters
- SET_VELOCITY_LIMIT ACCEL=2500
- SET_VELOCITY_LIMIT ACCEL_TO_DECEL=2500
- SET_VELOCITY_LIMIT VELOCITY=150
- SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=5
- SET_PRESSURE_ADVANCE ADVANCE=0.05
- M220 S50
- {% set tmp = printer['output_pin fan0'].value * 255 %}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan0_value VALUE={tmp}
- {% if tmp - printer['gcode_macro PRINTER_PARAM'].fan0_min > (255 - printer['gcode_macro PRINTER_PARAM'].fan0_min) / 2 %}
- {% set tmp = printer['gcode_macro PRINTER_PARAM'].fan0_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan0_min) / 2 %}
- SET_PIN PIN=fan0 VALUE={tmp}
- {% endif %}
- {% set tmp = printer['output_pin fan1'].value * 255 %}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan1_value VALUE={printer['output_pin fan1'].value * 255}
- {% if tmp - printer['gcode_macro PRINTER_PARAM'].fan1_min > (255 - printer['gcode_macro PRINTER_PARAM'].fan1_min) / 2 %}
- {% set tmp = printer['gcode_macro PRINTER_PARAM'].fan1_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan1_min) / 2 %}
- SET_PIN PIN=fan1 VALUE={tmp}
- {% endif %}
- {% set tmp = printer['output_pin fan2'].value * 255 %}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan2_value VALUE={printer['output_pin fan2'].value * 255}
- {% if tmp - printer['gcode_macro PRINTER_PARAM'].fan2_min > (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) / 2 %}
- {% set tmp = printer['gcode_macro PRINTER_PARAM'].fan2_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) / 2 %}
- SET_PIN PIN=fan2 VALUE={tmp}
- {% endif %}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=flag VALUE=1
- SET_QMODE_FLAG FLAG=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}
- {% set X_RUN_CUR = printer.configfile.settings['tmc2209 stepper_x'].run_current %}
- {% set Y_RUN_CUR = printer.configfile.settings['tmc2209 stepper_y'].run_current %}
- SET_TMC_CURRENT STEPPER=stepper_x CURRENT={X_RUN_CUR}
- SET_TMC_CURRENT STEPPER=stepper_y CURRENT={Y_RUN_CUR}
- SET_TMC_FIELD STEPPER=stepper_x FIELD=en_spreadcycle VALUE=1
- SET_TMC_FIELD STEPPER=stepper_y FIELD=en_spreadcycle VALUE=1
- G4 P1000
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=flag VALUE=0
- SET_QMODE_FLAG FLAG=0
- {% if printer['output_pin fan0'].value != 0 %}
- {action_respond_info("fan0_value = %s" % printer['gcode_macro Qmode'].fan0_value)}
- SET_PIN PIN=fan0 VALUE={printer['gcode_macro Qmode'].fan0_value}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan0_value VALUE=0
- {% endif %}
- {% if printer['output_pin fan1'].value != 0 %}
- {action_respond_info("fan1_value = %s" % printer['gcode_macro Qmode'].fan1_value)}
- SET_PIN PIN=fan1 VALUE={printer['gcode_macro Qmode'].fan1_value}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan1_value VALUE=0
- {% endif %}
- {% if printer['output_pin fan2'].value != 0 %}
- {action_respond_info("fan2_value = %s" % printer['gcode_macro Qmode'].fan2_value)}
- SET_PIN PIN=fan2 VALUE={printer['gcode_macro Qmode'].fan2_value}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan2_value VALUE=0
- {% endif %}
- {% endif %}
- {% endif %}
- [gcode_macro M204]
- rename_existing: M204.1
- gcode:
- # {% if printer['gcode_macro Qmode'].flag|int == 0 %}
- {% set get_params = "" %}
- {% set qmode_max_accel = printer['gcode_macro Qmode'].max_accel|string %}
- {% if 'S' in params|upper %}
- {% if printer['gcode_macro Qmode'].flag|int == 1 and params.S|float > qmode_max_accel|float %}
- {% set get_params = (get_params + ' ' + 'S' + qmode_max_accel) %}
- {% else %}
- {% set get_params = (get_params + ' ' + 'S' + params.S) %}
- {% endif %}
- {% endif %}
- {% if 'P' in params|upper %}
- {% if printer['gcode_macro Qmode'].flag|int == 1 and params.P|float > qmode_max_accel|float %}
- {% set get_params = (get_params + ' ' + 'P' + qmode_max_accel) %}
- {% else %}
- {% set get_params = (get_params + ' ' + 'P' + params.P) %}
- {% endif %}
- {% endif %}
- {% if 'T' in params|upper %}
- {% if printer['gcode_macro Qmode'].flag|int == 1 and params.T|float > qmode_max_accel|float %}
- {% set get_params = (get_params + ' ' + 'T' + qmode_max_accel) %}
- {% else %}
- {% set get_params = (get_params + ' ' + 'T' + params.T) %}
- {% endif %}
- {% endif %}
- M204.1 {get_params}
- [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 = (255 - printer["gcode_macro PRINTER_PARAM"].fan0_min) / 255 * tmp %}
- {% if printer['gcode_macro Qmode'].flag | int == 1 %}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan0_value VALUE={printer["gcode_macro PRINTER_PARAM"].fan0_min + value}
- {% if value > (255 - printer['gcode_macro PRINTER_PARAM'].fan0_min) / 2 %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan0_min) / 2 %}
- {% else %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + value %}
- {% endif %}
- {% else %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + value %}
- {% endif %}
- {% endif %}
- {% if fan == 1 %}
- {% set value = (255 - printer["gcode_macro PRINTER_PARAM"].fan1_min) / 255 * tmp %}
- {% if printer['gcode_macro Qmode'].flag | int == 1 %}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan1_value VALUE={printer["gcode_macro PRINTER_PARAM"].fan1_min + value}
- {% if value > (255 - printer['gcode_macro PRINTER_PARAM'].fan1_min) / 2 %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan1_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan1_min) / 2 %}
- {% else %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan1_min + value %}
- {% endif %}
- {% else %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan1_min + value %}
- {% endif %}
- {% endif %}
- {% if fan == 2 %}
- {% set value = (255 - printer["gcode_macro PRINTER_PARAM"].fan2_min) / 255 * tmp %}
- {% if printer['gcode_macro Qmode'].flag | int == 1 %}
- SET_GCODE_VARIABLE MACRO=Qmode VARIABLE=fan2_value VALUE={printer["gcode_macro PRINTER_PARAM"].fan2_min + value}
- {% if value > (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) / 2 %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan2_min + (255 - printer['gcode_macro PRINTER_PARAM'].fan2_min) / 2 %}
- {% else %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan2_min + value %}
- {% endif %}
- {% else %}
- {% set value = printer["gcode_macro PRINTER_PARAM"].fan2_min + value %}
- {% endif %}
- {% 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 M141]
- description: Set Chamber temperature with slicers
- gcode:
- {% if 'S' in params|upper %}
- {% if printer["temperature_fan chamber_fan"].speed > 0.0 %}
- SET_PIN PIN=fan1 VALUE=255
- {% else %}
- SET_PIN PIN=fan1 VALUE=0
- {% endif %}
- {% if params.S|int > 0 %}
- SET_TEMPERATURE_FAN_TARGET TEMPERATURE_FAN=chamber_fan TARGET={params.S|default(35)}
- {% else %}
- SET_TEMPERATURE_FAN_TARGET TEMPERATURE_FAN=chamber_fan TARGET=35
- {% if params.S|int == 0 %}
- SET_PIN PIN=fan1 VALUE=0
- {% endif %}
- {% endif %}
- {% 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 %}
- WAIT_TEMP_END
- {% else %}
- UPDATE_DELAYED_GCODE ID=wait_temp DURATION=5
- {% endif %}
- [gcode_macro WAIT_TEMP_START]
- gcode:
- {action_respond_info("wait temp start\n")}
- UPDATE_DELAYED_GCODE ID=wait_temp DURATION=1
- M106 P0 S255
- # M106 P2 S255
- [gcode_macro WAIT_TEMP_END]
- gcode:
- {action_respond_info("wait temp end\n")}
- 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
- EXCLUDE_OBJECT_RESET
- PRINT_PREPARE_CLEAR
- M220 S100
- SET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=2500
- 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:
- SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
- SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=0
- G90
- G28
- {% set POSITION_X = printer.configfile.settings['stepper_x'].position_max/2 %}
- {% set POSITION_Y = printer.configfile.settings['stepper_y'].position_max/2 %}
- G1 X{POSITION_X} Y{POSITION_Y} F6000
- G1 Z10 F600
- SHAPER_CALIBRATE AXIS
- CXSAVE_CONFIG
- SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1
- SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=1
- [gcode_macro INPUT_SHAPER]
- description: Measure X and Y axis resonances
- gcode:
- G90
- {% if printer.toolhead.homed_axes != "xyz" %}
- G28
- {% endif %}
- SHAPER_CALIBRATE
- {% 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} F20000
- [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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement