@@ -915,14 +915,22 @@ void Endstops::update() {
915
915
#if HAS_G38_PROBE // TODO (DerAndere): Add support for HAS_I_AXIS
916
916
// For G38 moves check the probe's pin for ALL movement
917
917
if (G38_move && TEST_ENDSTOP (_ENDSTOP (Z, TERN (USES_Z_MIN_PROBE_PIN, MIN_PROBE, MIN))) == TERN1 (G38_PROBE_AWAY, (G38_move < 4 ))) {
918
- if (stepper.axis_is_moving (X_AXIS)) { _ENDSTOP_HIT (X, TERN (X_HOME_TO_MIN, MIN, MAX)); planner.endstop_triggered (X_AXIS); }
918
+ G38_did_trigger = true ;
919
+ #if HAS_X_AXIS
920
+ const bool xmoving = stepper.axis_is_moving (X_AXIS);
921
+ #endif
919
922
#if HAS_Y_AXIS
920
- else if ( stepper.axis_is_moving (Y_AXIS)) { _ENDSTOP_HIT (Y, TERN (Y_HOME_TO_MIN, MIN, MAX)); planner. endstop_triggered (Y_AXIS); }
923
+ const bool ymoving = stepper.axis_is_moving (Y_AXIS);
921
924
#endif
922
925
#if HAS_Z_MIN
923
- else if ( stepper.axis_is_moving (Z_AXIS)) { _ENDSTOP_HIT (Z, TERN (Z_HOME_TO_MIN, MIN, MAX)); planner. endstop_triggered (Z_AXIS); }
926
+ const bool zmoving = stepper.axis_is_moving (Z_AXIS);
924
927
#endif
925
- G38_did_trigger = true ;
928
+ TERN_ (HAS_X_AXIS, if (xmoving) _ENDSTOP_HIT (X, TERN (X_HOME_TO_MIN, MIN, MAX)));
929
+ TERN_ (HAS_Y_AXIS, if (ymoving) _ENDSTOP_HIT (Y, TERN (Y_HOME_TO_MIN, MIN, MAX)));
930
+ TERN_ (HAS_Z_MIN, if (zmoving) _ENDSTOP_HIT (Z, TERN (Z_HOME_TO_MIN, MIN, MAX)));
931
+ TERN_ (HAS_X_AXIS, if (xmoving) planner.endstop_triggered (X_AXIS));
932
+ TERN_ (HAS_Y_AXIS, if (ymoving) planner.endstop_triggered (Y_AXIS));
933
+ TERN_ (HAS_Z_MIN, if (zmoving) planner.endstop_triggered (Z_AXIS));
926
934
}
927
935
#endif
928
936
0 commit comments