[2.0.x] Fix change filament for delta machines (#9295)

This commit is contained in:
Thomas Moore
2018-01-22 10:21:42 -06:00
committed by Scott Lahteine
parent 62ecc74e76
commit 3db35ba9be
5 changed files with 31 additions and 12 deletions

View File

@ -119,7 +119,7 @@ static bool ensure_safe_temperature(const AdvancedPauseMode mode=ADVANCED_PAUSE_
static void do_pause_e_move(const float &length, const float &fr) {
set_destination_from_current();
destination[E_AXIS] += length / planner.e_factor[active_extruder];
buffer_line_to_destination(fr);
planner.buffer_line_kinematic(destination, fr, active_extruder);
stepper.synchronize();
set_current_from_destination();
}
@ -137,8 +137,8 @@ static void do_pause_e_move(const float &length, const float &fr) {
* Returns 'true' if load was completed, 'false' for abort
*/
bool load_filament(const float &load_length/*=0*/, const float &purge_length/*=0*/, const int8_t max_beep_count/*=0*/,
const bool show_lcd/*=false*/, const bool pause_for_user/*=false*/,
const AdvancedPauseMode mode/*=ADVANCED_PAUSE_MODE_PAUSE_PRINT*/
const bool show_lcd/*=false*/, const bool pause_for_user/*=false*/,
const AdvancedPauseMode mode/*=ADVANCED_PAUSE_MODE_PAUSE_PRINT*/
) {
#if DISABLED(ULTIPANEL)
UNUSED(show_lcd);
@ -232,7 +232,7 @@ bool load_filament(const float &load_length/*=0*/, const float &purge_length/*=0
* Returns 'true' if unload was completed, 'false' for abort
*/
bool unload_filament(const float &unload_length, const bool show_lcd/*=false*/,
const AdvancedPauseMode mode/*=ADVANCED_PAUSE_MODE_PAUSE_PRINT*/
const AdvancedPauseMode mode/*=ADVANCED_PAUSE_MODE_PAUSE_PRINT*/
) {
if (!ensure_safe_temperature(mode)) {
#if ENABLED(ULTIPANEL)
@ -336,8 +336,11 @@ bool pause_print(const float &retract, const point_t &park_point, const float &u
if (retract && thermalManager.hotEnoughToExtrude(active_extruder))
do_pause_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE);
// Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos)
Nozzle::park(2, park_point);
#if ENABLED(NO_MOTION_BEFORE_HOMING)
if (!axis_unhomed_error())
#endif
// Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos)
Nozzle::park(2, park_point);
// Unload the filament
if (unload_length)