Pause: only move to park position when homed

This can happen is pause is issued before homing.
This commit is contained in:
Yuri D'Elia 2022-06-29 14:30:37 +02:00
parent fc10ca3146
commit 142db85bbb

View File

@ -2222,6 +2222,7 @@ void raise_z_above(float target, bool plan)
// Z needs raising // Z needs raising
current_position[Z_AXIS] = target; current_position[Z_AXIS] = target;
clamp_to_software_endstops(current_position);
#if defined(Z_MIN_PIN) && (Z_MIN_PIN > -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) #if defined(Z_MIN_PIN) && (Z_MIN_PIN > -1) && !defined(DEBUG_DISABLE_ZMINLIMIT)
bool z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); bool z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING);
@ -10839,15 +10840,15 @@ void long_pause() //long pause print
// Stop heaters // Stop heaters
setAllTargetHotends(0); setAllTargetHotends(0);
//lift z // Lift z
current_position[Z_AXIS] += Z_PAUSE_LIFT; raise_z_above(current_position[Z_AXIS] + Z_PAUSE_LIFT, true);
clamp_to_software_endstops(current_position);
plan_buffer_line_curposXYZE(15);
//Move XY to side // Move XY to side
if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) {
current_position[X_AXIS] = X_PAUSE_POS; current_position[X_AXIS] = X_PAUSE_POS;
current_position[Y_AXIS] = Y_PAUSE_POS; current_position[Y_AXIS] = Y_PAUSE_POS;
plan_buffer_line_curposXYZE(50); plan_buffer_line_curposXYZE(50);
}
// Turn off the print fan // Turn off the print fan
fanSpeed = 0; fanSpeed = 0;