added klipper configuration
This commit is contained in:
589
02-klipper/01-configuration/macros.cfg
Normal file
589
02-klipper/01-configuration/macros.cfg
Normal file
@@ -0,0 +1,589 @@
|
||||
# __ __
|
||||
# | \/ |
|
||||
# | \ / | __ _ ___ _ __ ___ ___
|
||||
# | |\/| |/ _` |/ __| '__/ _ \/ __|
|
||||
# | | | | (_| | (__| | | (_) \__ \
|
||||
# |_| |_|\__,_|\___|_| \___/|___/
|
||||
#
|
||||
# Macros Configurations - Flsun V400
|
||||
# Version 3.0
|
||||
#
|
||||
# Guislain Cyril
|
||||
|
||||
|
||||
##################################################
|
||||
# Start and End G-Codes
|
||||
##################################################
|
||||
|
||||
[gcode_macro START_PRINT]
|
||||
description: Start G-Code
|
||||
gcode:
|
||||
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
|
||||
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %}
|
||||
LED_HOTEND_ON
|
||||
G21
|
||||
G90
|
||||
M82
|
||||
{% if printer.extruder.target != 0 %}
|
||||
M104 S{EXTRUDER_TEMP}
|
||||
{% else %}
|
||||
M104 S150
|
||||
{% endif %}
|
||||
M140 S{BED_TEMP}
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
G1 Z370 F3000
|
||||
G1 X-150 F3000
|
||||
M190 S{BED_TEMP}
|
||||
M109 S{EXTRUDER_TEMP}
|
||||
G1 Z1 F3000
|
||||
G1 X-150 Y0 Z0.4
|
||||
G92 E0
|
||||
G3 X0 Y-130 I150 J1 Z0.3 E30 F2000
|
||||
G92 E0
|
||||
G1 E-1 F2100
|
||||
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
description: End G-Code
|
||||
gcode:
|
||||
M106 S0
|
||||
M104 S0
|
||||
M140 S0
|
||||
G92 E0
|
||||
G91
|
||||
G1 E-1 F2100
|
||||
G1 Z+5 F6000
|
||||
G28
|
||||
G90
|
||||
LED_HOTEND_OFF
|
||||
M84
|
||||
|
||||
|
||||
##################################################
|
||||
# Pause / Resume / Cancel Print
|
||||
##################################################
|
||||
|
||||
[gcode_macro PAUSE]
|
||||
description: Pause the current print
|
||||
rename_existing: PAUSE_BASE
|
||||
gcode:
|
||||
##### set defaults #####
|
||||
{% set x = params.X|default(0) %}
|
||||
{% set y = params.Y|default(-90) %}
|
||||
{% 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 %}
|
||||
##### end of definitions #####
|
||||
RESPOND MSG="Pausing printing..."
|
||||
PAUSE_BASE
|
||||
G91
|
||||
G1 E-{e} F2100
|
||||
G1 Z{z_safe}
|
||||
G90
|
||||
G1 X{x} Y{y} F2500
|
||||
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resume the current print
|
||||
rename_existing: RESUME_BASE
|
||||
gcode:
|
||||
##### set defaults #####
|
||||
{% set e = params.E|default(1) %}
|
||||
#### get VELOCITY parameter if specified ####
|
||||
{% if 'VELOCITY' in params|upper %}
|
||||
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
|
||||
{% else %}
|
||||
{% set get_params = "" %}
|
||||
{% endif %}
|
||||
##### end of definitions #####
|
||||
G91
|
||||
{% if printer["gcode_macro M600"].m600_enabled == 1 %}
|
||||
RESPOND MSG="Nozzle heating..."
|
||||
M109 S{printer["gcode_macro M600"].hotend_temp}
|
||||
M106 S{printer["gcode_macro M600"].fan_speed}
|
||||
RESPOND MSG="Loading filament..."
|
||||
G0 E50 F800
|
||||
G0 E30 F300
|
||||
M400
|
||||
SET_GCODE_VARIABLE MACRO=M600 VARIABLE=m600_enabled VALUE=0
|
||||
{% else %}
|
||||
G1 E{e} F2100
|
||||
{% endif %}
|
||||
RESPOND MSG="Resuming printing..."
|
||||
SET_IDLE_TIMEOUT TIMEOUT=1800
|
||||
RESUME_BASE {get_params}
|
||||
|
||||
|
||||
[gcode_macro CANCEL_PRINT]
|
||||
description: Cancel the current print
|
||||
rename_existing: CANCEL_PRINT_BASE
|
||||
gcode:
|
||||
RESPOND MSG="Printing canceled!"
|
||||
G28
|
||||
M106 S0
|
||||
M104 S0
|
||||
M140 S0
|
||||
CANCEL_PRINT_BASE
|
||||
|
||||
|
||||
##################################################
|
||||
# Filament / Color Change
|
||||
##################################################
|
||||
|
||||
[gcode_macro M600]
|
||||
description: Filament change
|
||||
variable_hotend_temp: 0
|
||||
variable_m600_enabled: 0
|
||||
variable_fan_speed: 0
|
||||
gcode:
|
||||
##### set defaults #####
|
||||
{% set x = params.X|default(0) %}
|
||||
{% set y = params.Y|default(-140) %}
|
||||
{% 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 %}
|
||||
##### end of definitions #####
|
||||
SAVE_GCODE_STATE NAME=M600_state
|
||||
SET_IDLE_TIMEOUT TIMEOUT=86400
|
||||
SET_GCODE_VARIABLE MACRO=M600 VARIABLE=m600_enabled VALUE=1
|
||||
SET_GCODE_VARIABLE MACRO=M600 VARIABLE=hotend_temp VALUE={printer.extruder.target}
|
||||
SET_GCODE_VARIABLE MACRO=M600 VARIABLE=fan_speed VALUE={printer.fan.speed}
|
||||
RESPOND MSG="Pausing printing..."
|
||||
PAUSE
|
||||
G91
|
||||
G1 E-{e} F2100
|
||||
G1 Z{z_safe}
|
||||
G90
|
||||
G1 X{x} Y{y} F2500
|
||||
RESPOND MSG="Unloading filament..."
|
||||
G91
|
||||
G0 E-10 F300
|
||||
G0 E-30 F800
|
||||
M400
|
||||
RESPOND MSG="Nozzle heating stopped!"
|
||||
M104 S0
|
||||
M106 S0
|
||||
RESTORE_GCODE_STATE NAME=M600_state
|
||||
|
||||
|
||||
##################################################
|
||||
# Load / Unload Filament
|
||||
##################################################
|
||||
|
||||
[gcode_macro UNLOAD_FILAMENT]
|
||||
description: Filament unloading
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" and not printer.pause_resume.is_paused %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=unload_state
|
||||
{% if printer.extruder.temperature < 200 %}
|
||||
RESPOND MSG="Nozzle heating..."
|
||||
M109 S200
|
||||
{% endif %}
|
||||
RESPOND MSG="Unloading filament..."
|
||||
G91
|
||||
G0 E-10 F300
|
||||
G0 E-30 F800
|
||||
RESTORE_GCODE_STATE NAME=unload_state
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
description: Filament loading
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" and not printer.pause_resume.is_paused %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=load_state
|
||||
{% if printer.extruder.temperature < 200 %}
|
||||
RESPOND MSG="Nozzle heating..."
|
||||
M109 S200
|
||||
{% endif %}
|
||||
RESPOND MSG="Loading filament..."
|
||||
G91
|
||||
G0 E50 F800
|
||||
G0 E30 F300
|
||||
M400
|
||||
RESTORE_GCODE_STATE NAME=load_state
|
||||
{% endif %}
|
||||
|
||||
|
||||
##################################################
|
||||
# Calibrations
|
||||
##################################################
|
||||
|
||||
[gcode_macro Z_OFFSET_CALIBRATION]
|
||||
description: Measure Z-Offset
|
||||
gcode:
|
||||
SET_GCODE_OFFSET Z=0
|
||||
G28
|
||||
G1 X0 Y0 Z50 F2500
|
||||
M400
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=True # Enable if Knomi is used
|
||||
PROBE_CALIBRATE
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=False # Enable if Knomi is used
|
||||
|
||||
|
||||
[gcode_macro ENDSTOPS_CALIBRATION]
|
||||
description: Endstops Phase Calibration
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
G91
|
||||
G0 Z-80 F1500
|
||||
G28
|
||||
G91
|
||||
G0 Z-80 F1500
|
||||
G28
|
||||
G91
|
||||
G0 Z-80 F1500
|
||||
G28
|
||||
G91
|
||||
G0 Z-80 F1500
|
||||
G28
|
||||
G91
|
||||
G0 Z-80 F1500
|
||||
ENDSTOP_PHASE_CALIBRATE stepper=stepper_a
|
||||
ENDSTOP_PHASE_CALIBRATE stepper=stepper_b
|
||||
ENDSTOP_PHASE_CALIBRATE stepper=stepper_c
|
||||
M400
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro DELTA_CALIBRATION]
|
||||
description: Delta Calibration
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z=0
|
||||
BED_MESH_CLEAR
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=True # Enable if Knomi is used
|
||||
DELTA_CALIBRATE
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=False # Enable if Knomi is used
|
||||
M400
|
||||
G1 X0 Y0 Z50 F2500
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro BED_LEVELING]
|
||||
description: Bed Leveling
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
SET_GCODE_OFFSET Z=0
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
G1 X0 Y0 Z50 F2500
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=True # Enable if Knomi is used
|
||||
BED_MESH_CALIBRATE
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=False # Enable if Knomi is used
|
||||
M400
|
||||
G1 X0 Y0 Z50 F2500
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro PRESSURE_ADVANCE]
|
||||
description: Pressure Advance
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
SET_PRESSURE_ADVANCE ADVANCE=0
|
||||
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
|
||||
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005
|
||||
{% endif %}
|
||||
|
||||
|
||||
##################################################
|
||||
# Nozzle / Bed PID Calibration
|
||||
##################################################
|
||||
|
||||
[gcode_macro PID_BED]
|
||||
description: Bed PID
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
RESPOND MSG="Bed PID calibration in progress..."
|
||||
G28
|
||||
G90
|
||||
G1 Z50 F1500
|
||||
M400
|
||||
M106
|
||||
PID_CALIBRATE HEATER=heater_bed TARGET={params.TEMP|default(70)}
|
||||
M107
|
||||
RESPOND MSG="PID calibration complete! Remember to save the configuration!"
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro PID_HOTEND]
|
||||
description: Hotend PID
|
||||
gcode:
|
||||
{% if printer.idle_timeout.state == "Printing" %}
|
||||
RESPOND TYPE=error MSG="This macro cannot be used while printing!"
|
||||
{% else %}
|
||||
RESPOND MSG="Hotend PID calibration in progress..."
|
||||
G28
|
||||
G90
|
||||
G1 Z50 F1500
|
||||
M400
|
||||
M106
|
||||
PID_CALIBRATE HEATER=extruder TARGET={params.TEMP|default(250)}
|
||||
M107
|
||||
RESPOND MSG="PID calibration complete! Remember to save the configuration!"
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro _PID_KS_START]
|
||||
description: PID for KlipperScreen
|
||||
gcode:
|
||||
RESPOND MSG="PID calibration in progress..."
|
||||
G28
|
||||
G90
|
||||
G1 Z50 F1500
|
||||
M400
|
||||
M106
|
||||
|
||||
|
||||
[gcode_macro _PID_KS_END]
|
||||
description: PID for KlipperScreen
|
||||
gcode:
|
||||
M107
|
||||
RESPOND MSG="PID calibration complete! Remember to save the configuration!"
|
||||
G28
|
||||
|
||||
|
||||
##################################################
|
||||
# Verifications and Measurements with ADXL
|
||||
##################################################
|
||||
|
||||
[gcode_macro ADXL_TEST]
|
||||
description: ADXL Test
|
||||
gcode:
|
||||
ACCELEROMETER_QUERY
|
||||
|
||||
|
||||
[gcode_macro ADXL_NOISE]
|
||||
description: Measure Accelerometer Noise
|
||||
gcode:
|
||||
MEASURE_AXES_NOISE
|
||||
|
||||
|
||||
[gcode_macro ADXL_AXE_X]
|
||||
description: Measure X axis resonances
|
||||
gcode:
|
||||
SHAPER_CALIBRATE AXIS=X
|
||||
|
||||
|
||||
[gcode_macro ADXL_AXE_Y]
|
||||
description: Measure Y axis resonances
|
||||
gcode:
|
||||
SHAPER_CALIBRATE AXIS=Y
|
||||
|
||||
|
||||
##################################################
|
||||
# Save Configuration
|
||||
##################################################
|
||||
|
||||
[gcode_macro SAVE]
|
||||
description: Save Configuration
|
||||
gcode:
|
||||
SAVE_CONFIG
|
||||
|
||||
|
||||
##################################################
|
||||
# Power On/Off LED
|
||||
##################################################
|
||||
|
||||
[gcode_macro LED_HOTEND_ON]
|
||||
description: Turn on Hotend LEDs
|
||||
gcode:
|
||||
SET_PIN PIN=LED_Hotend VALUE=1
|
||||
|
||||
|
||||
[gcode_macro LED_HOTEND_OFF]
|
||||
description: Turn off Hotend LEDs
|
||||
gcode:
|
||||
SET_PIN PIN=LED_Hotend VALUE=0
|
||||
|
||||
|
||||
[gcode_macro LED_LOGO_ON]
|
||||
description: Turn on Logo LEDs
|
||||
gcode:
|
||||
SET_PIN PIN=LED_Logo VALUE=1
|
||||
|
||||
|
||||
[gcode_macro LED_LOGO_OFF]
|
||||
description: Turn off Logo LEDs
|
||||
gcode:
|
||||
SET_PIN PIN=LED_Logo VALUE=0
|
||||
|
||||
|
||||
##################################################
|
||||
# Managing Slicer Controls
|
||||
##################################################
|
||||
|
||||
[gcode_macro M204]
|
||||
description: Sets maximum accelleration
|
||||
rename_existing: M204.1
|
||||
gcode:
|
||||
{% if 'S' in params %}
|
||||
{% set s = params.S|float %}
|
||||
SET_VELOCITY_LIMIT ACCEL={s}
|
||||
{% else %}
|
||||
{% if 'P' in params %}
|
||||
{% set p = params.P|float %}
|
||||
{% if 'T' in params %}
|
||||
{% set t = params.T|float %}
|
||||
{% if p < t %}
|
||||
SET_VELOCITY_LIMIT ACCEL={p}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT ACCEL={t}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT ACCEL={p}
|
||||
{% endif %}
|
||||
{% elif 'T' in params %}
|
||||
{% set t = params.T|float %}
|
||||
SET_VELOCITY_LIMIT ACCEL={t}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro M205]
|
||||
description: Sets square corner velocity
|
||||
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 %}
|
||||
|
||||
|
||||
##################################################
|
||||
# Managing Temperatures Controls
|
||||
##################################################
|
||||
|
||||
[gcode_macro M109]
|
||||
description: Managing extruder temperature
|
||||
rename_existing: M99109
|
||||
gcode:
|
||||
{% set s = params.S|float %}
|
||||
M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}
|
||||
{% if s != 0 %}
|
||||
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s} MAXIMUM={s+1}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro M190]
|
||||
description: Managing bed temperature
|
||||
rename_existing: M99190
|
||||
gcode:
|
||||
{% set s = params.S|float %}
|
||||
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}
|
||||
{% if s != 0 %}
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1}
|
||||
{% endif %}
|
||||
|
||||
|
||||
##################################################
|
||||
# Loading default bed mesh at startup
|
||||
##################################################
|
||||
|
||||
[delayed_gcode bed_mesh_init]
|
||||
initial_duration: .01
|
||||
gcode:
|
||||
BED_MESH_PROFILE LOAD=default
|
||||
|
||||
|
||||
##################################################
|
||||
# KNOMI
|
||||
##################################################
|
||||
|
||||
# Enable this section if Knomi is used
|
||||
|
||||
#[homing_override]
|
||||
#gcode:
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=homing VALUE=True
|
||||
#G28
|
||||
#SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=homing VALUE=False
|
||||
|
||||
|
||||
#[gcode_macro _KNOMI_STATUS]
|
||||
#variable_homing: False
|
||||
#variable_probing: False
|
||||
#gcode:
|
||||
|
||||
|
||||
##################################################
|
||||
# Z-Offset Management
|
||||
##################################################
|
||||
|
||||
[gcode_macro SECURITY_OFFSET]
|
||||
description: Apply a 2mm Safety Offset
|
||||
gcode:
|
||||
SET_GCODE_OFFSET Z=+2
|
||||
RESPOND MSG="Safety Offset applied!"
|
||||
|
||||
|
||||
[gcode_macro SET_GCODE_OFFSET]
|
||||
description: Saving Z-Offset
|
||||
rename_existing: _SET_GCODE_OFFSET
|
||||
gcode:
|
||||
{% if printer.save_variables.variables.zoffset %}
|
||||
{% set zoffset = printer.save_variables.variables.zoffset %}
|
||||
{% else %}
|
||||
{% set zoffset = {'z': None} %}
|
||||
{% endif %}
|
||||
{% set ns = namespace(zoffset={'z': zoffset.z}) %}
|
||||
_SET_GCODE_OFFSET {% for p in params %}{'%s=%s '% (p, params[p])}{% endfor %}
|
||||
{%if 'Z' in params %}{% set null = ns.zoffset.update({'z': params.Z}) %}{% endif %}
|
||||
{%if 'Z_ADJUST' in params %}
|
||||
{%if ns.zoffset.z == None %}{% set null = ns.zoffset.update({'z': 0}) %}{% endif %}
|
||||
{% set null = ns.zoffset.update({'z': (ns.zoffset.z | float) + (params.Z_ADJUST | float)}) %}
|
||||
{% endif %}
|
||||
SAVE_VARIABLE VARIABLE=zoffset VALUE="{ns.zoffset}"
|
||||
|
||||
|
||||
[delayed_gcode LOAD_GCODE_OFFSETS]
|
||||
initial_duration: 2
|
||||
gcode:
|
||||
{% if printer.save_variables.variables.zoffset %}
|
||||
{% set zoffset = printer.save_variables.variables.zoffset %}
|
||||
_SET_GCODE_OFFSET {% for axis, offset in zoffset.items() if zoffset[axis] %}{ "%s=%s " % (axis, offset) }{% endfor %}
|
||||
RESPOND TYPE=command MSG="Loaded Z-Offset from variables.cfg: {zoffset.z}mm"
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user