|
|
@ -33,20 +33,6 @@ |
|
|
|
|
|
|
|
#include "Marlin.h" |
|
|
|
|
|
|
|
#if HAS_ABL |
|
|
|
#include "vector_3.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(AUTO_BED_LEVELING_LINEAR) |
|
|
|
#include "qr_solve.h" |
|
|
|
#elif ENABLED(MESH_BED_LEVELING) |
|
|
|
#include "mesh_bed_leveling.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(BEZIER_CURVE_SUPPORT) |
|
|
|
#include "planner_bezier.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#include "ultralcd.h" |
|
|
|
#include "planner.h" |
|
|
|
#include "stepper.h" |
|
|
@ -61,6 +47,23 @@ |
|
|
|
#include "duration_t.h" |
|
|
|
#include "types.h" |
|
|
|
|
|
|
|
#if HAS_ABL |
|
|
|
#include "vector_3.h" |
|
|
|
#if ENABLED(AUTO_BED_LEVELING_LINEAR) |
|
|
|
#include "qr_solve.h" |
|
|
|
#endif |
|
|
|
#elif ENABLED(MESH_BED_LEVELING) |
|
|
|
#include "mesh_bed_leveling.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(BEZIER_CURVE_SUPPORT) |
|
|
|
#include "planner_bezier.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#if HAS_BUZZER && DISABLED(LCD_USE_I2C_BUZZER) |
|
|
|
#include "buzzer.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(USE_WATCHDOG) |
|
|
|
#include "watchdog.h" |
|
|
|
#endif |
|
|
@ -457,13 +460,17 @@ static uint8_t target_extruder; |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(AUTO_BED_LEVELING_BILINEAR) |
|
|
|
#define ADJUST_DELTA(V) \ |
|
|
|
if (planner.abl_enabled) { \ |
|
|
|
const float zadj = bilinear_z_offset(V); \ |
|
|
|
delta[A_AXIS] += zadj; \ |
|
|
|
delta[B_AXIS] += zadj; \ |
|
|
|
delta[C_AXIS] += zadj; \ |
|
|
|
} |
|
|
|
#if ENABLED(DELTA) |
|
|
|
#define ADJUST_DELTA(V) \ |
|
|
|
if (planner.abl_enabled) { \ |
|
|
|
const float zadj = bilinear_z_offset(V); \ |
|
|
|
delta[A_AXIS] += zadj; \ |
|
|
|
delta[B_AXIS] += zadj; \ |
|
|
|
delta[C_AXIS] += zadj; \ |
|
|
|
} |
|
|
|
#else |
|
|
|
#define ADJUST_DELTA(V) if (planner.abl_enabled) { delta[Z_AXIS] += bilinear_z_offset(V); } |
|
|
|
#endif |
|
|
|
#elif IS_KINEMATIC |
|
|
|
#define ADJUST_DELTA(V) NOOP |
|
|
|
#endif |
|
|
@ -2218,8 +2225,8 @@ static void clean_up_after_endstop_or_probe_move() { |
|
|
|
#elif HAS_ABL |
|
|
|
|
|
|
|
if (enable != planner.abl_enabled) { |
|
|
|
planner.abl_enabled = !planner.abl_enabled; |
|
|
|
if (!planner.abl_enabled) |
|
|
|
planner.abl_enabled = enable; |
|
|
|
if (!enable) |
|
|
|
set_current_from_steppers_for_axis( |
|
|
|
#if ABL_PLANAR |
|
|
|
ALL_AXES |
|
|
@ -4560,7 +4567,9 @@ inline void gcode_M31() { |
|
|
|
SERIAL_ECHO_START; |
|
|
|
SERIAL_ECHOLNPAIR("Print time: ", buffer); |
|
|
|
|
|
|
|
thermalManager.autotempShutdown(); |
|
|
|
#if ENABLED(AUTOTEMP) |
|
|
|
thermalManager.autotempShutdown(); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) |
|
|
@ -8814,9 +8823,7 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { |
|
|
|
// For non-interpolated delta calculate every segment
|
|
|
|
for (uint16_t s = segments + 1; --s;) { |
|
|
|
DELTA_NEXT(segment_distance[i]); |
|
|
|
DELTA_IK(); |
|
|
|
ADJUST_DELTA(DELTA_VAR); |
|
|
|
planner.buffer_line(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], DELTA_VAR[E_AXIS], _feedrate_mm_s, active_extruder); |
|
|
|
planner.buffer_line_kinematic(DELTA_VAR, _feedrate_mm_s, active_extruder); |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|