troodonBackup/printer_data/config/printer.cfg

924 lines
28 KiB
INI
Raw Permalink Normal View History

[include fluidd.cfg]
[virtual_sdcard]
path: /home/biqu/printer_data/gcodes
on_error_gcode: CANCEL_PRINT
# This file contains common pin mappings for the BigTreeTech Octopus X7
# To use this config, the firmware should be compiled for the STM32F407 with a "32KiB bootloader"
# after running "make", copy the generated "klipper/out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the OctoPus with that SD card.
# See docs/Config_Reference.md for a description of parameters.
## Formbot / Vivedino Troodon Mini
## Firmware Version: 1.4
## Compiled By: YGK3D
## Release Date: 15/02/24
## *** THINGS TO CHANGE/CHECK: ***
## MCU paths [mcu] section
## Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types
## Z Endstop Switch location [safe_z_home] section
## Homing end position [gcode_macro G32] section
## Z Endstop Switch offset for Z0 [stepper_z] section
## Probe points [quad_gantry_level] section
## Min & Max gantry corner postions [quad_gantry_level] section
## PID tune [extruder] and [heater_bed] sections
## Probe pin [probe] section
## Fine tune E steps [extruder] section
[include mainsail.cfg]
[include KAMP_Settings.cfg]
[exclude_object]
[firmware_retraction]
[exclude_object]
[mcu]
## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify
##--------------------------------------------------------------------
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_340041001047333133343238-if00
restart_method: command
##--------------------------------------------------------------------
#####################################################################
# Accelerometer Settings - Uncomment to Enable
#####################################################################
#[mcu adxl]
## Obtain serial number by "ls -l /dev/serial/by-id/"
#serial: /dev/serial/by-id/usb-Klipper_rp2040_E6626005A7867B33-if00 #usb-Klipper_rp2040_E6625887D33B9337-if00
#[adxl345]
#cs_pin: adxl:gpio9
#spi_software_sclk_pin: adxl:gpio10
#spi_software_mosi_pin: adxl:gpio11
#spi_software_miso_pin: adxl:gpio12
#[resonance_tester]
#accel_chip: adxl345
#probe_points:
# 125, 125, 20
##--------------------------------------------------------------------
[printer]
kinematics: corexy
max_velocity: 600
max_accel: 20000 #Max 4000
max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V
max_z_accel: 350
square_corner_velocity: 5.0
#####################################################################
# X/Y Stepper Settings
#####################################################################
## B Stepper - Left
## Connected to MOTOR_0
## Endstop connected to DIAG_0
[stepper_x]
step_pin: PA3
dir_pin: PA4
enable_pin: !PA1
rotation_distance: 40
microsteps: 32
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: PF2
position_min: 0
##--------------------------------------------------------------------
position_endstop: 250
position_max: 250
##--------------------------------------------------------------------
homing_speed: 100 #Max 100
homing_retract_dist: 5
homing_positive_dir: true
[tmc2209 stepper_x]
uart_pin: PA2
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## A Stepper - Right
## Connected to MOTOR_1
## Endstop connected to DIAG_1
[stepper_y]
step_pin: PC2
dir_pin: PC3
enable_pin: !PC1
rotation_distance: 40
microsteps: 32
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: PC15
position_min: 0
position_endstop: y
position_max: y+8
##--------------------------------------------------------------------
position_endstop: 250
position_max: 250
##--------------------------------------------------------------------
homing_speed: 100 #Max 100
homing_retract_dist: 5
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_y]
uart_pin: PC0
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Z Stepper Settings
#####################################################################
## Z0 Stepper - Front Left
## Connected to MOTOR_4
## Endstop connected to DIAG_4
[stepper_z]
step_pin: PB10
dir_pin: PB11
enable_pin: !PE15
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
#endstop_pin: PC13
endstop_pin: probe:z_virtual_endstop
## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0)
## (+) value = endstop above Z0, (-) value = endstop below
## Increasing position_endstop brings nozzle closer to the bed
## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config
##--------------------------------------------------------------------
position_max: 230
##--------------------------------------------------------------------
position_min: -5
homing_speed: 100
second_homing_speed: 3
homing_retract_dist: 3
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z]
uart_pin: PE14
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z1 Stepper - Rear Left
## Connected to MOTOR_3
[stepper_z1]
step_pin: PE11
dir_pin: !PE12
enable_pin: !PE10
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z1]
uart_pin: PE9
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z2 Stepper - Rear Right
## Connected to MOTOR_6
[stepper_z2]
step_pin: PE7
dir_pin: PE8
enable_pin: !PG1
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z2]
uart_pin: PG0
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z3 Stepper - Front Right
## Connected to MOTOR_5
[stepper_z3]
step_pin: PF13
dir_pin: !PF14
enable_pin: !PF12
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z3]
uart_pin: PF11
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Extruder
#####################################################################
## Connected to MOTOR_2
## Heater - HE0
## Thermistor - T0
[extruder]
step_pin: PB0
dir_pin: PB1
enable_pin: !PC5
## Update value below when you perform extruder calibration
## If you ask for 100mm of filament, but in reality it is 98mm:
## rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100
## 22.6789511 is a good starting point
#rotation_distance: 22.5267 #PLA - perfect #Bondtech 5mm Drive Gears
#rotation_distance: 22.3464 #PETG
rotation_distance: 22.22254 #ABS
## Update Gear Ratio depending on your Extruder Type
## Use 50:10 for Stealthburner/Clockwork 2
## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio)
## Use 80:20 for M4, M3.1
gear_ratio: 50:10 #Stealthburner/Clockwork 2
microsteps: 32
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree
nozzle_diameter: 0.400
filament_diameter: 1.75
heater_pin: PB9
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types.
## Use "Generic 3950" for NTC 100k 3950 thermistors
sensor_type: PT1000
sensor_pin: PF3
min_temp: 10
max_temp: 270
max_power: 1.0
min_extrude_temp: 170
max_extrude_only_distance: 150
control = pid
pid_kp = 26.213
pid_ki = 1.304
pid_kd = 131.721
## Try to keep pressure_advance below 1.0
#pressure_advance: 0.024
pressure_advance: 0.0405
## Default is 0.040, leave stock
#pressure_advance_smooth_time: 0.040
## E0 on MOTOR_2
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 extruder]
uart_pin: PC4
interpolate: false
run_current: 0.56 #0.3 #0.5
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Bed Heater
#####################################################################
## SSR Pin - HE1
## Thermistor - TB
[heater_bed]
## Uncomment the following line if using the default SSR wiring from the docs site
#heater_pin: PA3
## Other wiring guides may use BED_OUT to control the SSR. Uncomment the following line for those cases
heater_pin: PD12
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types.
## Use "Generic 3950" for Keenovo heaters
sensor_type: Generic 3950
sensor_pin: PA0
## Adjust Max Power so your heater doesn't warp your bed. Rule of thumb is 0.4 watts / cm^2 .
max_power: 0.6
min_temp: 0
max_temp: 120
#control: pid
#pid_kp: 58.437
#pid_ki: 2.347
#pid_kd: 363.769
#####################################################################
# Probe
#####################################################################
[probe]
pin: PF4
x_offset: 0
y_offset: 0
#z_offset: 0
speed: 50.0
samples: 3
samples_result: median
sample_retract_dist: 3.0
samples_tolerance: 0.05
samples_tolerance_retries: 5
activate_gcode:
{% set PROBE_TEMP = 150 %}
{% set MAX_TEMP = PROBE_TEMP + 5 %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = printer.extruder.target %}
{% if TARGET_TEMP > PROBE_TEMP %}
{ action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) }
M109 S{ PROBE_TEMP }
{% else %}
# Temperature target is already low enough, but nozzle may still be too hot.
{% if ACTUAL_TEMP > MAX_TEMP %}
{ action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) }
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP }
{% endif %}
{% endif %}
#####################################################################
# Fan Control
#####################################################################
## Print Cooling Fan - FAN0
[fan]
pin: PB7
kick_start_time: 0.5
## Depending on your fan, you may need to increase this value
## if your fan will not start. Can change cycle_time (increase)
## if your fan is not able to slow down effectively
off_below: 0.10
## Hotend Fan - FAN1
[heater_fan hotend_fan]
pin: PB8
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
## If you are experiencing back flow, you can reduce fan_speed
#fan_speed: 1.0
## Controller fan - FAN2
[controller_fan controller_fan]
pin: PC6
kick_start_time: 0.5
fan_speed: 1.0
stepper: extruder
## Exhaust fan - FAN3 - Temperature Controlled
#[heater_fan exhaust_fan]
#pin: PE5
#max_power: 1.0
#shutdown_speed: 0.0
#kick_start_time: 5.0
#heater: heater_bed
#heater_temp: 60
#fan_speed: 1.0
## Exhaust fan - FAN3 - Manually Controlled
[fan_generic exhaust_fan]
pin: PE5
max_power: 1.0
shutdown_speed: 0.0
kick_start_time: 5.0
#####################################################################
# LED Control
#####################################################################
## Chamber Lighting - HE2 Connector (Optional)
[output_pin case_light]
pin: PE6
pwm:false
shutdown_value: 0
value:1
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 1800
[safe_z_home]
## XY Location of the Z Endstop Switch
## Update -10,-10 to the XY coordinates of your endstop pin
## (such as 157,305) after going through Z Endstop Pin
## Location Definition step.
home_xy_position: 125,125
speed:200
z_hop:10
## Use QUAD_GANTRY_LEVEL to level a gantry.
## Min & Max gantry corners - measure from nozzle at MIN (0,0) and
## MAX (250, 250), (300,300), or (350,350) depending on your printer size
## to respective belt positions
[quad_gantry_level]
speed: 300
#--------------------------------------------------------------------
## Gantry Corners for 250mm Build
## Uncomment for 250mm build
gantry_corners:
-60,-10
310, 320
# Probe points
points:
25,25
25,225
225,225
225,25
#--------------------------------------------------------------------
speed: 300
horizontal_move_z: 1
retries: 5
retry_tolerance: 0.05
max_adjust: 10
########################################
# EXP1 / EXP2 (display) pins
########################################
#[board_pins]
#aliases:
# # EXP1 header
# EXP1_1=PG5, EXP1_2=PG4,
# EXP1_3=PG3, EXP1_4=PG2,
# EXP1_5=PD15, EXP1_6=PD14, # Slot in the socket on this side
# EXP1_7=PD13, EXP1_8=PD11,
# EXP1_9=<GND>, EXP1_10=<5V>,
# # EXP2 header
# EXP2_1=PB14, EXP2_2=PB13,
# EXP2_3=PD10, EXP2_4=PB12,
# EXP2_5=PD9, EXP2_6=PB15, # Slot in the socket on this side
# EXP2_7=PD8, EXP2_8=<RST>,
# EXP2_9=<GND>, EXP2_10=<5V>
#--------------------------------------------------------------------
[pause_resume]
recover_velocity: 50.
# When capture/restore is enabled, the speed at which to return to
# the captured position (in mm/s). Default is 50.0 mm/s.
[respond]
default_type: echo
# Sets the default prefix of the "M118" and "RESPOND" output to one
# of the following:
# echo: "echo: " (This is the default)
# command: "// "
# error: "!! "
#default_prefix: echo:
# Directly sets the default prefix. If present, this value will
# override the "default_type".
#####################################################################
# Filament Runout Sensor
#####################################################################
[filament_switch_sensor filament_sensor]
pause_on_runout: True
# When set to True, a PAUSE will execute immediately after a runout
# is detected. Note that if pause_on_runout is False and the
# runout_gcode is omitted then runout detection is disabled. Default
# is True.
runout_gcode:
M600
# A list of G-Code commands to execute after a filament runout is
# detected. See docs/Command_Templates.md for G-Code format. If
# pause_on_runout is set to True this G-Code will run after the
# PAUSE is complete. The default is not to run any G-Code commands.
#insert_gcode:
# A list of G-Code commands to execute after a filament insert is
# detected. See docs/Command_Templates.md for G-Code format. The
# default is not to run any G-Code commands, which disables insert
# detection.
#event_delay: 3.0
# The minimum amount of time in seconds to delay between events.
# Events triggered during this time period will be silently
# ignored. The default is 3 seconds.
#pause_delay: 0.5
# The amount of time to delay, in seconds, between the pause command
# dispatch and execution of the runout_gcode. It may be useful to
# increase this delay if OctoPrint exhibits strange pause behavior.
# Default is 0.5 seconds.
switch_pin: PC14
# The pin on which the switch is connected. This parameter must be
# provided
#####################################################################
# User Modifications
#####################################################################
## Bed Mesh Configuration
# Uncomment BED_MESH_CALIBRATE in the PRINT_START macro below to enable bed levelling.
[bed_mesh]
speed: 300
horizontal_move_z: 5
mesh_min: 50,25
mesh_max: 200,175
probe_count: 5, 5
# Idle Timeout Configuration
# This block increases the idle timeout from 10 minutes to 8 hours.
# This may be longer that you are comfortable with.
# Reduce the timeout value if you want the heaters to shut off sooner.
# A longer timeout is necesary if you want to recover from filament runout or M600 filament change.
[idle_timeout]
#gcode:
# A list of G-Code commands to execute on an idle timeout. See
# docs/Command_Templates.md for G-Code format. The default is to run
# "TURN_OFF_HEATERS" and "M84".
timeout: 28800
# Idle time (in seconds) to wait before running the above G-Code
# commands. The default is 600 seconds.
#####################################################################
# Macros
#####################################################################
[gcode_macro G32]
gcode:
SAVE_GCODE_STATE NAME=STATE_G32
G90
G28
M109 S150
NOZZLE_CLEAN
G28 Z
QUAD_GANTRY_LEVEL
G0 X125 Y125 Z30 F3600
RESTORE_GCODE_STATE NAME=STATE_G32
# Use PRINT_START for the slicer starting script - please customise for your slicer of choice
[gcode_macro PRINT_START]
gcode:
M104 S150
{% set temp_extruder = params.EXTRUDER|int %}
G32 ; home all axes
BED_MESH_CALIBRATE ; Uncomment to add mesh bed levelling
G90 ; absolute positioning
G1 Z20 F3000 ; move nozzle away from bed
M109 S{temp_extruder}
NOZZLE_PRIME
[gcode_macro START_PRINT]
gcode:
G28 # Home the printer
G92 E0 # Reset extruder
M104 S150
G32
#BED_MESH_CALIBRATE PROFILE=mesh1 METHOD=automatic
#BED_MESH_PROFILE LOAD=mesh1
# Move to wait position
#G28 X
G90
#G1 X175 Y175
[gcode_macro END_PRINT]
#variable_machine_depth: printer.configfile.settings.stepper_z.position_max
gcode:
; layer end
G91 ;relative positioning
G1 E-5.00 F1000 ;retract 5mm of filament
G1 Z+1.00 X+20.0 Y+20.0 F20000 ;short quick move to disengage from print
G1 Z+10.00 F20000 ;move Z-Axis 10mm away from part
G90 ;absolute positioning
G28 X0 Y0 ; move gantry close to home
G91 ; relative positioning
G1 E-5.00 F500 ;retract additional filament to prevent oozing
G90 ;absolute positioning
M104 S0 ;turn off hotend
M140 S0 ;turn off heatbed
M106 S0 ; shut off blower
M84 ;motors off -- disabled so that head can still be moved after print finishes
# Use PRINT_END for the slicer ending script - please customise for your slicer of choice
[gcode_macro PRINT_END]
gcode:
# safe anti-stringing move coords
{% set th = printer.toolhead %}
{% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %}
{% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %}
{% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %}
SAVE_GCODE_STATE NAME=STATE_PRINT_END
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-5.0 F1800 ; retract filament
TURN_OFF_HEATERS
G90 ; absolute positioning
G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing
G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear
M107 ; turn off fan
BED_MESH_CLEAR
RESTORE_GCODE_STATE NAME=STATE_PRINT_END
#####
# COLOR CHANGE
#####
[gcode_macro M600]
description: Executes a color change by pausing the printer an unloading the filament.
gcode:
PAUSE
UNLOAD_FILAMENT
M117 Please load new filament and resume
RESPOND MSG="Please load new filament and resume"
#####
# FILAMENT MANAGEMENT
#####
[gcode_macro UNLOAD_FILAMENT]
description: Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams.
gcode:
SAVE_GCODE_STATE NAME=unload_state
G91
{% if params.TEMP is defined or printer.extruder.can_extrude|lower == 'false' %}
M117 Heating...
# Heat up hotend to provided temp or 220 as default as that should work OK with most filaments.
M104 S{params.TEMP|default(220, true)}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={params.TEMP|default(220, true)}
{% endif %}
M117 Unloading filament...
# Extract filament to cold end area
G0 E-5 F3600
# Wait for three seconds
G4 P3000
# Push back the filament to smash any stringing
G0 E5 F3600
# Extract back fast in to the cold zone
G0 E-15 F3600
# Continue extraction slowly, allow the filament time to cool solid before it reaches the gears
G0 E-130 F300
M117 Filament unloaded!
RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading."
RESTORE_GCODE_STATE NAME=unload_state
[gcode_macro LOAD_FILAMENT]
description: Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams.
gcode:
SAVE_GCODE_STATE NAME=load_state
G91
# Heat up hotend to provided temp or 220 as default as that should work OK with most filaments.
{% if params.TEMP is defined or printer.extruder.can_extrude|lower == 'false' %}
M117 Heating...
M104 S{params.TEMP|default(220, true)}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={params.TEMP|default(220, true)}
{% endif %}
M117 Loading filament...
# Load the filament into the hotend area.
G0 E100 F600
# Wait a secod
G4 P1000
# Purge
G0 E40 F100
# Wait for purge to complete
M400e
M117 Filament loaded!
RESPOND MSG="Filament loaded!"
RESTORE_GCODE_STATE NAME=load_state
[gcode_macro NOZZLE_CLEAN]
description: wipes nozzle on brush to clean it
gcode:
G90
G1 X95 Y250 F6000
G1 Z0.5 F3000
G1 X145 Y250 F10000
G1 X95 Y250 F10000
G1 X145 Y250 F10000
G1 X95 Y250 F10000
G1 X145 Y250 F10000
G1 X95 Y250 F10000
G1 Z10 F6000
[gcode_macro NOZZLE_PRIME]
description: prime the nozzle before printing
gcode:
G92 E0
G1 E-3 F1800
G1 X0 Y0 F10000
G1 Z0.3 F500
G92 E0
G1 E3 F500
G92 E0
G1 E-0.30000 F3600
G1 Z0.2500 F1000
G1 X250 Y0 E50 F1000
G92 E0
G1 E-0.30000 F5400
G1 Z10 F500
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:
PAUSE_BASE
_TOOLHEAD_PARK_PAUSE_CANCEL
[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
description: Helper: park toolhead used in PAUSE and CANCEL_PRINT
variable_extrude: 1.0
gcode:
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
{% set z_park_delta = 10.0 %}
##### 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 - z_park_delta) %}
{% set z_safe = z_park_delta %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E-{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
[gcode_macro _USER_VARIABLE]
description: Helper: Contains User defined printer variables
variable_disable_turnoff: 0
gcode:
[gcode_macro RESONANCES_TEST]
description: Run input shaper test
gcode:
{% set user = printer['gcode_macro _USER_VARIABLE'] %}
_CG28 ; home if needed
TURN_OFF_HEATERS ; turn off heaters
M107 ; turn off fan
{% if user.hw.chamber.fan %} M141 {% endif %} ; exhaust fan off
{% if user.hw.filter.ena %} _SET_FILTER {% endif %} ; filter off
_PRINT_AR T="INPUT SHAPER: Noise values, check if sensor is installed"
MEASURE_AXES_NOISE ; get noise value in log
_PRINT_AR T="INPUT SHAPER: Resonance Tests starting"
_PRINT_AR T="INPUT SHAPER: Mesasure X axis"
TEST_RESONANCES AXIS=X ; measure X
_PRINT_AR T="INPUT SHAPER: Mesasure Y axis"
TEST_RESONANCES AXIS=Y ; measure Y
_PRINT_AR T="INPUT SHAPER: Resonance Tests done"
_PRINT_AR T="INPUT SHAPER: Generate graph in backround"
RUN_SHELL_COMMAND CMD=plot_graph PARAMS=SHAPER
[gcode_macro M486]
gcode:
# Parameters known to M486 are as follows:
# [C<flag>] Cancel the current object
# [P<index>] Cancel the object with the given index
# [S<index>] Set the index of the current object.
# If the object with the given index has been canceled, this will cause
# the firmware to skip to the next object. The value -1 is used to
# indicate something that isnt an object and shouldnt be skipped.
# [T<count>] Reset the state and set the number of objects
# [U<index>] Un-cancel the object with the given index. This command will be
# ignored if the object has already been skipped
{% if 'exclude_object' not in printer %}
{action_raise_error("[exclude_object] is not enabled")}
{% endif %}
{% if 'T' in params %}
EXCLUDE_OBJECT RESET=1
{% for i in range(params.T | int) %}
EXCLUDE_OBJECT_DEFINE NAME={i}
{% endfor %}
{% endif %}
{% if 'C' in params %}
EXCLUDE_OBJECT CURRENT=1
{% endif %}
{% if 'P' in params %}
EXCLUDE_OBJECT NAME={params.P}
{% endif %}
{% if 'S' in params %}
{% if params.S == '-1' %}
{% if printer.exclude_object.current_object %}
EXCLUDE_OBJECT_END NAME={printer.exclude_object.current_object}
{% endif %}
{% else %}
EXCLUDE_OBJECT_START NAME={params.S}
{% endif %}
{% endif %}
{% if 'U' in params %}
EXCLUDE_OBJECT RESET=1 NAME={params.U}
{% endif %}
[gcode_macro Calibrate_Probe_Offset]
gcode:
PROBE_CALIBRATE
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
##### get user parameters or use default #####
{% set client = printer['gcode_macro _CLIENT_VARIABLE'] | default({}) %}
{% set allow_park = client.park_at_cancel | default(false) | lower == 'true' %}
{% set retract = client.cancel_retract | default(5.0) | abs %}
##### define park position #####
{% set park_x = "" if (client.park_at_cancel_x | default(none) is none)
else "X=" ~ client.park_at_cancel_x %}
{% set park_y = "" if (client.park_at_cancel_y | default(none) is none)
else "Y=" ~ client.park_at_cancel_y %}
{% set custom_park = park_x | length > 0 or park_y | length > 0 %}
##### end of definitions #####
# restore idle_timeout time if needed
{% if printer['gcode_macro RESUME'].restore_idle_timeout > 0 %}
SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro RESUME'].restore_idle_timeout}
{% endif %}
#{% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %}
_TOOLHEAD_PARK_PAUSE_CANCEL
_CLIENT_RETRACT LENGTH={retract}
TURN_OFF_HEATERS
M106 S0
{client.user_cancel_macro | default("")}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
# clear pause_next_layer and pause_at_layer as preparation for next print
SET_PAUSE_NEXT_LAYER ENABLE=0
SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0
CANCEL_PRINT_BASE
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [input_shaper]
#*# shaper_type_x = 3hump_ei
#*# shaper_freq_x = 88.4
#*# shaper_type_y = zv
#*# shaper_freq_y = 55.4
#*#
#*# [probe]
#*# z_offset = -1.210
#*#
#*# [extruder]
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 40.040
#*# pid_ki = 1.648
#*# pid_kd = 243.242
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.083466, 0.032216, 0.105966
#*# 0.104716, 0.013466, 0.102216
#*# 0.082216, -0.011534, 0.084716
#*# 0.098466, 0.039716, 0.154716
#*# 0.105966, 0.062216, 0.132216
#*# x_count = 3
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = lagrange
#*# tension = 0.2
#*# min_x = 92.43099999999998
#*# max_x = 157.551
#*# min_y = 61.08
#*# max_y = 175.0