|
|
|
@ -1821,7 +1821,7 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
|
destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_X;
|
|
|
|
|
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_Y;
|
|
|
|
|
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_Z;
|
|
|
|
|
prepare_move_to_destination_raw(); // this will also set_current_to_destination
|
|
|
|
|
prepare_move_to_destination(); // this will also set_current_to_destination
|
|
|
|
|
|
|
|
|
|
// Move to engage deployment
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE)
|
|
|
|
@ -1832,7 +1832,7 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
|
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_2_Y;
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_DEPLOY_2_Z != Z_PROBE_ALLEN_KEY_DEPLOY_1_Z)
|
|
|
|
|
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_2_Z;
|
|
|
|
|
prepare_move_to_destination_raw();
|
|
|
|
|
prepare_move_to_destination();
|
|
|
|
|
|
|
|
|
|
#ifdef Z_PROBE_ALLEN_KEY_DEPLOY_3_X
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
|
|
|
|
@ -1848,14 +1848,14 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Z != Z_PROBE_ALLEN_KEY_DEPLOY_2_Z)
|
|
|
|
|
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Z;
|
|
|
|
|
|
|
|
|
|
prepare_move_to_destination_raw();
|
|
|
|
|
prepare_move_to_destination();
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Partially Home X,Y for safety
|
|
|
|
|
destination[X_AXIS] *= 0.75;
|
|
|
|
|
destination[Y_AXIS] *= 0.75;
|
|
|
|
|
prepare_move_to_destination_raw(); // this will also set_current_to_destination
|
|
|
|
|
prepare_move_to_destination(); // this will also set_current_to_destination
|
|
|
|
|
|
|
|
|
|
feedrate = old_feedrate;
|
|
|
|
|
|
|
|
|
@ -1921,7 +1921,7 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
|
destination[X_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_X;
|
|
|
|
|
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Y;
|
|
|
|
|
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z;
|
|
|
|
|
prepare_move_to_destination_raw();
|
|
|
|
|
prepare_move_to_destination();
|
|
|
|
|
|
|
|
|
|
// Move the nozzle down to push the Z probe into retracted position
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE)
|
|
|
|
@ -1931,7 +1931,7 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_STOW_2_Y != Z_PROBE_ALLEN_KEY_STOW_1_Y)
|
|
|
|
|
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_2_Y;
|
|
|
|
|
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_2_Z;
|
|
|
|
|
prepare_move_to_destination_raw();
|
|
|
|
|
prepare_move_to_destination();
|
|
|
|
|
|
|
|
|
|
// Move up for safety
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE)
|
|
|
|
@ -1941,13 +1941,13 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
|
if (Z_PROBE_ALLEN_KEY_STOW_3_Y != Z_PROBE_ALLEN_KEY_STOW_2_Y)
|
|
|
|
|
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_3_Y;
|
|
|
|
|
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_3_Z;
|
|
|
|
|
prepare_move_to_destination_raw();
|
|
|
|
|
prepare_move_to_destination();
|
|
|
|
|
|
|
|
|
|
// Home XY for safety
|
|
|
|
|
feedrate = homing_feedrate[X_AXIS] / 2;
|
|
|
|
|
destination[X_AXIS] = 0;
|
|
|
|
|
destination[Y_AXIS] = 0;
|
|
|
|
|
prepare_move_to_destination_raw(); // this will also set_current_to_destination
|
|
|
|
|
prepare_move_to_destination(); // this will also set_current_to_destination
|
|
|
|
|
|
|
|
|
|
feedrate = old_feedrate;
|
|
|
|
|
|
|
|
|
@ -7556,7 +7556,7 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate,
|
|
|
|
|
|
|
|
|
|
#if ENABLED(DUAL_X_CARRIAGE)
|
|
|
|
|
|
|
|
|
|
inline bool prepare_move_dual_x_carriage() {
|
|
|
|
|
inline bool prepare_move_to_destination_dualx() {
|
|
|
|
|
if (active_extruder_parked) {
|
|
|
|
|
if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && active_extruder == 0) {
|
|
|
|
|
// move duplicate extruder into correct duplication position.
|
|
|
|
@ -7595,7 +7595,7 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate,
|
|
|
|
|
|
|
|
|
|
#if DISABLED(DELTA) && DISABLED(SCARA)
|
|
|
|
|
|
|
|
|
|
inline bool prepare_cartesian_move_to_destination() {
|
|
|
|
|
inline bool prepare_move_to_destination_cartesian() {
|
|
|
|
|
// Do not use feedrate_multiplier for E or Z only moves
|
|
|
|
|
if (current_position[X_AXIS] == destination[X_AXIS] && current_position[Y_AXIS] == destination[Y_AXIS]) {
|
|
|
|
|
line_to_destination();
|
|
|
|
@ -7656,9 +7656,9 @@ void prepare_move_to_destination() {
|
|
|
|
|
if (!prepare_delta_move_to(destination)) return;
|
|
|
|
|
#else
|
|
|
|
|
#if ENABLED(DUAL_X_CARRIAGE)
|
|
|
|
|
if (!prepare_move_dual_x_carriage()) return;
|
|
|
|
|
if (!prepare_move_to_destination_dualx()) return;
|
|
|
|
|
#endif
|
|
|
|
|
if (!prepare_cartesian_move_to_destination()) return;
|
|
|
|
|
if (!prepare_move_to_destination_cartesian()) return;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
set_current_to_destination();
|
|
|
|
|