♻️ Refactor axis counts and loops
This commit is contained in:
		
				
					committed by
					
						
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							f7d28ce1d6
						
					
				
				
					commit
					26a244325b
				
			@@ -220,7 +220,7 @@ void GcodeSuite::G28() {
 | 
			
		||||
 | 
			
		||||
  #if ENABLED(MARLIN_DEV_MODE)
 | 
			
		||||
    if (parser.seen_test('S')) {
 | 
			
		||||
      LOOP_XYZ(a) set_axis_is_at_home((AxisEnum)a);
 | 
			
		||||
      LOOP_LINEAR_AXES(a) set_axis_is_at_home((AxisEnum)a);
 | 
			
		||||
      sync_plan_position();
 | 
			
		||||
      SERIAL_ECHOLNPGM("Simulated Homing");
 | 
			
		||||
      report_current_position();
 | 
			
		||||
 
 | 
			
		||||
@@ -347,7 +347,7 @@ static float auto_tune_a() {
 | 
			
		||||
  abc_float_t delta_e = { 0.0f }, delta_t = { 0.0f };
 | 
			
		||||
 | 
			
		||||
  delta_t.reset();
 | 
			
		||||
  LOOP_XYZ(axis) {
 | 
			
		||||
  LOOP_LINEAR_AXES(axis) {
 | 
			
		||||
    delta_t[axis] = diff;
 | 
			
		||||
    calc_kinematics_diff_probe_points(z_pt, delta_e, delta_r, delta_t);
 | 
			
		||||
    delta_t[axis] = 0;
 | 
			
		||||
@@ -525,7 +525,7 @@ void GcodeSuite::G33() {
 | 
			
		||||
 | 
			
		||||
        case 1:
 | 
			
		||||
          test_precision = 0.0f; // forced end
 | 
			
		||||
          LOOP_XYZ(axis) e_delta[axis] = +Z4(CEN);
 | 
			
		||||
          LOOP_LINEAR_AXES(axis) e_delta[axis] = +Z4(CEN);
 | 
			
		||||
          break;
 | 
			
		||||
 | 
			
		||||
        case 2:
 | 
			
		||||
@@ -573,14 +573,14 @@ void GcodeSuite::G33() {
 | 
			
		||||
      // Normalize angles to least-squares
 | 
			
		||||
      if (_angle_results) {
 | 
			
		||||
        float a_sum = 0.0f;
 | 
			
		||||
        LOOP_XYZ(axis) a_sum += delta_tower_angle_trim[axis];
 | 
			
		||||
        LOOP_XYZ(axis) delta_tower_angle_trim[axis] -= a_sum / 3.0f;
 | 
			
		||||
        LOOP_LINEAR_AXES(axis) a_sum += delta_tower_angle_trim[axis];
 | 
			
		||||
        LOOP_LINEAR_AXES(axis) delta_tower_angle_trim[axis] -= a_sum / 3.0f;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // adjust delta_height and endstops by the max amount
 | 
			
		||||
      const float z_temp = _MAX(delta_endstop_adj.a, delta_endstop_adj.b, delta_endstop_adj.c);
 | 
			
		||||
      delta_height -= z_temp;
 | 
			
		||||
      LOOP_XYZ(axis) delta_endstop_adj[axis] -= z_temp;
 | 
			
		||||
      LOOP_LINEAR_AXES(axis) delta_endstop_adj[axis] -= z_temp;
 | 
			
		||||
    }
 | 
			
		||||
    recalc_delta_settings();
 | 
			
		||||
    NOMORE(zero_std_dev_min, zero_std_dev);
 | 
			
		||||
 
 | 
			
		||||
@@ -55,8 +55,8 @@ void GcodeSuite::M425() {
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  LOOP_XYZ(a) {
 | 
			
		||||
    if (axis_can_calibrate(a) && parser.seen(XYZ_CHAR(a))) {
 | 
			
		||||
  LOOP_LINEAR_AXES(a) {
 | 
			
		||||
    if (axis_can_calibrate(a) && parser.seen(AXIS_CHAR(a))) {
 | 
			
		||||
      planner.synchronize();
 | 
			
		||||
      backlash.distance_mm[a] = parser.has_value() ? parser.value_linear_units() : backlash.get_measurement(AxisEnum(a));
 | 
			
		||||
      noArgs = false;
 | 
			
		||||
@@ -83,8 +83,8 @@ void GcodeSuite::M425() {
 | 
			
		||||
    SERIAL_ECHOLNPGM("active:");
 | 
			
		||||
    SERIAL_ECHOLNPAIR("  Correction Amount/Fade-out:     F", backlash.get_correction(), " (F1.0 = full, F0.0 = none)");
 | 
			
		||||
    SERIAL_ECHOPGM("  Backlash Distance (mm):        ");
 | 
			
		||||
    LOOP_XYZ(a) if (axis_can_calibrate(a)) {
 | 
			
		||||
      SERIAL_CHAR(' ', XYZ_CHAR(a));
 | 
			
		||||
    LOOP_LINEAR_AXES(a) if (axis_can_calibrate(a)) {
 | 
			
		||||
      SERIAL_CHAR(' ', AXIS_CHAR(a));
 | 
			
		||||
      SERIAL_ECHO(backlash.distance_mm[a]);
 | 
			
		||||
      SERIAL_EOL();
 | 
			
		||||
    }
 | 
			
		||||
@@ -96,8 +96,8 @@ void GcodeSuite::M425() {
 | 
			
		||||
    #if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
 | 
			
		||||
      SERIAL_ECHOPGM("  Average measured backlash (mm):");
 | 
			
		||||
      if (backlash.has_any_measurement()) {
 | 
			
		||||
        LOOP_XYZ(a) if (axis_can_calibrate(a) && backlash.has_measurement(AxisEnum(a))) {
 | 
			
		||||
          SERIAL_CHAR(' ', XYZ_CHAR(a));
 | 
			
		||||
        LOOP_LINEAR_AXES(a) if (axis_can_calibrate(a) && backlash.has_measurement(AxisEnum(a))) {
 | 
			
		||||
          SERIAL_CHAR(' ', AXIS_CHAR(a));
 | 
			
		||||
          SERIAL_ECHO(backlash.get_measurement(AxisEnum(a)));
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -39,11 +39,11 @@
 | 
			
		||||
   */
 | 
			
		||||
  void GcodeSuite::M666() {
 | 
			
		||||
    DEBUG_SECTION(log_M666, "M666", DEBUGGING(LEVELING));
 | 
			
		||||
    LOOP_XYZ(i) {
 | 
			
		||||
      if (parser.seen(XYZ_CHAR(i))) {
 | 
			
		||||
    LOOP_LINEAR_AXES(i) {
 | 
			
		||||
      if (parser.seen(AXIS_CHAR(i))) {
 | 
			
		||||
        const float v = parser.value_linear_units();
 | 
			
		||||
        if (v * Z_HOME_DIR <= 0) delta_endstop_adj[i] = v;
 | 
			
		||||
        if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("delta_endstop_adj[", AS_CHAR(XYZ_CHAR(i)), "] = ", delta_endstop_adj[i]);
 | 
			
		||||
        if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("delta_endstop_adj[", AS_CHAR(AXIS_CHAR(i)), "] = ", delta_endstop_adj[i]);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -86,7 +86,7 @@ void GcodeSuite::M852() {
 | 
			
		||||
 | 
			
		||||
  // When skew is changed the current position changes
 | 
			
		||||
  if (setval) {
 | 
			
		||||
    set_current_from_steppers_for_axis(ALL_AXES);
 | 
			
		||||
    set_current_from_steppers_for_axis(ALL_AXES_MASK);
 | 
			
		||||
    sync_plan_position();
 | 
			
		||||
    report_current_position();
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user