| @@ -343,6 +343,7 @@ static uint8_t target_extruder; | ||||
| #if ENABLED(AUTO_BED_LEVELING_FEATURE) | ||||
|   int xy_travel_speed = XY_TRAVEL_SPEED; | ||||
|   float zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER; | ||||
|   bool bed_leveling_in_progress = false; | ||||
| #endif | ||||
|  | ||||
| #if ENABLED(Z_DUAL_ENDSTOPS) && DISABLED(DELTA) | ||||
| @@ -1632,7 +1633,12 @@ static void setup_for_endstop_move() { | ||||
|       destination[X_AXIS] = x; | ||||
|       destination[Y_AXIS] = y; | ||||
|       destination[Z_AXIS] = z; | ||||
|       prepare_move_raw(); // this will also set_current_to_destination | ||||
|  | ||||
|       if (x == current_position[X_AXIS] && y == current_position[Y_AXIS]) | ||||
|         prepare_move_raw(); // this will also set_current_to_destination | ||||
|       else | ||||
|         prepare_move();     // this will also set_current_to_destination | ||||
|  | ||||
|       stepper.synchronize(); | ||||
|  | ||||
|     #else | ||||
| @@ -3238,6 +3244,8 @@ inline void gcode_G28() { | ||||
|  | ||||
|     feedrate = homing_feedrate[Z_AXIS]; | ||||
|  | ||||
|     bed_leveling_in_progress = true; | ||||
|  | ||||
|     #if ENABLED(AUTO_BED_LEVELING_GRID) | ||||
|  | ||||
|       // probe at the points of a lattice grid | ||||
| @@ -3585,15 +3593,17 @@ inline void gcode_G28() { | ||||
|       stepper.synchronize(); | ||||
|     #endif | ||||
|  | ||||
|     KEEPALIVE_STATE(IN_HANDLER); | ||||
|  | ||||
|     #if ENABLED(DEBUG_LEVELING_FEATURE) | ||||
|       if (DEBUGGING(LEVELING)) { | ||||
|         SERIAL_ECHOLNPGM("<<< gcode_G29"); | ||||
|       } | ||||
|     #endif | ||||
|  | ||||
|     bed_leveling_in_progress = false; | ||||
|  | ||||
|     report_current_position(); | ||||
|  | ||||
|     KEEPALIVE_STATE(IN_HANDLER); | ||||
|   } | ||||
|  | ||||
|   #if DISABLED(Z_PROBE_SLED) // could be avoided | ||||
| @@ -7305,7 +7315,7 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate, | ||||
|       calculate_delta(target); | ||||
|  | ||||
|       #if ENABLED(AUTO_BED_LEVELING_FEATURE) | ||||
|         adjust_delta(target); | ||||
|         if (!bed_leveling_in_progress) adjust_delta(target); | ||||
|       #endif | ||||
|  | ||||
|       //DEBUG_POS("prepare_move_delta", target); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user