Created
November 15, 2023 21:41
-
-
Save SrPhilippe/53a1492852fd427c6493cb619a9d6638 to your computer and use it in GitHub Desktop.
This file was requested by a reddit fella
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#################################################################################### | |
# Machine type: NEPTUNE 4 | |
# Current configuration version: V1.3 | |
# Date:2023-11-7 | |
#################################################################################### | |
# 本产品(Neptune 4/4pro/4plus/4max)使用自定义的klipper固件,不支持用户自行 | |
# 更新官方Klipper/Fluidd/Moonraker,否则会导致机器无法正常使用。如果 | |
# 您希望自行DIY,是这方面的专家或者对这方面感兴趣,我们建议先自备烧 | |
# 录镜像的工具,以防止意外导致机器无法正常使用时可以进行恢复,烧录镜像 | |
# 教程请联系售后支持团队获取,感谢您的配合! | |
#################################################################################### | |
# This product (Neptune 4/4pro/4plus/4max) adopts Klipper firmware | |
# and does not support users to update the official klipper/fluidd | |
# /moonraker by themselves, otherwise the machine will not work properly. | |
# If you want to DIY and are an expert or interested in this field, | |
# we recommend that you prepare your own tools for burning images so | |
# that you can restore them if problems arise. Please contact after-sales | |
# support team for tutorials on burning images. Thank you for your cooperation! | |
#################################################################################### | |
# This file contains common pin mappings for ZNP-K1-V1.0 | |
# boards. To use this config, the firmware should be compiled for the | |
# STM32F402. When running "make menuconfig", enable "extra low-level | |
# configuration setup", select the 32KiB bootloader, and serial (on | |
# USART1 PA10/PA9) communication. | |
# The "make flash" command does not work on the ZN-K1-V1.0. Instead, | |
# after running "make", copy the generated "out/klipper.bin" file to a | |
# file named "elegoo_k1.bin" on an SD card and then restart the ZNP-K1-V1.0 | |
# with that SD card. | |
# See docs/Config_Reference.md for a description of parameters. | |
#################################################################################### | |
[include plr.cfg] | |
[mcu] | |
# The hardware use USART1 PA10/PA9 connect to RK3328 | |
serial: /dev/ttyS0 | |
restart_method: command | |
[stepper_x] | |
step_pin:PC14 | |
dir_pin:PC13 | |
enable_pin:!PC15 | |
microsteps: 16 | |
rotation_distance: 40 | |
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper | |
endstop_pin:PC0 | |
position_min: -6 | |
position_endstop:-4 | |
position_max: 235 | |
homing_speed:50 | |
homing_retract_dist:5 | |
homing_positive_dir:false | |
[stepper_y] | |
step_pin:PB4 | |
dir_pin:PB3 | |
enable_pin:!PB5 | |
microsteps:16 | |
rotation_distance: 40 | |
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper | |
endstop_pin:PB8 | |
position_min: -2 | |
position_endstop:0 | |
position_max:235 | |
homing_speed:50 | |
homing_retract_dist:5 | |
homing_positive_dir:false | |
[stepper_z] | |
step_pin:PC10 | |
dir_pin:!PA15 | |
enable_pin: !PC11 | |
microsteps: 16 | |
rotation_distance: 8 | |
full_steps_per_rotation: 200 | |
endstop_pin:probe:z_virtual_endstop ## PB12 for Z-max; endstop have'!' is NO | |
## 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_endstop:-5 | |
position_max: 268 | |
position_min: -5 | |
homing_speed: 8 | |
homing_retract_dist: 5 | |
second_homing_speed: 3 | |
[extruder] | |
step_pin:PA5 | |
dir_pin:!PA6 | |
enable_pin:!PA4 | |
microsteps:16 | |
rotation_distance: 28.888 #31.4 #Bondtech 5mm Drive Gears | |
gear_ratio: 52:10 | |
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree | |
nozzle_diameter: 0.400 | |
filament_diameter: 1.750 | |
min_temp: 0 | |
max_temp: 330 | |
heater_pin: PA7 | |
sensor_type:NTC 100K MGB18-104F39050L32 | |
sensor_pin: PA1 | |
max_power: 1 | |
# control :pid | |
# pid_kp : 26.213 | |
# pid_ki : 1.304 | |
# pid_kd : 131.721 | |
pressure_advance: 0.020 | |
pressure_advance_smooth_time: 0.005 | |
instantaneous_corner_velocity: 2.5 | |
max_extrude_only_distance: 300 | |
max_extrude_only_velocity:60 | |
max_extrude_only_accel:5000 | |
max_extrude_cross_section: 99 | |
min_extrude_temp:0 | |
[verify_heater extruder] | |
max_error: 120 | |
check_gain_time: 30 | |
hysteresis: 10 | |
heating_gain: 2 | |
[heater_bed] | |
heater_pin:PB10 | |
sensor_type: NTC 100K MGB18-104F39050L32 | |
sensor_pin: PA0 | |
max_power: 1.0 | |
control = watermark | |
min_temp: 0 | |
max_temp: 120 | |
[verify_heater heater_bed] | |
max_error: 120 | |
check_gain_time: 120 | |
hysteresis: 10 | |
heating_gain: 1 | |
[respond] | |
default_type: echo | |
default_prefix: echo: | |
[virtual_sdcard] | |
path: ~/printer_data/gcodes | |
on_error_gcode: | |
# test OK | |
G91 | |
G1 Z25 F900 | |
G90 | |
TURN_OFF_HEATERS | |
M106 S100 | |
M84 X Y E | |
M300 P10000 S1 | |
G4 P300 | |
M300 | |
M300 | |
M300 | |
M300 | |
M300 | |
M300 | |
M300 | |
M300 | |
M300 | |
M300 | |
M300 | |
##################################################################### | |
# Macros START / END / PAUSE / RESUME / CANCEL | |
##################################################################### | |
[gcode_macro PRINT_START] | |
gcode: | |
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=True | |
G92 E0 | |
BED_MESH_CLEAR | |
G90 | |
BED_MESH_PROFILE LOAD=11 | |
CLEAR_PAUSE | |
M117 Printing | |
[gcode_macro PRINT_END] | |
gcode: | |
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False | |
RUN_SHELL_COMMAND CMD=clear_plr | |
clear_last_file | |
{% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} | |
{% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} | |
{% set RUN_DECEL = printer.configfile.settings['printer'].max_accel_to_decel|float %} | |
SET_VELOCITY_LIMIT VELOCITY={RUN_VELOCITY} ACCEL={RUN_ACCEL} ACCEL_TO_DECEL={RUN_DECEL} | |
{% set z = params.Z|default(100)|int %} | |
{% if (printer.gcode_move.position.z+5) < z %} # If the current gcode-Z position is less than the maximum limit position | |
G90 # absolute positioning | |
G1 Z{z+5} F6000 # park nozzle at rear | |
{% endif %} | |
TURN_OFF_HEATERS | |
M107 | |
G1 X115 Y230 # Present print | |
M84 X Y E | |
[pause_resume] | |
[gcode_macro PAUSE] | |
rename_existing: BASE_PAUSE | |
gcode: | |
# Parameters | |
{% set z = params.Z|default(10)|int %} # z hop amount | |
{% set e = params.E|default(1) %} | |
{% if printer['pause_resume'].is_paused|int == 0 %} | |
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE={z} # set z hop variable for reference in resume macro | |
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target} # set hotend temp variable for reference in resume macro | |
# SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0 # disable filament sensor | |
SAVE_GCODE_STATE NAME=PAUSE # save current print position for resume | |
BASE_PAUSE # pause print | |
{% if (printer.gcode_move.position.z + z) < printer.toolhead.axis_maximum.z %} # check that zhop doesn't exceed z max | |
G91 # relative positioning | |
G1 Z{z} F900 # raise Z up by z hop amount | |
{% else %} | |
# { action_respond_info("Pause zhop exceeds maximum Z height.") } # if z max is exceeded, show message and set zhop value for resume to 0 | |
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE=0 | |
{% endif %} | |
G1 E-{e} F2100 | |
SAVE_GCODE_STATE NAME=PAUSEPARK | |
G90 # absolute positioning | |
G1 X-4 Y0 F6000 ; park toolhead at front center | |
#M104 S0 # turn off hotend | |
SET_IDLE_TIMEOUT TIMEOUT=43200 # set timeout to 12 hours | |
{% endif %} | |
[gcode_macro RESUME] | |
rename_existing: BASE_RESUME | |
variable_zhop: 0 | |
variable_etemp: 0 | |
variable_saved_extruder_temp: 0 | |
variable_saved_x: 0.0 | |
variable_saved_y: 0.0 | |
variable_saved_z: 0.0 | |
variable_saved_e: 0.0 | |
variable_zhop: 0 | |
variable_etemp: 0 | |
gcode: | |
# Parameters | |
{% set e = params.E|default(2.5)|int %} ; hotend prime amount (in mm) | |
{% if printer['pause_resume'].is_paused|int == 1 %} | |
#SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1 ; enable filament sensor | |
#INITIAL_RGB ; reset LCD color | |
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} ; set timeout back to configured value | |
{% if etemp > 0 %} | |
M109 S{etemp|int} ; wait for hotend to heat back up | |
{% endif %} | |
RESTORE_GCODE_STATE NAME=PAUSEPARK MOVE=1 MOVE_SPEED=100 ; go back to parked position in case toolhead was moved during pause (otherwise the return zhop can error) | |
G91 ; relative extruder positioning | |
M83 ; restore position | |
{% if printer[printer.toolhead.extruder].temperature >= printer.configfile.settings.extruder.min_extrude_temp %} | |
G1 Z{zhop * -1} E{e} F900 ; prime nozzle by E, lower Z back down | |
{% else %} | |
G1 Z{zhop * -1} F900 ; lower Z back down without priming (just in case we are testing the macro with cold hotend) | |
{% endif %} | |
M400 | |
RESTORE_GCODE_STATE NAME=PAUSE MOVE=1 MOVE_SPEED=60 | |
BASE_RESUME ; resume print | |
{% endif %} # resume print | |
[gcode_macro CANCEL_PRINT] | |
rename_existing: BASE_CANCEL_PRINT | |
gcode: | |
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False | |
RUN_SHELL_COMMAND CMD=clear_plr | |
clear_last_file | |
{% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} | |
{% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} | |
{% set RUN_DECEL = printer.configfile.settings['printer'].max_accel_to_decel|float %} | |
SET_VELOCITY_LIMIT VELOCITY={RUN_VELOCITY} ACCEL={RUN_ACCEL} ACCEL_TO_DECEL={RUN_DECEL} | |
{% set z = params.Z|default(100)|int %} | |
{% set x_park = params.X|default(printer.toolhead.axis_minimum.x+5)|int %} | |
{% set y_park = params.Y|default(printer.toolhead.axis_maximum.y-5)|int %} | |
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} | |
SDCARD_RESET_FILE | |
M400 | |
G91 | |
M83 | |
G1 E-10.0 F1200 | |
TURN_OFF_HEATERS | |
M107 | |
{% if (printer.gcode_move.position.z+5) < z %} | |
G90 | |
G0 X{x_park} Y{y_park} Z{z+5} F6000 | |
{% endif %} | |
{%if (printer.gcode_move.position.z+5) >= z %} | |
{%if (printer.gcode_move.position.z+5) < printer.toolhead.axis_maximum.z %} | |
G91 | |
G1 Z5 F300 | |
G90 | |
G0 X{x_park} Y{y_park} F6000 | |
{% else %} | |
G90 | |
G0 X{x_park} Y{y_park} Z{printer.toolhead.axis_maximum.z} F6000 | |
{% endif %} | |
{% endif %} | |
M84 X Y E | |
[filament_switch_sensor fila] | |
pause_on_runout: True | |
runout_gcode: | |
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1 | |
insert_gcode: | |
event_delay: 3.0 | |
pause_delay: 1.0 | |
switch_pin: PA12 | |
############################################################## | |
#fan for printed model FAN0 | |
[fan] | |
pin: PC9 | |
#fan for hotend FAN1 | |
#[heater_fan fan1] | |
#pin: PA8 | |
#shutdown_speed: 1 | |
[controller_fan controller_fan1] | |
pin: PA8 | |
fan_speed: 1.0 | |
idle_timeout: 900 | |
[printer] | |
kinematics:cartesian | |
max_velocity: 500 | |
max_accel: 5000 | |
max_accel_to_decel: 2500 | |
max_z_velocity: 20 | |
max_z_accel: 100 | |
square_corner_velocity: 9.0 | |
[input_shaper] | |
shaper_freq_x: 66.66 | |
shaper_freq_y: 42.05 | |
shaper_type_x: mzv | |
shaper_type_y: ei | |
#damping_ratio_x: 0.1 | |
#damping_ratio_y: 0.1 | |
#################################################################### | |
# Homing and Gantry Adjustment Routines | |
##################################################################### | |
[idle_timeout] | |
timeout: 3600 | |
gcode: | |
{% if printer.pause_resume.is_paused %} | |
{action_respond_info("Extruder powered down on idle timeout.")} | |
SET_GCODE_VARIABLE MACRO=resume VARIABLE=saved_extruder_temp VALUE="{ | |
printer[printer.toolhead.extruder].target}" | |
M104 S0; Turn off extruder but leave the bed on. | |
{% else %} | |
M104 S0; Turn off extruder but leave the bed on. | |
M84 E | |
{% endif %} | |
[safe_z_home] | |
home_xy_position: 141.75,97.05 | |
speed: 200 | |
z_hop: 10 | |
z_hop_speed: 5 | |
[gcode_macro G29] | |
gcode: | |
M400 | |
BED_MESH_CLEAR | |
G28 | |
BED_MESH_CALIBRATE profile=11 mesh_min=10,21 mesh_max=200,220 probe_count=11 algorithm=bicubic | |
M400 | |
G4 P2000 | |
G91 | |
G1 Z5 F300 | |
G90 | |
G28 Z | |
G1 X117.5 Y117.5 F12000 | |
G1 Z0 F300 | |
##################################################################### | |
# Screw tilt adjust / Bed screws | |
##################################################################### | |
[screws_tilt_adjust] # Gives the palpation values on the bed and indicates the changes to be made. | |
screw1: 56.75, 12.05 | |
screw1_name: front left screw | |
screw2: 226.75, 12.05 | |
screw2_name: front right screw | |
screw3: 226.75, 182.05 | |
screw3_name: rear right screw | |
screw4: 56.75, 182.05 | |
screw4_name: rear left screw | |
horizontal_move_z: 10.0 | |
speed: 150.0 | |
screw_thread: CW-M4 | |
[bed_screws] # Place the nozzle at the screws to make manual adjustments | |
screw1: 32.5, 32.5 | |
screw1_name: front left screw | |
screw2: 202.5, 32.5 | |
screw2_name: front right screw | |
screw3: 202.5, 202.5 | |
screw3_name: rear right screw | |
screw4: 32.5, 202.5 | |
screw4_name: rear left screw | |
horizontal_move_z: 10.0 | |
speed: 150.0 | |
##################################################################### | |
# Probe | |
##################################################################### | |
[probe] | |
pin:^PA11 | |
x_offset: -24.25 | |
y_offset: 20.45 | |
z_offset: 0.0 | |
speed: 10.0 | |
samples: 2 | |
samples_result: median | |
sample_retract_dist: 3.0 | |
samples_tolerance: 0.05 | |
samples_tolerance_retries: 5 | |
[bed_mesh] | |
speed:500 | |
horizontal_move_z:10 | |
mesh_min:10,21 | |
mesh_max:210,211 | |
probe_count:6,6 | |
algorithm:bicubic | |
bicubic_tension:0.2 | |
mesh_pps: 2, 2 | |
fade_start:5.0 | |
fade_end:30.0 | |
##################################################################### | |
# LED Control | |
##################################################################### | |
[output_pin caselight] | |
pin: PB7 | |
pwm: false | |
shutdown_value:0 | |
value:0.0 | |
[output_pin caselight1] | |
pin: PC7 | |
pwm: false | |
shutdown_value:0 | |
value:0.0 | |
[gcode_macro FLASHLIGHT_ON] | |
description: Turn on Hotend LEDs | |
gcode: | |
SET_PIN PIN=caselight VALUE=1 | |
[gcode_macro FLASHLIGHT_OFF] | |
description: Turn off Hotend LEDs | |
gcode: | |
SET_PIN PIN=caselight VALUE=0 | |
[gcode_macro MODLELIGHT_ON] | |
description: Turn on Logo LEDs | |
gcode: | |
SET_PIN PIN=caselight1 VALUE=1 | |
[gcode_macro MODLELIGHT_OFF] | |
description: Turn off Logo LEDs | |
gcode: | |
SET_PIN PIN=caselight1 VALUE=0 | |
##################################################################### | |
# Temperature | |
##################################################################### | |
[temperature_sensor mcu_temp] | |
sensor_type: temperature_mcu | |
min_temp: 0 | |
max_temp: 100 | |
[temperature_sensor Host] | |
sensor_type: temperature_host | |
min_temp: 10 | |
max_temp: 100 | |
######################################## | |
# TMC UART configuration | |
######################################## | |
[tmc2209 stepper_x] | |
uart_pin: PB9 | |
# run_current: 0.55 | |
run_current: 1.0 | |
hold_current: 0.8 | |
interpolate: True | |
# interpolate: False | |
stealthchop_threshold:0 | |
# stealthchop_threshold:999999 | |
[tmc2209 stepper_y] | |
uart_pin: PD2 | |
# run_current: 0.55 | |
run_current: 1.1 | |
hold_current: 0.8 | |
interpolate: True | |
# interpolate: False | |
stealthchop_threshold:0 | |
# stealthchop_threshold:999999 | |
[tmc2209 stepper_z] | |
uart_pin: PC5 | |
run_current: 0.8 | |
hold_current: 0.8 | |
interpolate: True | |
# interpolate: False | |
stealthchop_threshold:0 | |
[tmc2209 extruder] | |
uart_pin: PC4 | |
run_current: 0.8 | |
hold_current: 0.5 | |
interpolate: True | |
# interpolate: False | |
stealthchop_threshold: 0 | |
[mcu rpi] | |
serial: /tmp/klipper_host_mcu | |
[adxl345] | |
cs_pin: rpi:None | |
spi_bus: spidev0.2 | |
[resonance_tester] | |
accel_chip: adxl345 | |
probe_points: | |
100, 100, 20 # an example | |
[force_move] | |
enable_force_move : true | |
[gcode_macro M109] | |
rename_existing: M99109 | |
gcode: | |
#Parameters | |
{% if 'S' in params %} | |
{% set s = params.S|float %} | |
M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} | |
{% if printer[printer.toolhead.extruder].temperature >= s-4 %} | |
M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} | |
{% else %} | |
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-4} MAXIMUM={s+10} | |
{% endif %} | |
{% else %} | |
M104 S0 | |
{% endif %} | |
[display_status] | |
##################################################################### | |
# Macros Change Filament | |
##################################################################### | |
[gcode_macro M600] | |
description: Pause for color change | |
gcode: | |
#default_parameter_X: 10 | |
#default_parameter_Y: 10 | |
#default_parameter_Z: 10 | |
{% set X = params.X|default(50)|float %} | |
{% set Y = params.Y|default(0)|float %} | |
{% set Z = params.Z|default(10)|float %} | |
SAVE_GCODE_STATE NAME=M600_state | |
PAUSE | |
G91 | |
G1 E-.8 F2700 | |
G1 Z{Z} | |
G90 | |
G1 X{X} Y{Y} F3000 | |
G91 | |
G1 E-90 F1000 | |
RESTORE_GCODE_STATE NAME=M600_state | |
##################################################################### | |
# Macros Load / Unload Filament | |
##################################################################### | |
[gcode_macro UNLOAD_FILAMENT] #unload filament | |
gcode: | |
G91 | |
# G1 E10 F300 | |
G1 E-80 F800 | |
G90 | |
[gcode_macro LOAD_FILAMENT] #load filament | |
gcode: | |
G91 | |
G1 E20 F800 | |
G1 E60 F300 | |
G90 | |
##################################################################### | |
# Macros PID | |
##################################################################### | |
[gcode_macro PID_EXTRUDER] | |
gcode: | |
G28 | |
M106 S255 | |
PID_CALIBRATE HEATER=extruder TARGET=220 | |
SAVE_CONFIG | |
[gcode_macro PID_BED] | |
gcode: | |
G28 | |
M106 S255 | |
PID_CALIBRATE HEATER=heater_bed TARGET=60 | |
SAVE_CONFIG | |
##################################################################### | |
# Other Macros | |
##################################################################### | |
[gcode_macro M17] | |
gcode: | |
{% if 'X' in params or 'Y' in params or 'Z' in params or 'E' in params %} | |
{% if 'X' in params %} | |
SET_STEPPER_ENABLE STEPPER=stepper_x enable=1 | |
{% endif %} | |
{% if 'Y' in params %} | |
SET_STEPPER_ENABLE STEPPER=stepper_y enable=1 | |
{% endif %} | |
{% if 'Z' in params %} | |
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1 | |
{% endif %} | |
{% if 'E' in params %} | |
SET_STEPPER_ENABLE STEPPER=extruder enable=1 | |
{% endif %} | |
{% else %} | |
SET_STEPPER_ENABLE STEPPER=stepper_x enable=1 | |
SET_STEPPER_ENABLE STEPPER=stepper_y enable=1 | |
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1 | |
#SET_STEPPER_ENABLE STEPPER=extruder enable=1 | |
{% endif %} | |
[gcode_macro M84] | |
rename_existing:M84.1 | |
gcode: | |
{% if 'X' in params or 'Y' in params or 'Z' in params or 'E' in params %} | |
{% if 'X' in params %} | |
SET_STEPPER_ENABLE STEPPER=stepper_x enable=0 | |
{% endif %} | |
{% if 'Y' in params %} | |
SET_STEPPER_ENABLE STEPPER=stepper_y enable=0 | |
{% endif %} | |
{% if 'Z' in params %} | |
SET_STEPPER_ENABLE STEPPER=stepper_z enable=0 | |
{% endif %} | |
{% if 'E' in params %} | |
SET_STEPPER_ENABLE STEPPER=extruder enable=0 | |
{% endif %} | |
{% else %} | |
SET_STEPPER_ENABLE STEPPER=stepper_x enable=0 | |
SET_STEPPER_ENABLE STEPPER=stepper_y enable=0 | |
SET_STEPPER_ENABLE STEPPER=stepper_z enable=0 | |
SET_STEPPER_ENABLE STEPPER=extruder enable=0 | |
{% endif %} | |
[delayed_gcode KINEMATIC_POSITION] | |
initial_duration:3.0 | |
gcode: | |
{% set s = 50 %} | |
SET_KINEMATIC_POSITION X=110 | |
SET_KINEMATIC_POSITION Y=110 | |
SET_KINEMATIC_POSITION Z=0 | |
M201 X20000 Y20000 | |
{% if printer[printer.toolhead.extruder].temperature > s | |
or printer[printer.toolhead.extruder].temperature < -10 | |
or printer.heater_bed.temperature < -10 %} | |
G91 | |
G1 X0.7 F15 ;If the target temperature is reached, use this command to start the fan. | |
G1 X-0.7 F15 | |
G1 F180 | |
G90 | |
M84 X | |
{% endif %} | |
[gcode_macro M190] | |
rename_existing: M99190 | |
gcode: | |
{% set s = (params.S|float,120)|min %} | |
{% if params.S is defined %} | |
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={s|int} | |
{% if printer.heater_bed.temperature <= s-2 %} | |
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-2} MAXIMUM={s+10} | |
G4 P20000 | |
{% else %} | |
G4 P10000 | |
{% endif %} | |
{% else %} | |
M140 S0 | |
{% endif %} | |
[gcode_macro M140] | |
rename_existing: M99140 | |
gcode: | |
{% set s = (params.S|float,120)|min %} | |
{% if params.S is defined %} | |
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={s|int} | |
{% else %} | |
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0 | |
{% endif %} | |
#################################################################### | |
## G-code宏定义 | |
##################################################################### | |
[gcode_macro M205] | |
description: Sets square corner velocity. | |
Usage: M205 [X<velocity>] [Y<velocity>] | |
gcode: | |
{% set max_square_corner_velocity = 30 %} | |
{% if 'X' in params or 'Y' in params %} | |
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY="{(params.X|default(0)|float, params.Y|default(0)|float,max_square_corner_velocity)|min}" | |
{% else %} | |
SET_VELOCITY_LIMIT | |
{% endif %} | |
[gcode_macro M203] | |
description: Sets maximum velocity. | |
Usage: M203 [X<velocity>] [Y<velocity>] | |
gcode: | |
{% if 'X' in params or 'Y' in params %} | |
{% set velocity = (params.X|default(params.Y)|float, | |
params.Y|default(params.X)|float,500)|min %} | |
SET_VELOCITY_LIMIT VELOCITY="{velocity}" | |
{% else %} | |
SET_VELOCITY_LIMIT | |
{% endif %} | |
# [gcode_macro m600] | |
# description: Pauses the current print. | |
# Usage: M600 [B<beeps>] [E<pos>] [L<pos>] [R<temp>] [U<pos>] [X<pos>] [Y<pos>] | |
# [Z<pos>] | |
# gcode: | |
# PAUSE P=2{% for k in params|select("in", "BEXYZ") %}{ | |
# ' '~k~'="'~params[k]~'"'}{% endfor %} | |
[gcode_macro m204] | |
description: Sets maximum accelleration. | |
Usage: M204 [S<accel>] [P<accel> T<accel>] | |
rename_existing: M99204 | |
gcode: | |
{% set max_accel = printer["gcode_macro m201"].max_accel %} | |
{% set accel = 0.0 %} | |
{% if 'S' in params %} | |
{% set accel = (params.S|float, max_accel)|min %} | |
{% elif 'P' in params %} | |
{% set accel = (params.P|float, params.T|default(params.P)|float, | |
max_accel)|min %} | |
{% endif %} | |
{% if accel %} | |
SET_VELOCITY_LIMIT ACCEL="{accel | |
}" ACCEL_TO_DECEL="{accel * 1}" | |
{% else %} | |
SET_VELOCITY_LIMIT | |
{% endif %} | |
[gcode_macro m201] | |
description: Sets maximum accelleration. | |
Usage: M201 [X<accel>] [Y<accel>] | |
variable_max_accel: 1.7976931348623157e+308 | |
gcode: | |
{% if 'X' in params or 'Y' in params %} | |
{% set accel = (params.X|default(params.Y)|float, | |
params.Y|default(params.X)|float)|min %} | |
SET_GCODE_VARIABLE MACRO=m201 VARIABLE=max_accel VALUE="{accel}" | |
{% if accel < printer.toolhead.max_accel %} | |
SET_VELOCITY_LIMIT ACCEL="{accel | |
}" ACCEL_TO_DECEL="{accel * 1}" | |
{% endif %} | |
{% else %} | |
SET_VELOCITY_LIMIT | |
{% endif %} | |
################ Buzzer configuration ################## | |
[output_pin beeper] | |
pin: PA2 | |
pwm: true | |
shutdown_value:0 | |
value:0.0 | |
[gcode_macro m300] | |
description: Emits and audible beep. | |
Usage: M300 [P<duration>] [S<frequency>] | |
gcode: | |
{% set settings = printer.configfile.settings %} | |
{% if "output_pin beeper" in printer %} | |
{% set P = (params.P|default(100)|int, 0)|max %} | |
{% set S = (params.S|default(1000)|int, 10000)|min %} | |
SET_PIN PIN=beeper VALUE={ | |
settings["output_pin beeper"].scale|default(1.0) * 0.5 | |
}{% if settings["output_pin beeper"].pwm %} CYCLE_TIME={ | |
1.0 / S }{% endif %} | |
G4 P{P} | |
SET_PIN PIN=beeper VALUE=0 | |
{% else %} | |
{action_respond_info( | |
"M300 is disabled. To enable create an [output_pin beeper] config.")} | |
{% endif %} | |
# Enable object exclusion | |
[exclude_object] | |
# Enable arcs support | |
[gcode_arcs] | |
resolution: 0.1 | |
#*# <---------------------- SAVE_CONFIG ----------------------> | |
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. | |
#*# | |
#*# [extruder] | |
#*# control = pid | |
#*# pid_kp = 28.124 | |
#*# pid_ki = 2.180 | |
#*# pid_kd = 90.699 | |
#*# | |
#*# [bed_mesh 11] | |
#*# version = 1 | |
#*# points = | |
#*# -0.108750, -0.048750, -0.041250, -0.046250, -0.030000, 0.003750, 0.005000, -0.013750, -0.016250, -0.030000, -0.046250 | |
#*# -0.111250, -0.066250, -0.048750, -0.055000, -0.040000, -0.007500, 0.000000, -0.020000, -0.033750, -0.041250, -0.072500 | |
#*# -0.081250, -0.047500, -0.026250, -0.022500, -0.011250, 0.012500, 0.023750, 0.001250, -0.010000, -0.027500, -0.066250 | |
#*# -0.077500, -0.050000, -0.033750, -0.035000, -0.022500, 0.005000, 0.007500, -0.015000, -0.013750, -0.035000, -0.078750 | |
#*# -0.103750, -0.085000, -0.067500, -0.072500, -0.062500, -0.046250, -0.046250, -0.053750, -0.063750, -0.090000, -0.131250 | |
#*# -0.097500, -0.070000, -0.046250, -0.061250, -0.052500, -0.033750, -0.023750, -0.036250, -0.036250, -0.051250, -0.095000 | |
#*# -0.116250, -0.093750, -0.068750, -0.086250, -0.081250, -0.060000, -0.055000, -0.068750, -0.072500, -0.090000, -0.125000 | |
#*# -0.112500, -0.091250, -0.087500, -0.088750, -0.087500, -0.063750, -0.061250, -0.077500, -0.082500, -0.098750, -0.122500 | |
#*# -0.130000, -0.120000, -0.113750, -0.115000, -0.116250, -0.097500, -0.096250, -0.106250, -0.111250, -0.117500, -0.155000 | |
#*# -0.151250, -0.121250, -0.128750, -0.135000, -0.132500, -0.106250, -0.100000, -0.105000, -0.107500, -0.106250, -0.102500 | |
#*# -0.151250, -0.148750, -0.157500, -0.175000, -0.177500, -0.163750, -0.153750, -0.162500, -0.162500, -0.157500, -0.176250 | |
#*# tension = 0.2 | |
#*# min_x = 10.0 | |
#*# algo = bicubic | |
#*# y_count = 11 | |
#*# mesh_y_pps = 2 | |
#*# min_y = 21.0 | |
#*# x_count = 11 | |
#*# max_y = 219.9 | |
#*# mesh_x_pps = 2 | |
#*# max_x = 200.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment