|
@ -2009,7 +2009,7 @@ static void clean_up_after_endstop_or_probe_move() { |
|
|
safe_delay(375); |
|
|
safe_delay(375); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
FORCE_INLINE void set_bltouch_deployed(const bool &deploy) { |
|
|
void set_bltouch_deployed(const bool deploy) { |
|
|
bltouch_command(deploy ? BLTOUCH_DEPLOY : BLTOUCH_STOW); |
|
|
bltouch_command(deploy ? BLTOUCH_DEPLOY : BLTOUCH_STOW); |
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
if (DEBUGGING(LEVELING)) { |
|
|
if (DEBUGGING(LEVELING)) { |
|
@ -2284,7 +2284,7 @@ static void clean_up_after_endstop_or_probe_move() { |
|
|
|
|
|
|
|
|
mbl.set_active(enable && mbl.has_mesh()); |
|
|
mbl.set_active(enable && mbl.has_mesh()); |
|
|
|
|
|
|
|
|
if (enable) planner.unapply_leveling(current_position); |
|
|
if (enable && mbl.has_mesh()) planner.unapply_leveling(current_position); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#elif HAS_ABL && !ENABLED(AUTO_BED_LEVELING_UBL) |
|
|
#elif HAS_ABL && !ENABLED(AUTO_BED_LEVELING_UBL) |
|
@ -8528,7 +8528,7 @@ void process_next_command() { |
|
|
gcode_G28(); |
|
|
gcode_G28(); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
#if PLANNER_LEVELING || HAS_ABL |
|
|
#if PLANNER_LEVELING |
|
|
case 29: // G29 Detailed Z probe, probes the bed at 3 or more points,
|
|
|
case 29: // G29 Detailed Z probe, probes the bed at 3 or more points,
|
|
|
// or provides access to the UBL System if enabled.
|
|
|
// or provides access to the UBL System if enabled.
|
|
|
gcode_G29(); |
|
|
gcode_G29(); |
|
@ -9584,7 +9584,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { |
|
|
float normalized_dist, end[XYZE]; |
|
|
float normalized_dist, end[XYZE]; |
|
|
|
|
|
|
|
|
// Split at the left/front border of the right/top square
|
|
|
// Split at the left/front border of the right/top square
|
|
|
int8_t gcx = max(cx1, cx2), gcy = max(cy1, cy2); |
|
|
const int8_t gcx = max(cx1, cx2), gcy = max(cy1, cy2); |
|
|
if (cx2 != cx1 && TEST(x_splits, gcx)) { |
|
|
if (cx2 != cx1 && TEST(x_splits, gcx)) { |
|
|
COPY(end, destination); |
|
|
COPY(end, destination); |
|
|
destination[X_AXIS] = LOGICAL_X_POSITION(mbl.get_probe_x(gcx)); |
|
|
destination[X_AXIS] = LOGICAL_X_POSITION(mbl.get_probe_x(gcx)); |
|
@ -9647,7 +9647,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { |
|
|
float normalized_dist, end[XYZE]; |
|
|
float normalized_dist, end[XYZE]; |
|
|
|
|
|
|
|
|
// Split at the left/front border of the right/top square
|
|
|
// Split at the left/front border of the right/top square
|
|
|
int8_t gcx = max(cx1, cx2), gcy = max(cy1, cy2); |
|
|
const int8_t gcx = max(cx1, cx2), gcy = max(cy1, cy2); |
|
|
if (cx2 != cx1 && TEST(x_splits, gcx)) { |
|
|
if (cx2 != cx1 && TEST(x_splits, gcx)) { |
|
|
COPY(end, destination); |
|
|
COPY(end, destination); |
|
|
destination[X_AXIS] = LOGICAL_X_POSITION(bilinear_start[X_AXIS] + ABL_BG_SPACING(X_AXIS) * gcx); |
|
|
destination[X_AXIS] = LOGICAL_X_POSITION(bilinear_start[X_AXIS] + ABL_BG_SPACING(X_AXIS) * gcx); |
|
@ -10288,7 +10288,7 @@ void prepare_move_to_destination() { |
|
|
|
|
|
|
|
|
float calculate_volumetric_multiplier(float diameter) { |
|
|
float calculate_volumetric_multiplier(float diameter) { |
|
|
if (!volumetric_enabled || diameter == 0) return 1.0; |
|
|
if (!volumetric_enabled || diameter == 0) return 1.0; |
|
|
return 1.0 / (M_PI * diameter * 0.5 * diameter * 0.5); |
|
|
return 1.0 / (M_PI * sq(diameter * 0.5)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void calculate_volumetric_multipliers() { |
|
|
void calculate_volumetric_multipliers() { |
|
|