@ -1848,7 +1848,7 @@ static void setup_for_endstop_move() {
float zpos = current_position [ Z_AXIS ] , z_dest = Z_RAISE_BEFORE_PROBING ;
// The zprobe_zoffset is negative any switch below the nozzle, so
// multiply by Z_HOME_DIR (-1) to move enough away from bed for the probe
z_dest + = axis_ known_position [ Z_AXIS ] ? zprobe_zoffset * Z_HOME_DIR : zpos ;
z_dest + = axis_ homed [ Z_AXIS ] ? zprobe_zoffset * Z_HOME_DIR : zpos ;
if ( zpos < z_dest ) do_blocking_move_to_z ( z_dest ) ; // also updates current_position
}
@ -1856,10 +1856,10 @@ static void setup_for_endstop_move() {
# endif // AUTO_BED_LEVELING_FEATURE
static void unknown_position _error( ) {
LCD_MESSAGEPGM ( MSG_ POSITION_UNKNOWN ) ;
static void axis_unhomed _error( ) {
LCD_MESSAGEPGM ( MSG_ YX_UNHOMED ) ;
SERIAL_ECHO_START ;
SERIAL_ECHOLNPGM ( MSG_ POSITION_UNKNOWN ) ;
SERIAL_ECHOLNPGM ( MSG_ YX_UNHOMED ) ;
}
# if ENABLED(Z_PROBE_SLED)
@ -1884,8 +1884,8 @@ static void unknown_position_error() {
if ( z_probe_is_active = = dock ) return ;
if ( ! axis_ known_position[ X_AXIS ] | | ! axis_known_position [ Y_AXIS ] ) {
unknown_position _error( ) ;
if ( ! axis_ homed[ X_AXIS ] | | ! axis_homed [ Y_AXIS ] ) {
axis_unhomed _error( ) ;
return ;
}
@ -2616,7 +2616,7 @@ inline void gcode_G28() {
else if ( homeZ ) { // Don't need to Home Z twice
// Let's see if X and Y are homed
if ( axis_ known_position[ X_AXIS ] & & axis_known_position [ Y_AXIS ] ) {
if ( axis_ homed[ X_AXIS ] & & axis_homed [ Y_AXIS ] ) {
// Make sure the Z probe is within the physical limits
// NOTE: This doesn't necessarily ensure the Z probe is also within the bed!
@ -2636,7 +2636,7 @@ inline void gcode_G28() {
}
}
else {
unknown_position _error( ) ;
axis_unhomed _error( ) ;
}
} // !home_all_axes && homeZ
@ -2908,8 +2908,8 @@ inline void gcode_G28() {
# endif
// Don't allow auto-leveling without homing first
if ( ! axis_ known_position[ X_AXIS ] | | ! axis_known_position [ Y_AXIS ] ) {
unknown_position _error( ) ;
if ( ! axis_ homed[ X_AXIS ] | | ! axis_homed [ Y_AXIS ] ) {
axis_unhomed _error( ) ;
return ;
}
@ -3711,8 +3711,8 @@ inline void gcode_M42() {
*/
inline void gcode_M48 ( ) {
if ( ! axis_ known_position[ X_AXIS ] | | ! axis_known_position [ Y_AXIS ] | | ! axis_known_position [ Z_AXIS ] ) {
unknown_position _error( ) ;
if ( ! axis_ homed[ X_AXIS ] | | ! axis_homed [ Y_AXIS ] | | ! axis_homed [ Z_AXIS ] ) {
axis_unhomed _error( ) ;
return ;
}
@ -5431,7 +5431,7 @@ inline void gcode_M428() {
memcpy ( new_pos , current_position , sizeof ( new_pos ) ) ;
memcpy ( new_offs , home_offset , sizeof ( new_offs ) ) ;
for ( int8_t i = X_AXIS ; i < = Z_AXIS ; i + + ) {
if ( axis_ known_position [ i ] ) {
if ( axis_ homed [ i ] ) {
float base = ( new_pos [ i ] > ( min_pos [ i ] + max_pos [ i ] ) / 2 ) ? base_home_pos ( i ) : 0 ,
diff = new_pos [ i ] - base ;
if ( diff > - 20 & & diff < 20 ) {