🧑💻 Misc. updates for extra axes (#23521)
This commit is contained in:
		
				
					committed by
					
						
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							39e4310c7b
						
					
				
				
					commit
					5617edbb96
				
			@@ -262,7 +262,7 @@ void GcodeSuite::G28() {
 | 
			
		||||
  reset_stepper_timeout();
 | 
			
		||||
 | 
			
		||||
  #define HAS_CURRENT_HOME(N) (defined(N##_CURRENT_HOME) && N##_CURRENT_HOME != N##_CURRENT)
 | 
			
		||||
  #if HAS_CURRENT_HOME(X) || HAS_CURRENT_HOME(X2) || HAS_CURRENT_HOME(Y) || HAS_CURRENT_HOME(Y2) || HAS_CURRENT_HOME(I) || HAS_CURRENT_HOME(J) || HAS_CURRENT_HOME(K) || (ENABLED(DELTA) && HAS_CURRENT_HOME(Z))
 | 
			
		||||
  #if HAS_CURRENT_HOME(X) || HAS_CURRENT_HOME(X2) || HAS_CURRENT_HOME(Y) || HAS_CURRENT_HOME(Y2) || (ENABLED(DELTA) && HAS_CURRENT_HOME(Z)) || HAS_CURRENT_HOME(I) || HAS_CURRENT_HOME(J) || HAS_CURRENT_HOME(K)
 | 
			
		||||
    #define HAS_HOMING_CURRENT 1
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
@@ -273,22 +273,22 @@ void GcodeSuite::G28() {
 | 
			
		||||
    #if HAS_CURRENT_HOME(X)
 | 
			
		||||
      const int16_t tmc_save_current_X = stepperX.getMilliamps();
 | 
			
		||||
      stepperX.rms_current(X_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F("X"), tmc_save_current_X, X_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_X), tmc_save_current_X, X_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_CURRENT_HOME(X2)
 | 
			
		||||
      const int16_t tmc_save_current_X2 = stepperX2.getMilliamps();
 | 
			
		||||
      stepperX2.rms_current(X2_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F("X2"), tmc_save_current_X2, X2_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_X2), tmc_save_current_X2, X2_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_CURRENT_HOME(Y)
 | 
			
		||||
      const int16_t tmc_save_current_Y = stepperY.getMilliamps();
 | 
			
		||||
      stepperY.rms_current(Y_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F("Y"), tmc_save_current_Y, Y_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_Y), tmc_save_current_Y, Y_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_CURRENT_HOME(Y2)
 | 
			
		||||
      const int16_t tmc_save_current_Y2 = stepperY2.getMilliamps();
 | 
			
		||||
      stepperY2.rms_current(Y2_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F("Y2"), tmc_save_current_Y2, Y2_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_Y2), tmc_save_current_Y2, Y2_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_CURRENT_HOME(I)
 | 
			
		||||
      const int16_t tmc_save_current_I = stepperI.getMilliamps();
 | 
			
		||||
@@ -308,7 +308,22 @@ void GcodeSuite::G28() {
 | 
			
		||||
    #if HAS_CURRENT_HOME(Z) && ENABLED(DELTA)
 | 
			
		||||
      const int16_t tmc_save_current_Z = stepperZ.getMilliamps();
 | 
			
		||||
      stepperZ.rms_current(Z_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F("Z"), tmc_save_current_Z, Z_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_Z), tmc_save_current_Z, Z_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_CURRENT_HOME(I)
 | 
			
		||||
      const int16_t tmc_save_current_I = stepperI.getMilliamps();
 | 
			
		||||
      stepperI.rms_current(I_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_I), tmc_save_current_I, I_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_CURRENT_HOME(J)
 | 
			
		||||
      const int16_t tmc_save_current_J = stepperJ.getMilliamps();
 | 
			
		||||
      stepperJ.rms_current(J_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_J), tmc_save_current_J, J_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_CURRENT_HOME(K)
 | 
			
		||||
      const int16_t tmc_save_current_K = stepperK.getMilliamps();
 | 
			
		||||
      stepperK.rms_current(K_CURRENT_HOME);
 | 
			
		||||
      if (DEBUGGING(LEVELING)) debug_current(F(STR_K), tmc_save_current_K, K_CURRENT_HOME);
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
@@ -361,7 +376,7 @@ void GcodeSuite::G28() {
 | 
			
		||||
                 homeX = needX || parser.seen_test('X'),
 | 
			
		||||
                 homeY = needY || parser.seen_test('Y'),
 | 
			
		||||
                 homeZZ = homeZ,
 | 
			
		||||
                 homeI = needI || parser.seen_test(AXIS4_NAME), homeJ = needJ || parser.seen_test(AXIS5_NAME), homeK = needK || parser.seen_test(AXIS6_NAME),
 | 
			
		||||
                 homeI = needI || parser.seen_test(AXIS4_NAME), homeJ = needJ || parser.seen_test(AXIS5_NAME), homeK = needK || parser.seen_test(AXIS6_NAME)
 | 
			
		||||
               ),
 | 
			
		||||
               home_all = LINEAR_AXIS_GANG(   // Home-all if all or none are flagged
 | 
			
		||||
                    homeX == homeX, && homeY == homeX, && homeZ == homeX,
 | 
			
		||||
 
 | 
			
		||||
@@ -241,14 +241,15 @@ inline void probe_side(measurements_t &m, const float uncertainty, const side_t
 | 
			
		||||
 | 
			
		||||
  park_above_object(m, uncertainty);
 | 
			
		||||
 | 
			
		||||
  #define _ACASE(N,A,B) case A: dir = -1; case B: axis = N##_AXIS; break
 | 
			
		||||
  #define _PCASE(N) _ACASE(N, N##MINIMUM, N##MAXIMUM)
 | 
			
		||||
 | 
			
		||||
  switch (side) {
 | 
			
		||||
    #if AXIS_CAN_CALIBRATE(X)
 | 
			
		||||
      case RIGHT: dir = -1;
 | 
			
		||||
      case LEFT:  axis = X_AXIS; break;
 | 
			
		||||
      _ACASE(X, RIGHT, LEFT);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_Y_AXIS && AXIS_CAN_CALIBRATE(Y)
 | 
			
		||||
      case BACK:  dir = -1;
 | 
			
		||||
      case FRONT: axis = Y_AXIS; break;
 | 
			
		||||
      _ACASE(Y, BACK, FRONT);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_Z_AXIS && AXIS_CAN_CALIBRATE(Z)
 | 
			
		||||
      case TOP: {
 | 
			
		||||
@@ -259,16 +260,13 @@ inline void probe_side(measurements_t &m, const float uncertainty, const side_t
 | 
			
		||||
      }
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_I_AXIS && AXIS_CAN_CALIBRATE(I)
 | 
			
		||||
      case IMINIMUM: dir = -1;
 | 
			
		||||
      case IMAXIMUM: axis = I_AXIS; break;
 | 
			
		||||
      _PCASE(I);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_J_AXIS && AXIS_CAN_CALIBRATE(J)
 | 
			
		||||
      case JMINIMUM: dir = -1;
 | 
			
		||||
      case JMAXIMUM: axis = J_AXIS; break;
 | 
			
		||||
      _PCASE(J);
 | 
			
		||||
    #endif
 | 
			
		||||
    #if HAS_K_AXIS && AXIS_CAN_CALIBRATE(K)
 | 
			
		||||
      case KMINIMUM: dir = -1;
 | 
			
		||||
      case KMAXIMUM: axis = K_AXIS; break;
 | 
			
		||||
      _PCASE(K);
 | 
			
		||||
    #endif
 | 
			
		||||
    default: return;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -55,7 +55,7 @@ void GcodeSuite::M425() {
 | 
			
		||||
        case Z_AXIS: return AXIS_CAN_CALIBRATE(Z),
 | 
			
		||||
        case I_AXIS: return AXIS_CAN_CALIBRATE(I),
 | 
			
		||||
        case J_AXIS: return AXIS_CAN_CALIBRATE(J),
 | 
			
		||||
        case K_AXIS: return AXIS_CAN_CALIBRATE(K),
 | 
			
		||||
        case K_AXIS: return AXIS_CAN_CALIBRATE(K)
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user