Merge branch 'develop'
This commit is contained in:
commit
e554ddb83c
@ -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.$$
|
||||
|
Loading…
x
Reference in New Issue
Block a user