|
|
@ -7889,7 +7889,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
|
|
|
|
&& (delayed_move_time || current_position[X_AXIS] != xhome)
|
|
|
|
&& (delayed_move_time || current_position[X_AXIS] != xhome)
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
float raised_z = current_position[Z_AXIS] + TOOLCHANGE_PARK_ZLIFT;
|
|
|
|
float raised_z = current_position[Z_AXIS] + TOOLCHANGE_PARK_ZLIFT;
|
|
|
|
#if ENABLED(max_software_endstops)
|
|
|
|
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
|
|
|
|
NOMORE(raised_z, soft_endstop_max[Z_AXIS]);
|
|
|
|
NOMORE(raised_z, soft_endstop_max[Z_AXIS]);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
@ -7940,7 +7940,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
|
|
|
|
// record raised toolhead position for use by unpark
|
|
|
|
// record raised toolhead position for use by unpark
|
|
|
|
COPY(raised_parked_position, current_position);
|
|
|
|
COPY(raised_parked_position, current_position);
|
|
|
|
raised_parked_position[Z_AXIS] += TOOLCHANGE_UNPARK_ZLIFT;
|
|
|
|
raised_parked_position[Z_AXIS] += TOOLCHANGE_UNPARK_ZLIFT;
|
|
|
|
#if ENABLED(max_software_endstops)
|
|
|
|
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
|
|
|
|
NOMORE(raised_parked_position[Z_AXIS], soft_endstop_max[Z_AXIS]);
|
|
|
|
NOMORE(raised_parked_position[Z_AXIS], soft_endstop_max[Z_AXIS]);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
active_extruder_parked = true;
|
|
|
|
active_extruder_parked = true;
|
|
|
@ -8983,12 +8983,12 @@ void ok_to_send() {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void clamp_to_software_endstops(float target[XYZ]) {
|
|
|
|
void clamp_to_software_endstops(float target[XYZ]) {
|
|
|
|
if (!soft_endstops_enabled) return;
|
|
|
|
if (!soft_endstops_enabled) return;
|
|
|
|
#if ENABLED(min_software_endstops)
|
|
|
|
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
|
|
|
|
NOLESS(target[X_AXIS], soft_endstop_min[X_AXIS]);
|
|
|
|
NOLESS(target[X_AXIS], soft_endstop_min[X_AXIS]);
|
|
|
|
NOLESS(target[Y_AXIS], soft_endstop_min[Y_AXIS]);
|
|
|
|
NOLESS(target[Y_AXIS], soft_endstop_min[Y_AXIS]);
|
|
|
|
NOLESS(target[Z_AXIS], soft_endstop_min[Z_AXIS]);
|
|
|
|
NOLESS(target[Z_AXIS], soft_endstop_min[Z_AXIS]);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if ENABLED(max_software_endstops)
|
|
|
|
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
|
|
|
|
NOMORE(target[X_AXIS], soft_endstop_max[X_AXIS]);
|
|
|
|
NOMORE(target[X_AXIS], soft_endstop_max[X_AXIS]);
|
|
|
|
NOMORE(target[Y_AXIS], soft_endstop_max[Y_AXIS]);
|
|
|
|
NOMORE(target[Y_AXIS], soft_endstop_max[Y_AXIS]);
|
|
|
|
NOMORE(target[Z_AXIS], soft_endstop_max[Z_AXIS]);
|
|
|
|
NOMORE(target[Z_AXIS], soft_endstop_max[Z_AXIS]);
|
|
|
|