Shorthand for do_blocking_move_to
This commit is contained in:
parent
819c5b9b50
commit
e2957df05c
@ -1300,6 +1300,10 @@ static void setup_for_endstop_move() {
|
|||||||
feedrate = oldFeedRate;
|
feedrate = oldFeedRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void do_blocking_move_to_xy(float x, float y) { do_blocking_move_to(x, y, current_position[Z_AXIS]); }
|
||||||
|
inline void do_blocking_move_to_x(float x) { do_blocking_move_to(x, current_position[Y_AXIS], current_position[Z_AXIS]); }
|
||||||
|
inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z); }
|
||||||
|
|
||||||
static void clean_up_after_endstop_move() {
|
static void clean_up_after_endstop_move() {
|
||||||
#ifdef ENDSTOPS_ONLY_FOR_HOMING
|
#ifdef ENDSTOPS_ONLY_FOR_HOMING
|
||||||
enable_endstops(false);
|
enable_endstops(false);
|
||||||
@ -1408,7 +1412,7 @@ static void setup_for_endstop_move() {
|
|||||||
|
|
||||||
#if Z_RAISE_AFTER_PROBING > 0
|
#if Z_RAISE_AFTER_PROBING > 0
|
||||||
if (doRaise) {
|
if (doRaise) {
|
||||||
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // this also updates current_position
|
do_blocking_move_to_z(current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // this also updates current_position
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1494,8 +1498,8 @@ static void setup_for_endstop_move() {
|
|||||||
// Probe bed height at position (x,y), returns the measured z value
|
// Probe bed height at position (x,y), returns the measured z value
|
||||||
static float probe_pt(float x, float y, float z_before, ProbeAction probe_action=ProbeDeployAndStow, int verbose_level=1) {
|
static float probe_pt(float x, float y, float z_before, ProbeAction probe_action=ProbeDeployAndStow, int verbose_level=1) {
|
||||||
// Move Z up to the z_before height, then move the probe to the given XY
|
// Move Z up to the z_before height, then move the probe to the given XY
|
||||||
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z_before); // this also updates current_position
|
do_blocking_move_to_z(z_before); // this also updates current_position
|
||||||
do_blocking_move_to(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER, current_position[Z_AXIS]); // this also updates current_position
|
do_blocking_move_to_xy(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER); // this also updates current_position
|
||||||
|
|
||||||
#if !defined(Z_PROBE_SLED) && !defined(Z_PROBE_ALLEN_KEY)
|
#if !defined(Z_PROBE_SLED) && !defined(Z_PROBE_ALLEN_KEY)
|
||||||
if (probe_action & ProbeDeploy) deploy_z_probe();
|
if (probe_action & ProbeDeploy) deploy_z_probe();
|
||||||
@ -1604,20 +1608,18 @@ static void setup_for_endstop_move() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float oldXpos = current_position[X_AXIS]; // save x position
|
||||||
if (dock) {
|
if (dock) {
|
||||||
float oldXpos = current_position[X_AXIS]; // save x position
|
do_blocking_move_to_z(current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // raise Z
|
||||||
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // rise Z
|
do_blocking_move_to_x(X_MAX_POS + SLED_DOCKING_OFFSET + offset - 1); // Dock sled a bit closer to ensure proper capturing
|
||||||
do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset - 1, current_position[Y_AXIS], current_position[Z_AXIS]); // Dock sled a bit closer to ensure proper capturing
|
|
||||||
digitalWrite(SLED_PIN, LOW); // turn off magnet
|
digitalWrite(SLED_PIN, LOW); // turn off magnet
|
||||||
do_blocking_move_to(oldXpos, current_position[Y_AXIS], current_position[Z_AXIS]); // return to position before docking
|
|
||||||
} else {
|
} else {
|
||||||
float oldXpos = current_position[X_AXIS]; // save x position
|
|
||||||
float z_loc = current_position[Z_AXIS];
|
float z_loc = current_position[Z_AXIS];
|
||||||
if (z_loc < Z_RAISE_BEFORE_PROBING + 5) z_loc = Z_RAISE_BEFORE_PROBING;
|
if (z_loc < Z_RAISE_BEFORE_PROBING + 5) z_loc = Z_RAISE_BEFORE_PROBING;
|
||||||
do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset, current_position[Y_AXIS], z_loc); // this also updates current_position
|
do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset, current_position[Y_AXIS], z_loc); // this also updates current_position
|
||||||
digitalWrite(SLED_PIN, HIGH); // turn on magnet
|
digitalWrite(SLED_PIN, HIGH); // turn on magnet
|
||||||
do_blocking_move_to(oldXpos, current_position[Y_AXIS], current_position[Z_AXIS]); // return to position before docking
|
|
||||||
}
|
}
|
||||||
|
do_blocking_move_to_x(oldXpos); // return to position before docking
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // Z_PROBE_SLED
|
#endif // Z_PROBE_SLED
|
||||||
@ -4559,8 +4561,7 @@ inline void gcode_M400() { st_synchronize(); }
|
|||||||
void raise_z_for_servo() {
|
void raise_z_for_servo() {
|
||||||
float zpos = current_position[Z_AXIS], z_dest = Z_RAISE_BEFORE_HOMING;
|
float zpos = current_position[Z_AXIS], z_dest = Z_RAISE_BEFORE_HOMING;
|
||||||
z_dest += axis_known_position[Z_AXIS] ? zprobe_zoffset : zpos;
|
z_dest += axis_known_position[Z_AXIS] ? zprobe_zoffset : zpos;
|
||||||
if (zpos < z_dest)
|
if (zpos < z_dest) do_blocking_move_to_z(z_dest); // also updates current_position
|
||||||
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z_dest); // also updates current_position
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user