Merge branch 'develop'

This commit is contained in:
张开科 2024-11-15 16:37:01 +08:00
commit e554ddb83c
4 changed files with 107 additions and 63 deletions
config
CreatBot_D1000
CreatBot_D600Pro2
CreatBot_F430NX
scripts

@ -335,7 +335,7 @@ pin: tool:PC8
maximum_servo_angle: 180
minimum_pulse_width: 0.000900
maximum_pulse_width: 0.002100
initial_angle: 160
initial_angle: 130
# initial_pulse_width:
[servo switch_nozzle]
@ -432,7 +432,7 @@ gcode:
M191 S{CHAMBER_TEMP}
{% endif %}
G92 E0
M117 Printing star...
M117 Printing start...
[gcode_macro END_PRINT]
gcode:
@ -628,14 +628,16 @@ gcode:
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
{% set act = printer.gcode_move.gcode_position %}
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={act.z}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
[gcode_macro _USER_TEMP_RESUME]
gcode:
@ -788,9 +790,9 @@ gcode:
########################################
[delayed_gcode _CHECK_POWER_LOSS_RECOVERY]
initial_duration: 3.5
initial_duration: 1
gcode:
{% set was_interrupted = printer.save_variables.variables.was_interrupted | string %}
{% set was_interrupted = printer.save_variables.variables.was_interrupted | default(False) | string %}
{% set enable_recovery = printer.save_variables.variables.power_loss_recovery | default(Ture) | string %}
{% if enable_recovery != "False" and was_interrupted == "True" %}
RESPOND TYPE=command MSG="action:prompt_begin "
@ -803,7 +805,7 @@ gcode:
[gcode_shell_command _CLEAR_PLR]
command: sh /home/klipper/klipper/scripts/clear_plr.sh
timeout: 5.
verbose: True
verbose: False
[gcode_macro _CLEAR_LAST_FILE]
gcode:
@ -821,16 +823,26 @@ gcode:
[gcode_shell_command _POWER_LOSS_RECOVERY]
command: /home/klipper/klipper/scripts/plr.sh
timeout: 420.
verbose: True
verbose: False
[gcode_macro _RESUME_INTERRUPTED]
gcode:
{% set sv = printer.save_variables.variables %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set park_dz = client.custom_park_dz|default(2.0)|abs %}
RESPOND TYPE=command MSG="action:prompt_end"
SET_GCODE_OFFSET Z=0 MOVE=0
{% set z_height = params.Z_HEIGHT|default(printer.save_variables.variables.power_resume_z)|float %}
{% set last_file = params.GCODE_FILE|default(printer.save_variables.variables.last_file)|string %}
M118 Initiating recovery of the last print task: {last_file}
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\""
{% set z_height = params.Z_HEIGHT|default(sv.power_resume_z)|float %}
{% set is_paused = sv.power_loss_paused|default(False) %}
{% set last_file = params.GCODE_FILE|default(sv.last_file)|string %}
{% set hotend = sv.power_resume_extruder|default("extruder")%}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set z_offset_total = park_dz if is_paused else 0 %}
{% if hotend == "extruder1" %}
{% set z_offset_total = z_offset_total + z_offset %}
{% endif %}
M118 Recovery in progress, please wait
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\" \"{z_offset_total}\""
SDCARD_PRINT_FILE FILENAME=.plr/"{last_file}"
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -897,7 +909,7 @@ gcode:
{% set verbose_enable = kamp_settings.verbose_enable | abs %} # Pull verbose setting from _KAMP_Settings
{% set mesh_margin = kamp_settings.mesh_margin | float %} # Pull mesh margin setting from _KAMP_Settings
{% set fuzz_amount = kamp_settings.fuzz_amount | float %} # Pull fuzz amount setting from _KAMP_Settings
{% set default_profile = params.PROFILE %} # get default mesh profile
{% set default_profile = params.PROFILE | default("default") %} # get default mesh profile
{% set probe_count = probe_count if probe_count|length > 1 else probe_count * 2 %} # If probe count is only a single number, convert it to 2. E.g. probe_count:7 = 7,7
{% set max_probe_point_distance_x = ( bed_mesh_max[0] - bed_mesh_min[0] ) / (probe_count[0] - 1) %} # Determine max probe point distance
{% set max_probe_point_distance_y = ( bed_mesh_max[1] - bed_mesh_min[1] ) / (probe_count[1] - 1) %} # Determine max probe point distance

@ -335,7 +335,7 @@ pin: tool:PC8
maximum_servo_angle: 180
minimum_pulse_width: 0.000900
maximum_pulse_width: 0.002100
initial_angle: 160
initial_angle: 130
# initial_pulse_width:
[servo switch_nozzle]
@ -432,7 +432,7 @@ gcode:
M191 S{CHAMBER_TEMP}
{% endif %}
G92 E0
M117 Printing star...
M117 Printing start...
[gcode_macro END_PRINT]
gcode:
@ -621,14 +621,16 @@ gcode:
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
{% set act = printer.gcode_move.gcode_position %}
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={act.z}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
[gcode_macro _USER_TEMP_RESUME]
gcode:
@ -781,9 +783,9 @@ gcode:
########################################
[delayed_gcode _CHECK_POWER_LOSS_RECOVERY]
initial_duration: 3.5
initial_duration: 1
gcode:
{% set was_interrupted = printer.save_variables.variables.was_interrupted | string %}
{% set was_interrupted = printer.save_variables.variables.was_interrupted | default(False) | string %}
{% set enable_recovery = printer.save_variables.variables.power_loss_recovery | default(Ture) | string %}
{% if enable_recovery != "False" and was_interrupted == "True" %}
RESPOND TYPE=command MSG="action:prompt_begin "
@ -796,7 +798,7 @@ gcode:
[gcode_shell_command _CLEAR_PLR]
command: sh /home/klipper/klipper/scripts/clear_plr.sh
timeout: 5.
verbose: True
verbose: False
[gcode_macro _CLEAR_LAST_FILE]
gcode:
@ -814,16 +816,26 @@ gcode:
[gcode_shell_command _POWER_LOSS_RECOVERY]
command: /home/klipper/klipper/scripts/plr.sh
timeout: 420.
verbose: True
verbose: False
[gcode_macro _RESUME_INTERRUPTED]
gcode:
{% set sv = printer.save_variables.variables %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set park_dz = client.custom_park_dz|default(2.0)|abs %}
RESPOND TYPE=command MSG="action:prompt_end"
SET_GCODE_OFFSET Z=0 MOVE=0
{% set z_height = params.Z_HEIGHT|default(printer.save_variables.variables.power_resume_z)|float %}
{% set last_file = params.GCODE_FILE|default(printer.save_variables.variables.last_file)|string %}
M118 Initiating recovery of the last print task: {last_file}
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\""
{% set z_height = params.Z_HEIGHT|default(sv.power_resume_z)|float %}
{% set is_paused = sv.power_loss_paused|default(False) %}
{% set last_file = params.GCODE_FILE|default(sv.last_file)|string %}
{% set hotend = sv.power_resume_extruder|default("extruder")%}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set z_offset_total = park_dz if is_paused else 0 %}
{% if hotend == "extruder1" %}
{% set z_offset_total = z_offset_total + z_offset %}
{% endif %}
M118 Recovery in progress, please wait
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\" \"{z_offset_total}\""
SDCARD_PRINT_FILE FILENAME=.plr/"{last_file}"
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -890,7 +902,7 @@ gcode:
{% set verbose_enable = kamp_settings.verbose_enable | abs %} # Pull verbose setting from _KAMP_Settings
{% set mesh_margin = kamp_settings.mesh_margin | float %} # Pull mesh margin setting from _KAMP_Settings
{% set fuzz_amount = kamp_settings.fuzz_amount | float %} # Pull fuzz amount setting from _KAMP_Settings
{% set default_profile = params.PROFILE %} # get default mesh profile
{% set default_profile = params.PROFILE | default("default") %} # get default mesh profile
{% set probe_count = probe_count if probe_count|length > 1 else probe_count * 2 %} # If probe count is only a single number, convert it to 2. E.g. probe_count:7 = 7,7
{% set max_probe_point_distance_x = ( bed_mesh_max[0] - bed_mesh_min[0] ) / (probe_count[0] - 1) %} # Determine max probe point distance
{% set max_probe_point_distance_y = ( bed_mesh_max[1] - bed_mesh_min[1] ) / (probe_count[1] - 1) %} # Determine max probe point distance

@ -336,7 +336,7 @@ pin:L_tool:PA5
maximum_servo_angle: 180
minimum_pulse_width: 0.000900
maximum_pulse_width: 0.002100
initial_angle: 160
initial_angle: 135
# initial_pulse_width:
@ -558,7 +558,7 @@ gcode:
M191 S{CHAMBER_TEMP}
{% endif %}
G92 E0
M117 Printing star...
M117 Printing start...
[gcode_macro END_PRINT]
gcode:
@ -763,23 +763,25 @@ gcode:
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
{% set act = printer.gcode_move.gcode_position %}
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={act.z}
{% for extruder_name, name in extruderTools %}
{% set temp = printer[extruder_name].target if extruder_name in printer else 0 %}
{% set restore = False if printer[extruder_name] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
SAVE_DUAL_CARRIAGE_STATE
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=resume_dual VALUE=True
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
SAVE_DUAL_CARRIAGE_STATE
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=resume_dual VALUE=True
{% endif %}
{% endif %}
{% endif %}
[gcode_macro _USER_TEMP_RESUME]
gcode:
@ -944,9 +946,9 @@ gcode:
########################################
[delayed_gcode _CHECK_POWER_LOSS_RECOVERY]
initial_duration: 3.5
initial_duration: 1
gcode:
{% set was_interrupted = printer.save_variables.variables.was_interrupted | string %}
{% set was_interrupted = printer.save_variables.variables.was_interrupted | default(False) | string %}
{% set enable_recovery = printer.save_variables.variables.power_loss_recovery | default(Ture) | string %}
{% if enable_recovery != "False" and was_interrupted == "True" %}
RESPOND TYPE=command MSG="action:prompt_begin "
@ -959,7 +961,7 @@ gcode:
[gcode_shell_command _CLEAR_PLR]
command: sh /home/klipper/klipper/scripts/clear_plr.sh
timeout: 5.
verbose: True
verbose: False
[gcode_macro _CLEAR_LAST_FILE]
gcode:
@ -977,16 +979,26 @@ gcode:
[gcode_shell_command _POWER_LOSS_RECOVERY]
command: /home/klipper/klipper/scripts/plr.sh
timeout: 420.
verbose: True
verbose: False
[gcode_macro _RESUME_INTERRUPTED]
gcode:
{% set sv = printer.save_variables.variables %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set park_dz = client.custom_park_dz|default(2.0)|abs %}
RESPOND TYPE=command MSG="action:prompt_end"
SET_GCODE_OFFSET Z=0 MOVE=0
{% set z_height = params.Z_HEIGHT|default(printer.save_variables.variables.power_resume_z)|float %}
{% set last_file = params.GCODE_FILE|default(printer.save_variables.variables.last_file)|string %}
M118 Initiating recovery of the last print task: {last_file}
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\""
{% set z_height = params.Z_HEIGHT|default(sv.power_resume_z)|float %}
{% set is_paused = sv.power_loss_paused|default(False) %}
{% set last_file = params.GCODE_FILE|default(sv.last_file)|string %}
{% set hotend = sv.power_resume_extruder|default("extruder")%}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set z_offset_total = park_dz if is_paused else 0 %}
{% if hotend == "extruder1" %}
{% set z_offset_total = z_offset_total + z_offset %}
{% endif %}
M118 Recovery in progress, please wait
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\" \"{z_offset_total}\""
SDCARD_PRINT_FILE FILENAME=.plr/"{last_file}"
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -1053,7 +1065,7 @@ gcode:
{% set verbose_enable = kamp_settings.verbose_enable | abs %} # Pull verbose setting from _KAMP_Settings
{% set mesh_margin = kamp_settings.mesh_margin | float %} # Pull mesh margin setting from _KAMP_Settings
{% set fuzz_amount = kamp_settings.fuzz_amount | float %} # Pull fuzz amount setting from _KAMP_Settings
{% set default_profile = params.PROFILE %} # get default mesh profile
{% set default_profile = params.PROFILE | default("default") %} # get default mesh profile
{% set probe_count = probe_count if probe_count|length > 1 else probe_count * 2 %} # If probe count is only a single number, convert it to 2. E.g. probe_count:7 = 7,7
{% set max_probe_point_distance_x = ( bed_mesh_max[0] - bed_mesh_min[0] ) / (probe_count[0] - 1) %} # Determine max probe point distance
{% set max_probe_point_distance_y = ( bed_mesh_max[1] - bed_mesh_min[1] ) / (probe_count[1] - 1) %} # Determine max probe point distance

@ -1,5 +1,5 @@
#!/bin/bash
# $1 z_height $2 filename
# $1 z_height $2 filename $3 z_offset
mkdir -p ~/printer_data/gcodes/.plr
filepath=$(sed -n "s/.*filepath *= *'\([^']*\)'.*/\1/p" /home/klipper/printer_data/config/config_variables.cfg)
@ -17,10 +17,10 @@ file_content=$(cat "${filepath}" | awk '/; thumbnail begin/{flag=1;next}/; thumb
echo "$file_content" | sed 's/\r$//' | awk -F"Z" 'BEGIN{OFS="Z"} {if ($2 ~ /^[0-9]+$/) $2=$2".0"} 1' > /home/klipper/plrtmpA.$$
sed -i 's/Z\./Z0\./g' /home/klipper/plrtmpA.$$
cat /home/klipper/plrtmpA.$$ | sed -e '1,/Z'${1}'/ d' | sed -ne '/ Z/,$ p' | grep -m 1 ' Z' | sed -ne 's/.* Z\([^ ]*\).*/SET_KINEMATIC_POSITION Z=\1/p' > ${PLR_PATH}/"${plr}"
z_pos=$(echo "${1} + ${3}" | bc)
cat /home/klipper/plrtmpA.$$ | sed -e '1,/Z'${1}'/ d' | sed -ne '/ Z/,$ p' | grep -m 1 ' Z' | sed -ne "s/.* Z\([^ ]*\).*/SET_KINEMATIC_POSITION Z=${z_pos}/p" > ${PLR_PATH}/"${plr}"
cat /home/klipper/plrtmpA.$$ | sed '/ Z'${1}'/q' | sed -ne '/\(M104\|M140\|M109\|M190\|M106\)/p' >> ${PLR_PATH}/"${plr}"
cat /home/klipper/plrtmpA.$$ | sed '/ Z'${1}'/q' | sed -ne '/\(M104\|M140\|M109\|M190\)/p' >> ${PLR_PATH}/"${plr}"
line=$(cat /home/klipper/plrtmpA.$$ | sed '/ Z'${1}'/q' | sed -n '/START_PRINT/p')
@ -70,17 +70,25 @@ echo 'G28 X Y' >> ${PLR_PATH}/"${plr}"
cat /home/klipper/plrtmpA.$$ | sed '/ Z'${1}'/q' | sed -ne '/\(ACTIVATE_COPY_MODE\|ACTIVATE_MIRROR_MODE\)/p' >> ${PLR_PATH}/"${plr}"
echo 'G1 X5' >> ${PLR_PATH}/"${plr}"
echo 'G1 Y5' >> ${PLR_PATH}/"${plr}"
cat /home/klipper/plrtmpA.$$ | sed -n '1,/Z'"${1}"'/p'| tac | grep -m 1 -o '^[T][01]' >> ${PLR_PATH}/"${plr}"
echo 'G91' >> ${PLR_PATH}/"${plr}"
echo 'G1 Z-5' >> ${PLR_PATH}/"${plr}"
echo 'G90' >> ${PLR_PATH}/"${plr}"
echo 'M106 S204' >> ${PLR_PATH}/"${plr}"
#tac /home/klipper/plrtmpA.$$ | sed -e '/ Z'${1}'[^0-9]*$/q' | tac | tail -n+2 | sed -ne '/ Z/,$ p' >> ${PLR_PATH}/"${plr}"
first_line=$(cat /home/klipper/plrtmpA.$$ |sed -e '1,/Z'${1}'/ d' | sed -ne '/ Z/,$ p' | grep -m 1 ' Z' | grep -E 'F[0-9]+' | sed -E 's/F[0-9]+/F3000/g')
if [ "${first_line}" = "" ];then
cat /home/klipper/plrtmpA.$$ | sed -e '1,/Z'${1}'/ d' | sed -ne '/ Z/,$ p' >> ${PLR_PATH}/"${plr}"
else
line=$(cat /home/klipper/plrtmpA.$$ | sed -e '1,/Z'${1}'/ d' | sed -ne '/ Z/,$ p' | grep -m 1 ' Z')
z_pos=$(echo "$line" | sed -n 's/.*Z\([0-9.]*\).*/\1/p')
if [[ ${1} != $z_pos ]]; then
first_line=$(cat /home/klipper/plrtmpA.$$ |sed -e '1,/Z'${1}'/ { /Z'${1}'/!d }' | sed -ne '/ Z/,$ p' | grep -m 1 ' Z' | grep -E 'F[0-9]+' | sed -E 's/F[0-9]+/F3000/g')
echo ${first_line} >> ${PLR_PATH}/"${plr}"
cat /home/klipper/plrtmpA.$$ | sed -e '1,/Z'${1}'/ { /Z'${1}'/!d }' | sed -ne '/ Z/,$ p' | tail -n +2 >> ${PLR_PATH}/"${plr}"
else
echo ${first_line} >> ${PLR_PATH}/"${plr}"
cat /home/klipper/plrtmpA.$$ | sed -e '1,/Z'${1}'/ d' | sed -ne '/ Z/,$ p' | tail -n +2 >> ${PLR_PATH}/"${plr}"
fi
fi
rm /home/klipper/plrtmpA.$$