|
|
@ -1446,27 +1446,27 @@ inline float get_homing_bump_feedrate(AxisEnum axis) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return homing_feedrate_mm_s[axis] / hbd;
|
|
|
|
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) {
|
|
|
|
#if !IS_KINEMATIC
|
|
|
|
planner.buffer_line(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS], feedrate_mm_s, active_extruder);
|
|
|
|
//
|
|
|
|
}
|
|
|
|
// 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
|
|
|
|
// line_to_destination
|
|
|
|
// Move the planner, not necessarily synced with current_position
|
|
|
|
// Move the planner, not necessarily synced with current_position
|
|
|
|
//
|
|
|
|
//
|
|
|
|
inline void line_to_destination(float fr_mm_s) {
|
|
|
|
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);
|
|
|
|
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); }
|
|
|
|
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_current_to_destination() { memcpy(current_position, destination, sizeof(current_position)); }
|
|
|
|
inline void set_destination_to_current() { memcpy(destination, current_position, sizeof(destination)); }
|
|
|
|
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.
|
|
|
|
// 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);
|
|
|
|
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];
|
|
|
|
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);
|
|
|
|
line_to_current_position();
|
|
|
|
|
|
|
|
stepper.synchronize();
|
|
|
|
stepper.synchronize();
|
|
|
|
endstops.hit_on_purpose(); // clear endstop hit flags
|
|
|
|
endstops.hit_on_purpose(); // clear endstop hit flags
|
|
|
|
|
|
|
|
|
|
|
|