mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-23 20:18:52 +00:00
Merge pull request #3707 from thinkyhead/rc_fix_delta_blocking_move
Fix dipping on DELTA robots during G29
This commit is contained in:
commit
5f7ad16b19
@ -343,6 +343,7 @@ static uint8_t target_extruder;
|
|||||||
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
|
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
|
||||||
int xy_travel_speed = XY_TRAVEL_SPEED;
|
int xy_travel_speed = XY_TRAVEL_SPEED;
|
||||||
float zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER;
|
float zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER;
|
||||||
|
bool bed_leveling_in_progress = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(Z_DUAL_ENDSTOPS) && DISABLED(DELTA)
|
#if ENABLED(Z_DUAL_ENDSTOPS) && DISABLED(DELTA)
|
||||||
@ -1632,7 +1633,12 @@ static void setup_for_endstop_move() {
|
|||||||
destination[X_AXIS] = x;
|
destination[X_AXIS] = x;
|
||||||
destination[Y_AXIS] = y;
|
destination[Y_AXIS] = y;
|
||||||
destination[Z_AXIS] = z;
|
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();
|
stepper.synchronize();
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@ -3238,6 +3244,8 @@ inline void gcode_G28() {
|
|||||||
|
|
||||||
feedrate = homing_feedrate[Z_AXIS];
|
feedrate = homing_feedrate[Z_AXIS];
|
||||||
|
|
||||||
|
bed_leveling_in_progress = true;
|
||||||
|
|
||||||
#if ENABLED(AUTO_BED_LEVELING_GRID)
|
#if ENABLED(AUTO_BED_LEVELING_GRID)
|
||||||
|
|
||||||
// probe at the points of a lattice grid
|
// probe at the points of a lattice grid
|
||||||
@ -3585,15 +3593,17 @@ inline void gcode_G28() {
|
|||||||
stepper.synchronize();
|
stepper.synchronize();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
KEEPALIVE_STATE(IN_HANDLER);
|
|
||||||
|
|
||||||
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
if (DEBUGGING(LEVELING)) {
|
if (DEBUGGING(LEVELING)) {
|
||||||
SERIAL_ECHOLNPGM("<<< gcode_G29");
|
SERIAL_ECHOLNPGM("<<< gcode_G29");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
bed_leveling_in_progress = false;
|
||||||
|
|
||||||
report_current_position();
|
report_current_position();
|
||||||
|
|
||||||
|
KEEPALIVE_STATE(IN_HANDLER);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if DISABLED(Z_PROBE_SLED) // could be avoided
|
#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);
|
calculate_delta(target);
|
||||||
|
|
||||||
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
|
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
|
||||||
adjust_delta(target);
|
if (!bed_leveling_in_progress) adjust_delta(target);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//DEBUG_POS("prepare_move_delta", target);
|
//DEBUG_POS("prepare_move_delta", target);
|
||||||
|
Loading…
Reference in New Issue
Block a user