@@ -192,14 +192,22 @@ void GcodeSuite::G28(const bool always_home_all) {
 | 
			
		||||
    }
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  if (all_axes_known() && parser.boolval('O')) { // home only if needed
 | 
			
		||||
    #if ENABLED(DEBUG_LEVELING_FEATURE)
 | 
			
		||||
      if (DEBUGGING(LEVELING)) {
 | 
			
		||||
        SERIAL_ECHOLNPGM("> homing not needed, skip");
 | 
			
		||||
        SERIAL_ECHOLNPGM("<<< G28");
 | 
			
		||||
      }
 | 
			
		||||
    #endif
 | 
			
		||||
    return;
 | 
			
		||||
  if (parser.boolval('O')) {
 | 
			
		||||
    if (
 | 
			
		||||
      #if ENABLED(HOME_AFTER_DEACTIVATE)
 | 
			
		||||
        all_axes_known()  // homing needed anytime steppers deactivate
 | 
			
		||||
      #else
 | 
			
		||||
        all_axes_homed()  // homing needed only if never homed
 | 
			
		||||
      #endif
 | 
			
		||||
    ) {
 | 
			
		||||
      #if ENABLED(DEBUG_LEVELING_FEATURE)
 | 
			
		||||
        if (DEBUGGING(LEVELING)) {
 | 
			
		||||
          SERIAL_ECHOLNPGM("> homing not needed, skip");
 | 
			
		||||
          SERIAL_ECHOLNPGM("<<< G28");
 | 
			
		||||
        }
 | 
			
		||||
      #endif
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Wait for planner moves to finish!
 | 
			
		||||
 
 | 
			
		||||
@@ -1157,7 +1157,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
 | 
			
		||||
  #if ENABLED(HOME_AFTER_DEACTIVATE) || ENABLED(Z_SAFE_HOMING)
 | 
			
		||||
    #error "DISABLE_[XYZ] is not compatible with HOME_AFTER_DEACTIVATE or Z_SAFE_HOMING."
 | 
			
		||||
  #endif
 | 
			
		||||
#endif // DISABLE_[XYZ]
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Filament Width Sensor
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user