General cleanup, const usage, var naming
This commit is contained in:
		| @@ -572,10 +572,6 @@ static uint8_t target_extruder; | |||||||
|  |  | ||||||
|   float delta_safe_distance_from_top(); |   float delta_safe_distance_from_top(); | ||||||
|  |  | ||||||
| #else |  | ||||||
|  |  | ||||||
|   static bool home_all_axis = true; |  | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #if ENABLED(AUTO_BED_LEVELING_BILINEAR) | #if ENABLED(AUTO_BED_LEVELING_BILINEAR) | ||||||
| @@ -1582,7 +1578,7 @@ inline void set_destination_to_current() { memcpy(destination, current_position, | |||||||
|  *  The final current_position may not be the one that was requested |  *  The final current_position may not be the one that was requested | ||||||
|  */ |  */ | ||||||
| void do_blocking_move_to(const float &x, const float &y, const float &z, const float &fr_mm_s /*=0.0*/) { | void do_blocking_move_to(const float &x, const float &y, const float &z, const float &fr_mm_s /*=0.0*/) { | ||||||
|   float old_feedrate_mm_s = feedrate_mm_s; |   const float old_feedrate_mm_s = feedrate_mm_s; | ||||||
|  |  | ||||||
|   #if ENABLED(DEBUG_LEVELING_FEATURE) |   #if ENABLED(DEBUG_LEVELING_FEATURE) | ||||||
|     if (DEBUGGING(LEVELING)) print_xyz(PSTR(">>> do_blocking_move_to"), NULL, x, y, z); |     if (DEBUGGING(LEVELING)) print_xyz(PSTR(">>> do_blocking_move_to"), NULL, x, y, z); | ||||||
| @@ -2034,7 +2030,7 @@ static void clean_up_after_endstop_or_probe_move() { | |||||||
|       if (axis_unhomed_error(true, true,  true )) { stop(); return true; } |       if (axis_unhomed_error(true, true,  true )) { stop(); return true; } | ||||||
|     #endif |     #endif | ||||||
|  |  | ||||||
|     float oldXpos = current_position[X_AXIS], |     const float oldXpos = current_position[X_AXIS], | ||||||
|                 oldYpos = current_position[Y_AXIS]; |                 oldYpos = current_position[Y_AXIS]; | ||||||
|  |  | ||||||
|     #ifdef _TRIGGERED_WHEN_STOWED_TEST |     #ifdef _TRIGGERED_WHEN_STOWED_TEST | ||||||
| @@ -2178,7 +2174,7 @@ static void clean_up_after_endstop_or_probe_move() { | |||||||
|   //   - Raise to the BETWEEN height |   //   - Raise to the BETWEEN height | ||||||
|   // - Return the probed Z position |   // - Return the probed Z position | ||||||
|   // |   // | ||||||
|   static float probe_pt(const float &x, const float &y, bool stow = true, int verbose_level = 1) { |   static float probe_pt(const float &x, const float &y, const bool stow = true, const int verbose_level = 1) { | ||||||
|     #if ENABLED(DEBUG_LEVELING_FEATURE) |     #if ENABLED(DEBUG_LEVELING_FEATURE) | ||||||
|       if (DEBUGGING(LEVELING)) { |       if (DEBUGGING(LEVELING)) { | ||||||
|         SERIAL_ECHOPAIR(">>> probe_pt(", x); |         SERIAL_ECHOPAIR(">>> probe_pt(", x); | ||||||
| @@ -2189,7 +2185,7 @@ static void clean_up_after_endstop_or_probe_move() { | |||||||
|       } |       } | ||||||
|     #endif |     #endif | ||||||
|  |  | ||||||
|     float old_feedrate_mm_s = feedrate_mm_s; |     const float old_feedrate_mm_s = feedrate_mm_s; | ||||||
|  |  | ||||||
|     #if ENABLED(DELTA) |     #if ENABLED(DELTA) | ||||||
|       if (current_position[Z_AXIS] > delta_clip_start_height) |       if (current_position[Z_AXIS] > delta_clip_start_height) | ||||||
| @@ -2206,7 +2202,7 @@ static void clean_up_after_endstop_or_probe_move() { | |||||||
|  |  | ||||||
|     if (DEPLOY_PROBE()) return NAN; |     if (DEPLOY_PROBE()) return NAN; | ||||||
|  |  | ||||||
|     float measured_z = run_z_probe(); |     const float measured_z = run_z_probe(); | ||||||
|  |  | ||||||
|     if (!stow) |     if (!stow) | ||||||
|       do_probe_raise(Z_CLEARANCE_BETWEEN_PROBES); |       do_probe_raise(Z_CLEARANCE_BETWEEN_PROBES); | ||||||
| @@ -2370,7 +2366,7 @@ static void clean_up_after_endstop_or_probe_move() { | |||||||
|     if (b2 == UNPROBED) b2 = 0.0; if (b1 == UNPROBED) b1 = b2; |     if (b2 == UNPROBED) b2 = 0.0; if (b1 == UNPROBED) b1 = b2; | ||||||
|     if (c2 == UNPROBED) c2 = 0.0; if (c1 == UNPROBED) c1 = c2; |     if (c2 == UNPROBED) c2 = 0.0; if (c1 == UNPROBED) c1 = c2; | ||||||
|  |  | ||||||
|     float a = 2 * a1 - a2, b = 2 * b1 - b2, c = 2 * c1 - c2; |     const float a = 2 * a1 - a2, b = 2 * b1 - b2, c = 2 * c1 - c2; | ||||||
|  |  | ||||||
|     // Take the average instead of the median |     // Take the average instead of the median | ||||||
|     bed_level_grid[x][y] = (a + b + c) / 3.0; |     bed_level_grid[x][y] = (a + b + c) / 3.0; | ||||||
| @@ -2416,10 +2412,10 @@ static void clean_up_after_endstop_or_probe_move() { | |||||||
|       for (uint8_t yo = 0; yo <= ylen; yo++) { |       for (uint8_t yo = 0; yo <= ylen; yo++) { | ||||||
|         uint8_t x2 = ctrx2 + xo, y2 = ctry2 + yo; |         uint8_t x2 = ctrx2 + xo, y2 = ctry2 + yo; | ||||||
|         #ifndef HALF_IN_X |         #ifndef HALF_IN_X | ||||||
|           uint8_t x1 = ctrx1 - xo; |           const uint8_t x1 = ctrx1 - xo; | ||||||
|         #endif |         #endif | ||||||
|         #ifndef HALF_IN_Y |         #ifndef HALF_IN_Y | ||||||
|           uint8_t y1 = ctry1 - yo; |           const uint8_t y1 = ctry1 - yo; | ||||||
|           #ifndef HALF_IN_X |           #ifndef HALF_IN_X | ||||||
|             extrapolate_one_point(x1, y1, +1, +1);   //  left-below + + |             extrapolate_one_point(x1, y1, +1, +1);   //  left-below + + | ||||||
|           #endif |           #endif | ||||||
| @@ -2586,7 +2582,7 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0. | |||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   #if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) |   #if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) | ||||||
|     bool deploy_bltouch = (axis == Z_AXIS && distance < 0); |     const bool deploy_bltouch = (axis == Z_AXIS && distance < 0); | ||||||
|     if (deploy_bltouch) set_bltouch_deployed(true); |     if (deploy_bltouch) set_bltouch_deployed(true); | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
| @@ -2634,7 +2630,7 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0. | |||||||
|  |  | ||||||
| #define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS) | #define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS) | ||||||
|  |  | ||||||
| static void homeaxis(AxisEnum axis) { | static void homeaxis(const AxisEnum axis) { | ||||||
|  |  | ||||||
|   #if IS_SCARA |   #if IS_SCARA | ||||||
|     // Only Z homing (with probe) is permitted |     // Only Z homing (with probe) is permitted | ||||||
| @@ -2653,7 +2649,7 @@ static void homeaxis(AxisEnum axis) { | |||||||
|     } |     } | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
|   int axis_home_dir = |   const int axis_home_dir = | ||||||
|     #if ENABLED(DUAL_X_CARRIAGE) |     #if ENABLED(DUAL_X_CARRIAGE) | ||||||
|       (axis == X_AXIS) ? x_home_dir(active_extruder) : |       (axis == X_AXIS) ? x_home_dir(active_extruder) : | ||||||
|     #endif |     #endif | ||||||
| @@ -2769,13 +2765,13 @@ static void homeaxis(AxisEnum axis) { | |||||||
|  |  | ||||||
| #if ENABLED(FWRETRACT) | #if ENABLED(FWRETRACT) | ||||||
|  |  | ||||||
|   void retract(bool retracting, bool swapping = false) { |   void retract(const bool retracting, const bool swapping = false) { | ||||||
|  |  | ||||||
|     static float hop_height; |     static float hop_height; | ||||||
|  |  | ||||||
|     if (retracting == retracted[active_extruder]) return; |     if (retracting == retracted[active_extruder]) return; | ||||||
|  |  | ||||||
|     float old_feedrate_mm_s = feedrate_mm_s; |     const float old_feedrate_mm_s = feedrate_mm_s; | ||||||
|  |  | ||||||
|     set_destination_to_current(); |     set_destination_to_current(); | ||||||
|  |  | ||||||
| @@ -2805,7 +2801,7 @@ static void homeaxis(AxisEnum axis) { | |||||||
|       } |       } | ||||||
|  |  | ||||||
|       feedrate_mm_s = retract_recover_feedrate_mm_s; |       feedrate_mm_s = retract_recover_feedrate_mm_s; | ||||||
|       float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length; |       const float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length; | ||||||
|       current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder]; |       current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder]; | ||||||
|       sync_plan_position_e(); |       sync_plan_position_e(); | ||||||
|  |  | ||||||
| @@ -2824,11 +2820,11 @@ static void homeaxis(AxisEnum axis) { | |||||||
|  |  | ||||||
|   void normalize_mix() { |   void normalize_mix() { | ||||||
|     float mix_total = 0.0; |     float mix_total = 0.0; | ||||||
|     for (int i = 0; i < MIXING_STEPPERS; i++) mix_total += RECIPROCAL(mixing_factor[i]); |     for (uint8_t i = 0; i < MIXING_STEPPERS; i++) mix_total += RECIPROCAL(mixing_factor[i]); | ||||||
|     // Scale all values if they don't add up to ~1.0 |     // Scale all values if they don't add up to ~1.0 | ||||||
|     if (!NEAR(mix_total, 1.0)) { |     if (!NEAR(mix_total, 1.0)) { | ||||||
|       SERIAL_PROTOCOLLNPGM("Warning: Mix factors must add up to 1.0. Scaling."); |       SERIAL_PROTOCOLLNPGM("Warning: Mix factors must add up to 1.0. Scaling."); | ||||||
|       for (int i = 0; i < MIXING_STEPPERS; i++) mixing_factor[i] *= mix_total; |       for (uint8_t i = 0; i < MIXING_STEPPERS; i++) mixing_factor[i] *= mix_total; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -2908,7 +2904,7 @@ void unknown_command_error() { | |||||||
|    * while the machine is not accepting commands. |    * while the machine is not accepting commands. | ||||||
|    */ |    */ | ||||||
|   void host_keepalive() { |   void host_keepalive() { | ||||||
|     millis_t ms = millis(); |     const millis_t ms = millis(); | ||||||
|     if (host_keepalive_interval && busy_state != NOT_BUSY) { |     if (host_keepalive_interval && busy_state != NOT_BUSY) { | ||||||
|       if (PENDING(ms, next_busy_signal_ms)) return; |       if (PENDING(ms, next_busy_signal_ms)) return; | ||||||
|       switch (busy_state) { |       switch (busy_state) { | ||||||
| @@ -2984,7 +2980,7 @@ inline void gcode_G0_G1( | |||||||
|     #if ENABLED(FWRETRACT) |     #if ENABLED(FWRETRACT) | ||||||
|  |  | ||||||
|       if (autoretract_enabled && !(code_seen('X') || code_seen('Y') || code_seen('Z')) && code_seen('E')) { |       if (autoretract_enabled && !(code_seen('X') || code_seen('Y') || code_seen('Z')) && code_seen('E')) { | ||||||
|         float echange = destination[E_AXIS] - current_position[E_AXIS]; |         const float echange = destination[E_AXIS] - current_position[E_AXIS]; | ||||||
|         // Is this move an attempt to retract or recover? |         // Is this move an attempt to retract or recover? | ||||||
|         if ((echange < -MIN_RETRACT && !retracted[active_extruder]) || (echange > MIN_RETRACT && retracted[active_extruder])) { |         if ((echange < -MIN_RETRACT && !retracted[active_extruder]) || (echange > MIN_RETRACT && retracted[active_extruder])) { | ||||||
|           current_position[E_AXIS] = destination[E_AXIS]; // hide the slicer-generated retract/recover from calculations |           current_position[E_AXIS] = destination[E_AXIS]; // hide the slicer-generated retract/recover from calculations | ||||||
| @@ -3032,7 +3028,7 @@ inline void gcode_G0_G1( | |||||||
|     if (IsRunning()) { |     if (IsRunning()) { | ||||||
|  |  | ||||||
|       #if ENABLED(SF_ARC_FIX) |       #if ENABLED(SF_ARC_FIX) | ||||||
|         bool relative_mode_backup = relative_mode; |         const bool relative_mode_backup = relative_mode; | ||||||
|         relative_mode = true; |         relative_mode = true; | ||||||
|       #endif |       #endif | ||||||
|  |  | ||||||
| @@ -3113,7 +3109,7 @@ inline void gcode_G4() { | |||||||
|  |  | ||||||
|       gcode_get_destination(); |       gcode_get_destination(); | ||||||
|  |  | ||||||
|       float offset[] = { |       const float offset[] = { | ||||||
|         code_seen('I') ? code_value_axis_units(X_AXIS) : 0.0, |         code_seen('I') ? code_value_axis_units(X_AXIS) : 0.0, | ||||||
|         code_seen('J') ? code_value_axis_units(Y_AXIS) : 0.0, |         code_seen('J') ? code_value_axis_units(Y_AXIS) : 0.0, | ||||||
|         code_seen('P') ? code_value_axis_units(X_AXIS) : 0.0, |         code_seen('P') ? code_value_axis_units(X_AXIS) : 0.0, | ||||||
| @@ -3155,9 +3151,9 @@ inline void gcode_G4() { | |||||||
|     // Don't allow nozzle cleaning without homing first |     // Don't allow nozzle cleaning without homing first | ||||||
|     if (axis_unhomed_error(true, true, true)) { return; } |     if (axis_unhomed_error(true, true, true)) { return; } | ||||||
|  |  | ||||||
|     uint8_t const pattern = code_seen('P') ? code_value_ushort() : 0; |     const uint8_t pattern = code_seen('P') ? code_value_ushort() : 0, | ||||||
|     uint8_t const strokes = code_seen('S') ? code_value_ushort() : NOZZLE_CLEAN_STROKES; |                   strokes = code_seen('S') ? code_value_ushort() : NOZZLE_CLEAN_STROKES, | ||||||
|     uint8_t const objects = code_seen('T') ? code_value_ushort() : NOZZLE_CLEAN_TRIANGLES; |                   objects = code_seen('T') ? code_value_ushort() : NOZZLE_CLEAN_TRIANGLES; | ||||||
|  |  | ||||||
|     Nozzle::clean(pattern, strokes, objects); |     Nozzle::clean(pattern, strokes, objects); | ||||||
|   } |   } | ||||||
| @@ -3181,9 +3177,8 @@ inline void gcode_G4() { | |||||||
|    */ |    */ | ||||||
|   inline void gcode_G27() { |   inline void gcode_G27() { | ||||||
|     // Don't allow nozzle parking without homing first |     // Don't allow nozzle parking without homing first | ||||||
|     if (axis_unhomed_error(true, true, true)) { return; } |     if (axis_unhomed_error(true, true, true)) return; | ||||||
|     uint8_t const z_action = code_seen('P') ? code_value_ushort() : 0; |     Nozzle::park(code_seen('P') ? code_value_ushort() : 0); | ||||||
|     Nozzle::park(z_action); |  | ||||||
|   } |   } | ||||||
| #endif // NOZZLE_PARK_FEATURE | #endif // NOZZLE_PARK_FEATURE | ||||||
|  |  | ||||||
| @@ -3195,7 +3190,7 @@ inline void gcode_G4() { | |||||||
|     current_position[X_AXIS] = current_position[Y_AXIS] = 0.0; |     current_position[X_AXIS] = current_position[Y_AXIS] = 0.0; | ||||||
|     sync_plan_position(); |     sync_plan_position(); | ||||||
|  |  | ||||||
|     int x_axis_home_dir = |     const int x_axis_home_dir = | ||||||
|       #if ENABLED(DUAL_X_CARRIAGE) |       #if ENABLED(DUAL_X_CARRIAGE) | ||||||
|         x_home_dir(active_extruder) |         x_home_dir(active_extruder) | ||||||
|       #else |       #else | ||||||
| @@ -3203,7 +3198,7 @@ inline void gcode_G4() { | |||||||
|       #endif |       #endif | ||||||
|     ; |     ; | ||||||
|  |  | ||||||
|     float mlx = max_length(X_AXIS), |     const float mlx = max_length(X_AXIS), | ||||||
|                 mly = max_length(Y_AXIS), |                 mly = max_length(Y_AXIS), | ||||||
|                 mlratio = mlx > mly ? mly / mlx : mlx / mly, |                 mlratio = mlx > mly ? mly / mlx : mlx / mly, | ||||||
|                 fr_mm_s = min(homing_feedrate_mm_s[X_AXIS], homing_feedrate_mm_s[Y_AXIS]) * sqrt(sq(mlratio) + 1.0); |                 fr_mm_s = min(homing_feedrate_mm_s[X_AXIS], homing_feedrate_mm_s[Y_AXIS]) * sqrt(sq(mlratio) + 1.0); | ||||||
| @@ -3211,7 +3206,6 @@ inline void gcode_G4() { | |||||||
|     do_blocking_move_to_xy(1.5 * mlx * x_axis_home_dir, 1.5 * mly * home_dir(Y_AXIS), fr_mm_s); |     do_blocking_move_to_xy(1.5 * mlx * x_axis_home_dir, 1.5 * mly * home_dir(Y_AXIS), fr_mm_s); | ||||||
|     endstops.hit_on_purpose(); // clear endstop hit flags |     endstops.hit_on_purpose(); // clear endstop hit flags | ||||||
|     current_position[X_AXIS] = current_position[Y_AXIS] = 0.0; |     current_position[X_AXIS] = current_position[Y_AXIS] = 0.0; | ||||||
|  |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
| #endif // QUICK_HOME | #endif // QUICK_HOME | ||||||
| @@ -3459,7 +3453,7 @@ inline void gcode_G28() { | |||||||
|  |  | ||||||
|   // Always home with tool 0 active |   // Always home with tool 0 active | ||||||
|   #if HOTENDS > 1 |   #if HOTENDS > 1 | ||||||
|     uint8_t old_tool_index = active_extruder; |     const uint8_t old_tool_index = active_extruder; | ||||||
|     tool_change(0, 0, true); |     tool_change(0, 0, true); | ||||||
|   #endif |   #endif | ||||||
|  |  | ||||||
| @@ -3504,8 +3498,7 @@ inline void gcode_G28() { | |||||||
|  |  | ||||||
|   #else // NOT DELTA |   #else // NOT DELTA | ||||||
|  |  | ||||||
|     bool homeX = code_seen('X'), homeY = code_seen('Y'), homeZ = code_seen('Z'); |     const bool homeX = code_seen('X'), homeY = code_seen('Y'), homeZ = code_seen('Z'), | ||||||
|  |  | ||||||
|                home_all_axis = (!homeX && !homeY && !homeZ) || (homeX && homeY && homeZ); |                home_all_axis = (!homeX && !homeY && !homeZ) || (homeX && homeY && homeZ); | ||||||
|  |  | ||||||
|     set_destination_to_current(); |     set_destination_to_current(); | ||||||
| @@ -3692,8 +3685,8 @@ inline void gcode_G28() { | |||||||
|  |  | ||||||
| #if ENABLED(MESH_BED_LEVELING) | #if ENABLED(MESH_BED_LEVELING) | ||||||
|  |  | ||||||
|   inline void _mbl_goto_xy(float x, float y) { |   inline void _mbl_goto_xy(const float &x, const float &y) { | ||||||
|     float old_feedrate_mm_s = feedrate_mm_s; |     const float old_feedrate_mm_s = feedrate_mm_s; | ||||||
|     feedrate_mm_s = homing_feedrate_mm_s[Z_AXIS]; |     feedrate_mm_s = homing_feedrate_mm_s[Z_AXIS]; | ||||||
|  |  | ||||||
|     current_position[Z_AXIS] = MESH_HOME_SEARCH_Z |     current_position[Z_AXIS] = MESH_HOME_SEARCH_Z | ||||||
| @@ -3760,8 +3753,8 @@ inline void gcode_G28() { | |||||||
|    */ |    */ | ||||||
|   inline void gcode_G29() { |   inline void gcode_G29() { | ||||||
|  |  | ||||||
|     static int probe_point = -1; |     static int probe_index = -1; | ||||||
|     MeshLevelingState state = code_seen('S') ? (MeshLevelingState)code_value_byte() : MeshReport; |     const MeshLevelingState state = code_seen('S') ? (MeshLevelingState)code_value_byte() : MeshReport; | ||||||
|     if (state < 0 || state > 5) { |     if (state < 0 || state > 5) { | ||||||
|       SERIAL_PROTOCOLLNPGM("S out of range (0-5)."); |       SERIAL_PROTOCOLLNPGM("S out of range (0-5)."); | ||||||
|       return; |       return; | ||||||
| @@ -3781,17 +3774,17 @@ inline void gcode_G28() { | |||||||
|  |  | ||||||
|       case MeshStart: |       case MeshStart: | ||||||
|         mbl.reset(); |         mbl.reset(); | ||||||
|         probe_point = 0; |         probe_index = 0; | ||||||
|         enqueue_and_echo_commands_P(PSTR("G28\nG29 S2")); |         enqueue_and_echo_commands_P(PSTR("G28\nG29 S2")); | ||||||
|         break; |         break; | ||||||
|  |  | ||||||
|       case MeshNext: |       case MeshNext: | ||||||
|         if (probe_point < 0) { |         if (probe_index < 0) { | ||||||
|           SERIAL_PROTOCOLLNPGM("Start mesh probing with \"G29 S1\" first."); |           SERIAL_PROTOCOLLNPGM("Start mesh probing with \"G29 S1\" first."); | ||||||
|           return; |           return; | ||||||
|         } |         } | ||||||
|         // For each G29 S2... |         // For each G29 S2... | ||||||
|         if (probe_point == 0) { |         if (probe_index == 0) { | ||||||
|           // For the initial G29 S2 make Z a positive value (e.g., 4.0) |           // For the initial G29 S2 make Z a positive value (e.g., 4.0) | ||||||
|           current_position[Z_AXIS] = MESH_HOME_SEARCH_Z |           current_position[Z_AXIS] = MESH_HOME_SEARCH_Z | ||||||
|             #if Z_HOME_DIR > 0 |             #if Z_HOME_DIR > 0 | ||||||
| @@ -3802,13 +3795,13 @@ inline void gcode_G28() { | |||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|           // For G29 S2 after adjusting Z. |           // For G29 S2 after adjusting Z. | ||||||
|           mbl.set_zigzag_z(probe_point - 1, current_position[Z_AXIS]); |           mbl.set_zigzag_z(probe_index - 1, current_position[Z_AXIS]); | ||||||
|         } |         } | ||||||
|         // If there's another point to sample, move there with optional lift. |         // If there's another point to sample, move there with optional lift. | ||||||
|         if (probe_point < (MESH_NUM_X_POINTS) * (MESH_NUM_Y_POINTS)) { |         if (probe_index < (MESH_NUM_X_POINTS) * (MESH_NUM_Y_POINTS)) { | ||||||
|           mbl.zigzag(probe_point, px, py); |           mbl.zigzag(probe_index, px, py); | ||||||
|           _mbl_goto_xy(mbl.get_probe_x(px), mbl.get_probe_y(py)); |           _mbl_goto_xy(mbl.get_probe_x(px), mbl.get_probe_y(py)); | ||||||
|           probe_point++; |           probe_index++; | ||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|           // One last "return to the bed" (as originally coded) at completion |           // One last "return to the bed" (as originally coded) at completion | ||||||
| @@ -3824,7 +3817,7 @@ inline void gcode_G28() { | |||||||
|  |  | ||||||
|           // After recording the last point, activate the mbl and home |           // After recording the last point, activate the mbl and home | ||||||
|           SERIAL_PROTOCOLLNPGM("Mesh probing done."); |           SERIAL_PROTOCOLLNPGM("Mesh probing done."); | ||||||
|           probe_point = -1; |           probe_index = -1; | ||||||
|           mbl.set_has_mesh(true); |           mbl.set_has_mesh(true); | ||||||
|           enqueue_and_echo_commands_P(PSTR("G28")); |           enqueue_and_echo_commands_P(PSTR("G28")); | ||||||
|         } |         } | ||||||
| @@ -3936,8 +3929,8 @@ inline void gcode_G28() { | |||||||
|   inline void gcode_G29() { |   inline void gcode_G29() { | ||||||
|  |  | ||||||
|     #if ENABLED(DEBUG_LEVELING_FEATURE) |     #if ENABLED(DEBUG_LEVELING_FEATURE) | ||||||
|       bool query = code_seen('Q'); |       const bool query = code_seen('Q'); | ||||||
|       uint8_t old_debug_flags = marlin_debug_flags; |       const uint8_t old_debug_flags = marlin_debug_flags; | ||||||
|       if (query) marlin_debug_flags |= DEBUG_LEVELING; |       if (query) marlin_debug_flags |= DEBUG_LEVELING; | ||||||
|       if (DEBUGGING(LEVELING)) { |       if (DEBUGGING(LEVELING)) { | ||||||
|         DEBUG_POS(">>> gcode_G29", current_position); |         DEBUG_POS(">>> gcode_G29", current_position); | ||||||
| @@ -3950,7 +3943,7 @@ inline void gcode_G28() { | |||||||
|     // Don't allow auto-leveling without homing first |     // Don't allow auto-leveling without homing first | ||||||
|     if (axis_unhomed_error(true, true, true)) return; |     if (axis_unhomed_error(true, true, true)) return; | ||||||
|  |  | ||||||
|     int verbose_level = code_seen('V') ? code_value_int() : 1; |     const int verbose_level = code_seen('V') ? code_value_int() : 1; | ||||||
|     if (verbose_level < 0 || verbose_level > 4) { |     if (verbose_level < 0 || verbose_level > 4) { | ||||||
|       SERIAL_PROTOCOLLNPGM("?(V)erbose Level is implausible (0-4)."); |       SERIAL_PROTOCOLLNPGM("?(V)erbose Level is implausible (0-4)."); | ||||||
|       return; |       return; | ||||||
| @@ -3995,7 +3988,7 @@ inline void gcode_G28() { | |||||||
|           front_probe_bed_position = code_seen('F') ? (int)code_value_axis_units(Y_AXIS) : LOGICAL_Y_POSITION(FRONT_PROBE_BED_POSITION), |           front_probe_bed_position = code_seen('F') ? (int)code_value_axis_units(Y_AXIS) : LOGICAL_Y_POSITION(FRONT_PROBE_BED_POSITION), | ||||||
|           back_probe_bed_position = code_seen('B') ? (int)code_value_axis_units(Y_AXIS) : LOGICAL_Y_POSITION(BACK_PROBE_BED_POSITION); |           back_probe_bed_position = code_seen('B') ? (int)code_value_axis_units(Y_AXIS) : LOGICAL_Y_POSITION(BACK_PROBE_BED_POSITION); | ||||||
|  |  | ||||||
|       bool left_out_l = left_probe_bed_position < LOGICAL_X_POSITION(MIN_PROBE_X), |       const bool left_out_l = left_probe_bed_position < LOGICAL_X_POSITION(MIN_PROBE_X), | ||||||
|                  left_out = left_out_l || left_probe_bed_position > right_probe_bed_position - (MIN_PROBE_EDGE), |                  left_out = left_out_l || left_probe_bed_position > right_probe_bed_position - (MIN_PROBE_EDGE), | ||||||
|                  right_out_r = right_probe_bed_position > LOGICAL_X_POSITION(MAX_PROBE_X), |                  right_out_r = right_probe_bed_position > LOGICAL_X_POSITION(MAX_PROBE_X), | ||||||
|                  right_out = right_out_r || right_probe_bed_position < left_probe_bed_position + MIN_PROBE_EDGE, |                  right_out = right_out_r || right_probe_bed_position < left_probe_bed_position + MIN_PROBE_EDGE, | ||||||
| @@ -4068,8 +4061,10 @@ inline void gcode_G28() { | |||||||
|           || left_probe_bed_position != bilinear_start[X_AXIS] |           || left_probe_bed_position != bilinear_start[X_AXIS] | ||||||
|           || front_probe_bed_position != bilinear_start[Y_AXIS] |           || front_probe_bed_position != bilinear_start[Y_AXIS] | ||||||
|         ) { |         ) { | ||||||
|  |           if (dryrun) { | ||||||
|             // Before reset bed level, re-enable to correct the position |             // Before reset bed level, re-enable to correct the position | ||||||
|             planner.abl_enabled = abl_should_enable; |             planner.abl_enabled = abl_should_enable; | ||||||
|  |           } | ||||||
|           // Reset grid to 0.0 or "not probed". (Also disables ABL) |           // Reset grid to 0.0 or "not probed". (Also disables ABL) | ||||||
|           reset_bed_level(); |           reset_bed_level(); | ||||||
|  |  | ||||||
| @@ -4097,9 +4092,10 @@ inline void gcode_G28() { | |||||||
|          * so Vx = -a Vy = -b Vz = 1 (we want the vector facing towards positive Z |          * so Vx = -a Vy = -b Vz = 1 (we want the vector facing towards positive Z | ||||||
|          */ |          */ | ||||||
|  |  | ||||||
|         int abl2 = abl_grid_points_x * abl_grid_points_y, |         const int abl2 = abl_grid_points_x * abl_grid_points_y; | ||||||
|             indexIntoAB[abl_grid_points_x][abl_grid_points_y], |  | ||||||
|             probePointCounter = -1; |         int indexIntoAB[abl_grid_points_x][abl_grid_points_y], | ||||||
|  |             probe_index = -1; | ||||||
|  |  | ||||||
|         float eqnAMatrix[abl2 * 3], // "A" matrix of the linear system of equations |         float eqnAMatrix[abl2 * 3], // "A" matrix of the linear system of equations | ||||||
|               eqnBVector[abl2],     // "B" vector of Z points |               eqnBVector[abl2],     // "B" vector of Z points | ||||||
| @@ -4109,30 +4105,30 @@ inline void gcode_G28() { | |||||||
|  |  | ||||||
|       #if ENABLED(PROBE_Y_FIRST) |       #if ENABLED(PROBE_Y_FIRST) | ||||||
|         #define PR_OUTER_VAR xCount |         #define PR_OUTER_VAR xCount | ||||||
|         #define PR_OUTER_END abl_grid_points_x |         #define PR_OUTER_NUM abl_grid_points_x | ||||||
|         #define PR_INNER_VAR yCount |         #define PR_INNER_VAR yCount | ||||||
|         #define PR_INNER_END abl_grid_points_y |         #define PR_INNER_NUM abl_grid_points_y | ||||||
|       #else |       #else | ||||||
|         #define PR_OUTER_VAR yCount |         #define PR_OUTER_VAR yCount | ||||||
|         #define PR_OUTER_END abl_grid_points_y |         #define PR_OUTER_NUM abl_grid_points_y | ||||||
|         #define PR_INNER_VAR xCount |         #define PR_INNER_VAR xCount | ||||||
|         #define PR_INNER_END abl_grid_points_x |         #define PR_INNER_NUM abl_grid_points_x | ||||||
|       #endif |       #endif | ||||||
|  |  | ||||||
|       bool zig = PR_OUTER_END & 1;  // Always end at RIGHT and BACK_PROBE_BED_POSITION |       bool zig = PR_OUTER_NUM & 1;  // Always end at RIGHT and BACK_PROBE_BED_POSITION | ||||||
|  |  | ||||||
|       // Outer loop is Y with PROBE_Y_FIRST disabled |       // Outer loop is Y with PROBE_Y_FIRST disabled | ||||||
|       for (uint8_t PR_OUTER_VAR = 0; PR_OUTER_VAR < PR_OUTER_END; PR_OUTER_VAR++) { |       for (uint8_t PR_OUTER_VAR = 0; PR_OUTER_VAR < PR_OUTER_NUM; PR_OUTER_VAR++) { | ||||||
|  |  | ||||||
|         int8_t inStart, inStop, inInc; |         int8_t inStart, inStop, inInc; | ||||||
|  |  | ||||||
|         if (zig) { // away from origin |         if (zig) { // away from origin | ||||||
|           inStart = 0; |           inStart = 0; | ||||||
|           inStop = PR_INNER_END; |           inStop = PR_INNER_NUM; | ||||||
|           inInc = 1; |           inInc = 1; | ||||||
|         } |         } | ||||||
|         else {     // towards origin |         else {     // towards origin | ||||||
|           inStart = PR_INNER_END - 1; |           inStart = PR_INNER_NUM - 1; | ||||||
|           inStop = -1; |           inStop = -1; | ||||||
|           inInc = -1; |           inInc = -1; | ||||||
|         } |         } | ||||||
| @@ -4149,7 +4145,7 @@ inline void gcode_G28() { | |||||||
|           yProbe = floor(yBase + (yBase < 0 ? 0 : 0.5)); |           yProbe = floor(yBase + (yBase < 0 ? 0 : 0.5)); | ||||||
|  |  | ||||||
|           #if ENABLED(AUTO_BED_LEVELING_LINEAR) |           #if ENABLED(AUTO_BED_LEVELING_LINEAR) | ||||||
|             indexIntoAB[xCount][yCount] = ++probePointCounter; |             indexIntoAB[xCount][yCount] = ++probe_index; | ||||||
|           #endif |           #endif | ||||||
|  |  | ||||||
|           #if IS_KINEMATIC |           #if IS_KINEMATIC | ||||||
| @@ -4168,10 +4164,10 @@ inline void gcode_G28() { | |||||||
|           #if ENABLED(AUTO_BED_LEVELING_LINEAR) |           #if ENABLED(AUTO_BED_LEVELING_LINEAR) | ||||||
|  |  | ||||||
|             mean += measured_z; |             mean += measured_z; | ||||||
|             eqnBVector[probePointCounter] = measured_z; |             eqnBVector[probe_index] = measured_z; | ||||||
|             eqnAMatrix[probePointCounter + 0 * abl2] = xProbe; |             eqnAMatrix[probe_index + 0 * abl2] = xProbe; | ||||||
|             eqnAMatrix[probePointCounter + 1 * abl2] = yProbe; |             eqnAMatrix[probe_index + 1 * abl2] = yProbe; | ||||||
|             eqnAMatrix[probePointCounter + 2 * abl2] = 1; |             eqnAMatrix[probe_index + 2 * abl2] = 1; | ||||||
|  |  | ||||||
|           #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) |           #elif ENABLED(AUTO_BED_LEVELING_BILINEAR) | ||||||
|  |  | ||||||
| @@ -4181,8 +4177,8 @@ inline void gcode_G28() { | |||||||
|  |  | ||||||
|           idle(); |           idle(); | ||||||
|  |  | ||||||
|         } //xProbe |         } // inner | ||||||
|       } //yProbe |       } // outer | ||||||
|  |  | ||||||
|     #elif ENABLED(AUTO_BED_LEVELING_3POINT) |     #elif ENABLED(AUTO_BED_LEVELING_3POINT) | ||||||
|  |  | ||||||
| @@ -7860,9 +7856,9 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n | |||||||
|       if (tmp_extruder >= EXTRUDERS) |       if (tmp_extruder >= EXTRUDERS) | ||||||
|         return invalid_extruder_error(tmp_extruder); |         return invalid_extruder_error(tmp_extruder); | ||||||
|  |  | ||||||
|       float old_feedrate_mm_s = feedrate_mm_s; |       const float old_feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : feedrate_mm_s; | ||||||
|  |  | ||||||
|       feedrate_mm_s = fr_mm_s > 0.0 ? (old_feedrate_mm_s = fr_mm_s) : XY_PROBE_FEEDRATE_MM_S; |       feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : XY_PROBE_FEEDRATE_MM_S; | ||||||
|  |  | ||||||
|       if (tmp_extruder != active_extruder) { |       if (tmp_extruder != active_extruder) { | ||||||
|         if (!no_move && axis_unhomed_error(true, true, true)) { |         if (!no_move && axis_unhomed_error(true, true, true)) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user