@ -3015,36 +3015,30 @@ inline void gcode_G28() {
*/
current_position [ X_AXIS ] = destination [ X_AXIS ] ;
current_position [ Y_AXIS ] = destination [ Y_AXIS ] ;
}
// Let's see if X and Y are homed
if ( axis_unhomed_error ( true , true , false ) ) return ;
/**
* Make sure the Z probe is within the physical limits
* NOTE : This doesn ' t necessarily ensure the Z probe is also
* within the bed !
*/
float cpx = current_position [ X_AXIS ] , cpy = current_position [ Y_AXIS ] ;
if ( cpx > = X_MIN_POS - ( X_PROBE_OFFSET_FROM_EXTRUDER )
& & cpx < = X_MAX_POS - ( X_PROBE_OFFSET_FROM_EXTRUDER )
& & cpy > = Y_MIN_POS - ( Y_PROBE_OFFSET_FROM_EXTRUDER )
& & cpy < = Y_MAX_POS - ( Y_PROBE_OFFSET_FROM_EXTRUDER ) ) {
// Home the Z axis
HOMEAXIS ( Z ) ;
}
else if ( homeZ ) { // Don't need to Home Z twice
// Let's see if X and Y are homed
if ( axis_unhomed_error ( true , true , false ) ) return ;
/**
* Make sure the Z probe is within the physical limits
* NOTE : This doesn ' t necessarily ensure the Z probe is also
* within the bed !
*/
float cpx = current_position [ X_AXIS ] , cpy = current_position [ Y_AXIS ] ;
if ( cpx > = X_MIN_POS - ( X_PROBE_OFFSET_FROM_EXTRUDER )
& & cpx < = X_MAX_POS - ( X_PROBE_OFFSET_FROM_EXTRUDER )
& & cpy > = Y_MIN_POS - ( Y_PROBE_OFFSET_FROM_EXTRUDER )
& & cpy < = Y_MAX_POS - ( Y_PROBE_OFFSET_FROM_EXTRUDER ) ) {
// Home the Z axis
HOMEAXIS ( Z ) ;
}
else {
LCD_MESSAGEPGM ( MSG_ZPROBE_OUT ) ;
SERIAL_ECHO_START ;
SERIAL_ECHOLNPGM ( MSG_ZPROBE_OUT ) ;
}
} // !home_all_axes && homeZ
else {
LCD_MESSAGEPGM ( MSG_ZPROBE_OUT ) ;
SERIAL_ECHO_START ;
SERIAL_ECHOLNPGM ( MSG_ZPROBE_OUT ) ;
}
# if ENABLED(DEBUG_LEVELING_FEATURE)
if ( DEBUGGING ( LEVELING ) ) {