diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 4778d99e7..f01136c83 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -7705,21 +7705,15 @@ Sigma_Exit: case 125: case 601: { - float temp_pause_position[3] = { X_PAUSE_POS, Y_PAUSE_POS, Z_PAUSE_LIFT }; + // Set default values + pause_position[X_AXIS] = X_PAUSE_POS; + pause_position[Y_AXIS] = Y_PAUSE_POS; + pause_position[Z_AXIS] = Z_PAUSE_LIFT; + for (uint8_t axis = 0; axis < E_AXIS; axis++) { - if (code_seen(axis_codes[axis])) temp_pause_position[axis] = code_value(); - } - //Check that the X pause position is within printer limits - if ((temp_pause_position[X_AXIS] >= X_MIN_POS) && (temp_pause_position[X_AXIS] <= X_MAX_POS-1)) { - pause_position[X_AXIS] = temp_pause_position[X_AXIS]; + if (code_seen(axis_codes[axis])) { + pause_position[axis] = constrain(code_value(), min_pos[axis], max_pos[axis]); } - //Check that the Y pause position is within printer limits - if ((temp_pause_position[Y_AXIS] >= Y_MIN_POS) && (temp_pause_position[Y_AXIS] <= Y_MAX_POS-1)) { - pause_position[Y_AXIS] = temp_pause_position[Y_AXIS]; - } - //Check that the Z lift position is within printer limits - if (temp_pause_position[Z_AXIS] <=Z_MAX_POS) { - pause_position[Z_AXIS] = temp_pause_position[Z_AXIS]; } if (code_seen('S')) {