diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 58150b6007..0b6531ea89 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1667,7 +1667,7 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_m /*=0.0*/) { float old_feedrate_mm_m = feedrate_mm_m; #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) print_xyz(PSTR("do_blocking_move_to"), NULL, x, y, z); + if (DEBUGGING(LEVELING)) print_xyz(PSTR(">>> do_blocking_move_to"), NULL, x, y, z); #endif #if ENABLED(DELTA) @@ -1676,6 +1676,10 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_m /*=0.0*/) { set_destination_to_current(); // sync destination at the start + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("set_destination_to_current"), destination); + #endif + // when in the danger zone if (current_position[Z_AXIS] > delta_clip_start_height) { if (z > delta_clip_start_height) { // staying in the danger zone @@ -1683,28 +1687,47 @@ void do_blocking_move_to(float x, float y, float z, float fr_mm_m /*=0.0*/) { destination[Y_AXIS] = y; destination[Z_AXIS] = z; prepare_move_to_destination_raw(); // set_current_to_destination + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("danger zone move"), current_position); + #endif return; } else { destination[Z_AXIS] = delta_clip_start_height; prepare_move_to_destination_raw(); // set_current_to_destination + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("zone border move"), current_position); + #endif } } if (z > current_position[Z_AXIS]) { // raising? destination[Z_AXIS] = z; prepare_move_to_destination_raw(); // set_current_to_destination + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("z raise move"), current_position); + #endif } destination[X_AXIS] = x; destination[Y_AXIS] = y; prepare_move_to_destination(); // set_current_to_destination + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("xy move"), current_position); + #endif if (z < current_position[Z_AXIS]) { // lowering? destination[Z_AXIS] = z; prepare_move_to_destination_raw(); // set_current_to_destination + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) DEBUG_POS(PSTR("z lower move"), current_position); + #endif } + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< do_blocking_move_to"); + #endif + #else // If Z needs to raise, do it before moving XY