|
|
@ -1446,27 +1446,27 @@ inline float get_homing_bump_feedrate(AxisEnum axis) { |
|
|
|
} |
|
|
|
return homing_feedrate_mm_s[axis] / hbd; |
|
|
|
} |
|
|
|
//
|
|
|
|
// line_to_current_position
|
|
|
|
// Move the planner to the current position from wherever it last moved
|
|
|
|
// (or from wherever it has been told it is located).
|
|
|
|
//
|
|
|
|
inline void line_to_current_position() { |
|
|
|
planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate_mm_s, active_extruder); |
|
|
|
} |
|
|
|
|
|
|
|
inline void line_to_z(float zPosition) { |
|
|
|
planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS], feedrate_mm_s, active_extruder); |
|
|
|
} |
|
|
|
#if !IS_KINEMATIC |
|
|
|
//
|
|
|
|
// line_to_current_position
|
|
|
|
// Move the planner to the current position from wherever it last moved
|
|
|
|
// (or from wherever it has been told it is located).
|
|
|
|
//
|
|
|
|
inline void line_to_current_position() { |
|
|
|
planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate_mm_s, active_extruder); |
|
|
|
} |
|
|
|
|
|
|
|
//
|
|
|
|
// line_to_destination
|
|
|
|
// Move the planner, not necessarily synced with current_position
|
|
|
|
//
|
|
|
|
inline void line_to_destination(float fr_mm_s) { |
|
|
|
planner.buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], fr_mm_s, active_extruder); |
|
|
|
} |
|
|
|
inline void line_to_destination() { line_to_destination(feedrate_mm_s); } |
|
|
|
//
|
|
|
|
// line_to_destination
|
|
|
|
// Move the planner, not necessarily synced with current_position
|
|
|
|
//
|
|
|
|
inline void line_to_destination(float fr_mm_s) { |
|
|
|
planner.buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], fr_mm_s, active_extruder); |
|
|
|
} |
|
|
|
inline void line_to_destination() { line_to_destination(feedrate_mm_s); } |
|
|
|
|
|
|
|
#endif // !IS_KINEMATIC
|
|
|
|
|
|
|
|
inline void set_current_to_destination() { memcpy(current_position, destination, sizeof(current_position)); } |
|
|
|
inline void set_destination_to_current() { memcpy(destination, current_position, sizeof(destination)); } |
|
|
@ -2785,8 +2785,7 @@ inline void gcode_G4() { |
|
|
|
|
|
|
|
// Move all carriages together linearly until an endstop is hit.
|
|
|
|
current_position[X_AXIS] = current_position[Y_AXIS] = current_position[Z_AXIS] = (Z_MAX_LENGTH + 10); |
|
|
|
feedrate_mm_s = homing_feedrate_mm_s[X_AXIS]; |
|
|
|
line_to_current_position(); |
|
|
|
planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate_mm_s[X_AXIS], active_extruder); |
|
|
|
stepper.synchronize(); |
|
|
|
endstops.hit_on_purpose(); // clear endstop hit flags
|
|
|
|
|
|
|
|