Browse Source

Cleanup do_blocking_move_to for DELTA

pull/1/head
Scott Lahteine 8 years ago
parent
commit
311c7dadb6
  1. 30
      Marlin/Marlin_main.cpp

30
Marlin/Marlin_main.cpp

@ -1679,35 +1679,35 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_m /*=0.0*/) {
feedrate_mm_m = (fr_mm_m != 0.0) ? fr_mm_m : XY_PROBE_FEEDRATE_MM_M; feedrate_mm_m = (fr_mm_m != 0.0) ? fr_mm_m : XY_PROBE_FEEDRATE_MM_M;
set_destination_to_current(); // sync destination at the start
// when in the danger zone // when in the danger zone
if (current_position[Z_AXIS] > delta_clip_start_height) { if (current_position[Z_AXIS] > delta_clip_start_height) {
if (delta_clip_start_height < z) { // staying in the danger zone if (z > delta_clip_start_height) { // staying in the danger zone
destination[X_AXIS] = x; // move directly destination[X_AXIS] = x; // move directly (uninterpolated)
destination[Y_AXIS] = y; destination[Y_AXIS] = y;
destination[Z_AXIS] = z; destination[Z_AXIS] = z;
prepare_move_to_destination_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // set_current_to_destination
return; return;
} else { // leave the danger zone }
destination[X_AXIS] = current_position[X_AXIS]; else {
destination[Y_AXIS] = current_position[Y_AXIS];
destination[Z_AXIS] = delta_clip_start_height; destination[Z_AXIS] = delta_clip_start_height;
prepare_move_to_destination_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // set_current_to_destination
} }
} }
if (current_position[Z_AXIS] < z) { // raise
destination[X_AXIS] = current_position[X_AXIS]; if (z > current_position[Z_AXIS]) { // raising?
destination[Y_AXIS] = current_position[Y_AXIS];
destination[Z_AXIS] = z; destination[Z_AXIS] = z;
prepare_move_to_destination_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // set_current_to_destination
} }
destination[X_AXIS] = x; destination[X_AXIS] = x;
destination[Y_AXIS] = y; destination[Y_AXIS] = y;
destination[Z_AXIS] = current_position[Z_AXIS]; prepare_move_to_destination(); // set_current_to_destination
prepare_move_to_destination(); // this will also set_current_to_destination
if (current_position[Z_AXIS] > z) { // lower if (z < current_position[Z_AXIS]) { // lowering?
destination[Z_AXIS] = z; destination[Z_AXIS] = z;
prepare_move_to_destination_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // set_current_to_destination
} }
#else #else

Loading…
Cancel
Save