|
|
@ -1706,10 +1706,6 @@ inline void do_blocking_move_to_z(float z, float feed_rate = 0.0) {
|
|
|
|
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z, feed_rate);
|
|
|
|
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z, feed_rate);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
inline void do_blocking_move_to_xy(float x, float y, float feed_rate = 0.0) {
|
|
|
|
|
|
|
|
do_blocking_move_to(x, y, current_position[Z_AXIS], feed_rate);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Prepare to do endstop or probe moves
|
|
|
|
// Prepare to do endstop or probe moves
|
|
|
|
// with custom feedrates.
|
|
|
|
// with custom feedrates.
|
|
|
@ -1760,31 +1756,33 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
|
|
|
|
|
|
|
|
#endif //HAS_BED_PROBE
|
|
|
|
#endif //HAS_BED_PROBE
|
|
|
|
|
|
|
|
|
|
|
|
static bool axis_unhomed_error(const bool x, const bool y, const bool z) {
|
|
|
|
#if ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED) || ENABLED(Z_SAFE_HOMING) || HAS_PROBING_PROCEDURE || HOTENDS > 1 || ENABLED(NOZZLE_CLEAN_FEATURE) || ENABLED(NOZZLE_PARK_FEATURE)
|
|
|
|
const bool xx = x && !axis_homed[X_AXIS],
|
|
|
|
static bool axis_unhomed_error(const bool x, const bool y, const bool z) {
|
|
|
|
yy = y && !axis_homed[Y_AXIS],
|
|
|
|
const bool xx = x && !axis_homed[X_AXIS],
|
|
|
|
zz = z && !axis_homed[Z_AXIS];
|
|
|
|
yy = y && !axis_homed[Y_AXIS],
|
|
|
|
if (xx || yy || zz) {
|
|
|
|
zz = z && !axis_homed[Z_AXIS];
|
|
|
|
SERIAL_ECHO_START;
|
|
|
|
if (xx || yy || zz) {
|
|
|
|
SERIAL_ECHOPGM(MSG_HOME " ");
|
|
|
|
SERIAL_ECHO_START;
|
|
|
|
if (xx) SERIAL_ECHOPGM(MSG_X);
|
|
|
|
SERIAL_ECHOPGM(MSG_HOME " ");
|
|
|
|
if (yy) SERIAL_ECHOPGM(MSG_Y);
|
|
|
|
if (xx) SERIAL_ECHOPGM(MSG_X);
|
|
|
|
if (zz) SERIAL_ECHOPGM(MSG_Z);
|
|
|
|
if (yy) SERIAL_ECHOPGM(MSG_Y);
|
|
|
|
SERIAL_ECHOLNPGM(" " MSG_FIRST);
|
|
|
|
if (zz) SERIAL_ECHOPGM(MSG_Z);
|
|
|
|
|
|
|
|
SERIAL_ECHOLNPGM(" " MSG_FIRST);
|
|
|
|
#if ENABLED(ULTRA_LCD)
|
|
|
|
|
|
|
|
char message[3 * (LCD_WIDTH) + 1] = ""; // worst case is kana.utf with up to 3*LCD_WIDTH+1
|
|
|
|
#if ENABLED(ULTRA_LCD)
|
|
|
|
strcat_P(message, PSTR(MSG_HOME " "));
|
|
|
|
char message[3 * (LCD_WIDTH) + 1] = ""; // worst case is kana.utf with up to 3*LCD_WIDTH+1
|
|
|
|
if (xx) strcat_P(message, PSTR(MSG_X));
|
|
|
|
strcat_P(message, PSTR(MSG_HOME " "));
|
|
|
|
if (yy) strcat_P(message, PSTR(MSG_Y));
|
|
|
|
if (xx) strcat_P(message, PSTR(MSG_X));
|
|
|
|
if (zz) strcat_P(message, PSTR(MSG_Z));
|
|
|
|
if (yy) strcat_P(message, PSTR(MSG_Y));
|
|
|
|
strcat_P(message, PSTR(" " MSG_FIRST));
|
|
|
|
if (zz) strcat_P(message, PSTR(MSG_Z));
|
|
|
|
lcd_setstatus(message);
|
|
|
|
strcat_P(message, PSTR(" " MSG_FIRST));
|
|
|
|
#endif
|
|
|
|
lcd_setstatus(message);
|
|
|
|
return true;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(Z_PROBE_SLED)
|
|
|
|
#if ENABLED(Z_PROBE_SLED)
|
|
|
|
|
|
|
|
|
|
|
|