|
@@ -2007,14 +2007,14 @@ static void do_blocking_move_to(float x, float y, float z) {
|
|
|
feedrate = homing_feedrate[Z_AXIS];
|
|
|
|
|
|
current_position[Z_AXIS] = z;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(feedrate/60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
feedrate = XY_TRAVEL_SPEED;
|
|
|
|
|
|
current_position[X_AXIS] = x;
|
|
|
current_position[Y_AXIS] = y;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(feedrate/60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
feedrate = oldFeedRate;
|
|
@@ -2344,77 +2344,77 @@ void ramming() {
|
|
|
|
|
|
max_feedrate[E_AXIS] = 50;
|
|
|
//current_position[E_AXIS] -= 8;
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2100 / 60, active_extruder);
|
|
|
+ //plan_buffer_line_curposXYZE(2100 / 60, active_extruder);
|
|
|
//current_position[E_AXIS] += 8;
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2100 / 60, active_extruder);
|
|
|
+ //plan_buffer_line_curposXYZE(2100 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 5.4;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2800 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(2800 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 3.2;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 3;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3400 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3400 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
max_feedrate[E_AXIS] = 80;
|
|
|
current_position[E_AXIS] -= 82;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 9500 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(9500 / 60, active_extruder);
|
|
|
max_feedrate[E_AXIS] = 50;//tmp[E_AXIS];
|
|
|
current_position[E_AXIS] -= 20;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1200 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(1200 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(400 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
current_position[E_AXIS] -= 10;
|
|
|
st_synchronize();
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 10;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
current_position[E_AXIS] -= 10;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 800 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(800 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 10;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 800 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(800 / 60, active_extruder);
|
|
|
current_position[E_AXIS] -= 10;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 800 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(800 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
}
|
|
|
else {
|
|
|
//ABS
|
|
|
max_feedrate[E_AXIS] = 50;
|
|
|
//current_position[E_AXIS] -= 8;
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2100 / 60, active_extruder);
|
|
|
+ //plan_buffer_line_curposXYZE(2100 / 60, active_extruder);
|
|
|
//current_position[E_AXIS] += 8;
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2100 / 60, active_extruder);
|
|
|
+ //plan_buffer_line_curposXYZE(2100 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 3.1;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(2000 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 3.1;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2500 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(2500 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 4;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
//current_position[X_AXIS] += 23; //delay
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600/60, active_extruder); //delay
|
|
|
+ //plan_buffer_line_curposXYZE(600/60, active_extruder); //delay
|
|
|
//current_position[X_AXIS] -= 23; //delay
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600/60, active_extruder); //delay
|
|
|
+ //plan_buffer_line_curposXYZE(600/60, active_extruder); //delay
|
|
|
_delay(4700);
|
|
|
max_feedrate[E_AXIS] = 80;
|
|
|
current_position[E_AXIS] -= 92;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 9900 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(9900 / 60, active_extruder);
|
|
|
max_feedrate[E_AXIS] = 50;//tmp[E_AXIS];
|
|
|
current_position[E_AXIS] -= 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 800 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(800 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(400 / 60, active_extruder);
|
|
|
current_position[E_AXIS] -= 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
current_position[E_AXIS] += 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
current_position[E_AXIS] -= 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
current_position[E_AXIS] += 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
current_position[E_AXIS] -= 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(600 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
}
|
|
@@ -2473,7 +2473,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon
|
|
|
if (home_all_axes) {
|
|
|
current_position[Z_AXIS] += MESH_HOME_Z_SEARCH;
|
|
|
feedrate = homing_feedrate[Z_AXIS];
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(feedrate / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
}
|
|
|
#ifdef ENABLE_AUTO_BED_LEVELING
|
|
@@ -2791,7 +2791,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
|
|
enable_endstops(false);
|
|
|
current_position[X_AXIS] += 5;
|
|
|
current_position[Y_AXIS] += 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
// Let the user move the Z axes up to the end stoppers.
|
|
@@ -2841,7 +2841,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
|
|
|
|
|
bool endstops_enabled = enable_endstops(false);
|
|
|
current_position[Z_AXIS] -= 1; //move 1mm down with disabled endstop
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
// Move the print head close to the bed.
|
|
@@ -2852,7 +2852,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
|
|
tmc2130_home_enter(Z_AXIS_MASK);
|
|
|
#endif //TMC2130
|
|
|
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
|
|
|
st_synchronize();
|
|
|
#ifdef TMC2130
|
|
@@ -2892,7 +2892,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
|
|
clean_up_after_endstop_move(l_feedmultiply);
|
|
|
// Print head up.
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
st_synchronize();
|
|
|
//#ifndef NEW_XYZCAL
|
|
|
if (result >= 0)
|
|
@@ -2912,7 +2912,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
|
|
clean_up_after_endstop_move(l_feedmultiply);
|
|
|
// Print head up.
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
st_synchronize();
|
|
|
// if (result >= 0) babystep_apply();
|
|
|
#endif //HEATBED_V2
|
|
@@ -3022,21 +3022,18 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
|
|
|
|
|
|
//Retract E
|
|
|
current_position[E_AXIS] += e_shift;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
|
|
- current_position[E_AXIS], FILAMENTCHANGE_RFEED, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_RFEED, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
//Lift Z
|
|
|
current_position[Z_AXIS] += z_shift;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
|
|
- current_position[E_AXIS], FILAMENTCHANGE_ZFEED, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_ZFEED, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
//Move XY to side
|
|
|
current_position[X_AXIS] = x_position;
|
|
|
current_position[Y_AXIS] = y_position;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
|
|
- current_position[E_AXIS], FILAMENTCHANGE_XYFEED, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
//Beep, manage nozzle heater and wait for user to start unload filament
|
|
@@ -3061,8 +3058,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
|
|
|
lcd_set_cursor(0, 2);
|
|
|
lcd_puts_P(_T(MSG_PLEASE_WAIT));
|
|
|
current_position[X_AXIS] -= 100;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
|
|
- current_position[E_AXIS], FILAMENTCHANGE_XYFEED, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED, active_extruder);
|
|
|
st_synchronize();
|
|
|
lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually."));////MSG_CHECK_IDLER c=20 r=4
|
|
|
}
|
|
@@ -3099,8 +3095,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
|
|
|
if (!automatic)
|
|
|
{
|
|
|
current_position[E_AXIS] += FILAMENTCHANGE_RECFEED;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
|
|
- current_position[E_AXIS], FILAMENTCHANGE_EXFEED, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_EXFEED, active_extruder);
|
|
|
}
|
|
|
|
|
|
//Move XY back
|
|
@@ -3167,12 +3162,12 @@ void gcode_M701()
|
|
|
|
|
|
lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT));
|
|
|
current_position[E_AXIS] += 40;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder); //fast sequence
|
|
|
+ plan_buffer_line_curposXYZE(400 / 60, active_extruder); //fast sequence
|
|
|
st_synchronize();
|
|
|
|
|
|
marlin_rise_z();
|
|
|
current_position[E_AXIS] += 30;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder); //fast sequence
|
|
|
+ plan_buffer_line_curposXYZE(400 / 60, active_extruder); //fast sequence
|
|
|
|
|
|
load_filament_final_feed(); //slow sequence
|
|
|
st_synchronize();
|
|
@@ -4371,15 +4366,15 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
if (result)
|
|
|
{
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[Z_AXIS] = 50;
|
|
|
current_position[Y_AXIS] = 180;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_STEEL_SHEET));
|
|
|
current_position[Y_AXIS] = pgm_read_float(bed_ref_points_4 + 1);
|
|
|
current_position[X_AXIS] = pgm_read_float(bed_ref_points_4);
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
gcode_G28(false, false, true);
|
|
|
|
|
@@ -4387,7 +4382,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
if ((current_temperature_pinda > 35) && (farm_mode == false)) {
|
|
|
//waiting for PIDNA probe to cool down in case that we are not in farm mode
|
|
|
current_position[Z_AXIS] = 100;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
if (lcd_wait_for_pinda(35) == false) { //waiting for PINDA probe to cool, if this takes more then time expected, temp. cal. fails
|
|
|
lcd_temp_cal_show_result(false);
|
|
|
break;
|
|
@@ -4411,12 +4406,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
custom_message_state = 1;
|
|
|
lcd_setstatuspgm(_T(MSG_TEMP_CALIBRATION));
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[X_AXIS] = PINDA_PREHEAT_X;
|
|
|
current_position[Y_AXIS] = PINDA_PREHEAT_Y;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[Z_AXIS] = PINDA_PREHEAT_Z;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
while (current_temperature_pinda < start_temp)
|
|
@@ -4428,10 +4423,10 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); //invalidate temp. calibration in case that in will be aborted during the calibration process
|
|
|
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[X_AXIS] = pgm_read_float(bed_ref_points_4);
|
|
|
current_position[Y_AXIS] = pgm_read_float(bed_ref_points_4 + 1);
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
bool find_z_result = find_bed_induction_sensor_point_z(-1.f);
|
|
@@ -4459,12 +4454,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
setTargetBed(50 + 10 * (temp - 30) / 5);
|
|
|
// setTargetHotend(255, 0);
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[X_AXIS] = PINDA_PREHEAT_X;
|
|
|
current_position[Y_AXIS] = PINDA_PREHEAT_Y;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[Z_AXIS] = PINDA_PREHEAT_Z;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
while (current_temperature_pinda < temp)
|
|
|
{
|
|
@@ -4472,10 +4467,10 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
serialecho_temperatures();
|
|
|
}
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[X_AXIS] = pgm_read_float(bed_ref_points_4);
|
|
|
current_position[Y_AXIS] = pgm_read_float(bed_ref_points_4 + 1);
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
find_z_result = find_bed_induction_sensor_point_z(-1.f);
|
|
|
if (find_z_result == false) {
|
|
@@ -4515,7 +4510,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
current_position[X_AXIS] = PINDA_PREHEAT_X;
|
|
|
current_position[Y_AXIS] = PINDA_PREHEAT_Y;
|
|
|
current_position[Z_AXIS] = PINDA_PREHEAT_Z;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
while (abs(degBed() - PINDA_MIN_T) > 1) {
|
|
@@ -4531,11 +4526,11 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); //invalidate temp. calibration in case that in will be aborted during the calibration process
|
|
|
|
|
|
current_position[Z_AXIS] = 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
|
|
|
current_position[X_AXIS] = BED_X0;
|
|
|
current_position[Y_AXIS] = BED_Y0;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
find_bed_induction_sensor_point_z(-1.f);
|
|
@@ -4552,7 +4547,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
current_position[X_AXIS] = PINDA_PREHEAT_X;
|
|
|
current_position[Y_AXIS] = PINDA_PREHEAT_Y;
|
|
|
current_position[Z_AXIS] = PINDA_PREHEAT_Z;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
while (degBed() < t_c) {
|
|
|
delay_keep_alive(1000);
|
|
@@ -4563,10 +4558,10 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
serialecho_temperatures();
|
|
|
}
|
|
|
current_position[Z_AXIS] = 5;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
current_position[X_AXIS] = BED_X0;
|
|
|
current_position[Y_AXIS] = BED_Y0;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
find_bed_induction_sensor_point_z(-1.f);
|
|
|
z_shift = (int)((current_position[Z_AXIS] - zero_z)*cs.axis_steps_per_unit[Z_AXIS]);
|
|
@@ -4707,7 +4702,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
// Cycle through all points and probe them
|
|
|
// First move up. During this first movement, the babystepping will be reverted.
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 60, active_extruder);
|
|
|
// The move to the first calibration point.
|
|
|
current_position[X_AXIS] = BED_X0;
|
|
|
current_position[Y_AXIS] = BED_Y0;
|
|
@@ -4722,7 +4717,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
world2machine_clamp(current_position[X_AXIS], current_position[Y_AXIS]);
|
|
|
#endif //SUPPORT_VERBOSITY
|
|
|
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[X_AXIS] / 30, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[X_AXIS] / 30, active_extruder);
|
|
|
// Wait until the move is finished.
|
|
|
st_synchronize();
|
|
|
|
|
@@ -4774,7 +4769,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
if((ix == 0) && (iy == 0)) current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
else current_position[Z_AXIS] += 2.f / nMeasPoints; //use relative movement from Z coordinate where PINDa triggered on previous point. This makes calibration faster.
|
|
|
float init_z_bckp = current_position[Z_AXIS];
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(Z_LIFT_FEEDRATE, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
// Move to XY position of the sensor point.
|
|
@@ -4795,7 +4790,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
#endif // SUPPORT_VERBOSITY
|
|
|
|
|
|
//printf_P(PSTR("after clamping: [%f;%f]\n"), current_position[X_AXIS], current_position[Y_AXIS]);
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], XY_AXIS_FEEDRATE, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(XY_AXIS_FEEDRATE, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
// Go down until endstop is hit
|
|
@@ -4807,7 +4802,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
if (init_z_bckp - current_position[Z_AXIS] < 0.1f) { //broken cable or initial Z coordinate too low. Go to MESH_HOME_Z_SEARCH and repeat last step (z-probe) again to distinguish between these two cases.
|
|
|
//printf_P(PSTR("Another attempt! Current Z position: %f\n"), current_position[Z_AXIS]);
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(Z_LIFT_FEEDRATE, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
if (!find_bed_induction_sensor_point_z((has_z && mesh_point > 0) ? z0 - Z_CALIBRATION_THRESHOLD : -10.f, nProbeRetry)) { //if we have data from z calibration max allowed difference is 1mm for each point, if we dont have data max difference is 10mm from initial point
|
|
@@ -4862,7 +4857,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
MYSERIAL.print(current_position[Z_AXIS], 5);
|
|
|
}
|
|
|
#endif // SUPPORT_VERBOSITY
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(Z_LIFT_FEEDRATE, active_extruder);
|
|
|
st_synchronize();
|
|
|
if (mesh_point != nMeasPoints * nMeasPoints) {
|
|
|
Sound_MakeSound(e_SOUND_TYPE_StandardAlert);
|
|
@@ -4879,14 +4874,14 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
// ~ Z-homing (can not be used "G28", because X & Y-homing would have been done before (Z-homing))
|
|
|
bState=enable_z_endstop(false);
|
|
|
current_position[Z_AXIS] -= 1;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
st_synchronize();
|
|
|
enable_z_endstop(true);
|
|
|
#ifdef TMC2130
|
|
|
tmc2130_home_enter(Z_AXIS_MASK);
|
|
|
#endif // TMC2130
|
|
|
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40, active_extruder);
|
|
|
st_synchronize();
|
|
|
#ifdef TMC2130
|
|
|
tmc2130_home_exit();
|
|
@@ -5019,7 +5014,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|
|
//unretract (after PINDA preheat retraction)
|
|
|
if (degHotend(active_extruder) > EXTRUDE_MINTEMP && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50) {
|
|
|
current_position[E_AXIS] += default_retraction;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(400, active_extruder);
|
|
|
}
|
|
|
KEEPALIVE_STATE(NOT_BUSY);
|
|
|
// Restore custom message state
|
|
@@ -9004,7 +8999,7 @@ void bed_check(float x_dimension, float y_dimension, int x_points_num, int y_poi
|
|
|
card.openFile(filename_wldsd, false);
|
|
|
|
|
|
/*destination[Z_AXIS] = mesh_home_z_search;
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
+ //plan_buffer_line_curposXYZE(Z_LIFT_FEEDRATE, active_extruder);
|
|
|
|
|
|
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
for(int8_t i=0; i < NUM_AXIS; i++) {
|
|
@@ -9038,7 +9033,7 @@ void bed_check(float x_dimension, float y_dimension, int x_points_num, int y_poi
|
|
|
if (iy & 1) ix = (x_points_num - 1) - ix; // Zig zag
|
|
|
float z0 = 0.f;
|
|
|
/*destination[Z_AXIS] = mesh_home_z_search;
|
|
|
- //plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
+ //plan_buffer_line_curposXYZE(Z_LIFT_FEEDRATE, active_extruder);
|
|
|
|
|
|
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
for(int8_t i=0; i < NUM_AXIS; i++) {
|
|
@@ -9202,7 +9197,7 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
|
|
|
card.openFile(filename_wldsd, false);
|
|
|
|
|
|
current_position[Z_AXIS] = mesh_home_z_search;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 60, active_extruder);
|
|
|
|
|
|
int XY_AXIS_FEEDRATE = homing_feedrate[X_AXIS] / 20;
|
|
|
int Z_LIFT_FEEDRATE = homing_feedrate[Z_AXIS] / 40;
|
|
@@ -9227,14 +9222,14 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
|
|
|
if (iy & 1) ix = (x_points_num - 1) - ix; // Zig zag
|
|
|
float z0 = 0.f;
|
|
|
current_position[Z_AXIS] = mesh_home_z_search;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], Z_LIFT_FEEDRATE, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(Z_LIFT_FEEDRATE, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
|
|
|
current_position[X_AXIS] = 13.f + ix * (x_dimension / (x_points_num - 1)) - bed_zero_ref_x + shift_x;
|
|
|
current_position[Y_AXIS] = 6.4f + iy * (y_dimension / (y_points_num - 1)) - bed_zero_ref_y + shift_y;
|
|
|
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], XY_AXIS_FEEDRATE, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(XY_AXIS_FEEDRATE, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
if (!find_bed_induction_sensor_point_z(-10.f)) { //if we have data from z calibration max allowed difference is 1mm for each point, if we dont have data max difference is 10mm from initial point
|
|
@@ -9348,12 +9343,12 @@ void temp_compensation_start() {
|
|
|
if (degHotend(active_extruder) > EXTRUDE_MINTEMP) {
|
|
|
current_position[E_AXIS] -= default_retraction;
|
|
|
}
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(400, active_extruder);
|
|
|
|
|
|
current_position[X_AXIS] = PINDA_PREHEAT_X;
|
|
|
current_position[Y_AXIS] = PINDA_PREHEAT_Y;
|
|
|
current_position[Z_AXIS] = PINDA_PREHEAT_Z;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
while (fabs(degBed() - target_temperature_bed) > 1) delay_keep_alive(1000);
|
|
|
|
|
@@ -9474,17 +9469,17 @@ void long_pause() //long pause print
|
|
|
|
|
|
//retract
|
|
|
current_position[E_AXIS] -= default_retraction;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(400, active_extruder);
|
|
|
|
|
|
//lift z
|
|
|
current_position[Z_AXIS] += Z_PAUSE_LIFT;
|
|
|
if (current_position[Z_AXIS] > Z_MAX_POS) current_position[Z_AXIS] = Z_MAX_POS;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 15, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(15, active_extruder);
|
|
|
|
|
|
//Move XY to side
|
|
|
current_position[X_AXIS] = X_PAUSE_POS;
|
|
|
current_position[Y_AXIS] = Y_PAUSE_POS;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 50, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(50, active_extruder);
|
|
|
|
|
|
// Turn off the print fan
|
|
|
fanSpeed = 0;
|
|
@@ -9636,7 +9631,7 @@ void uvlo_()
|
|
|
#if 0
|
|
|
// Move the print head to the side of the print until all the power stored in the power supply capacitors is depleted.
|
|
|
current_position[X_AXIS] = (current_position[X_AXIS] < 0.5f * (X_MIN_POS + X_MAX_POS)) ? X_MIN_POS : X_MAX_POS;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(500, active_extruder);
|
|
|
st_synchronize();
|
|
|
#endif
|
|
|
wdt_enable(WDTO_500MS);
|
|
@@ -10272,7 +10267,7 @@ static void print_time_remaining_init()
|
|
|
void load_filament_final_feed()
|
|
|
{
|
|
|
current_position[E_AXIS]+= FILAMENTCHANGE_FINALFEED;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], FILAMENTCHANGE_EFEED_FINAL, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FINAL, active_extruder);
|
|
|
}
|
|
|
|
|
|
//! @brief Wait for user to check the state
|
|
@@ -10402,22 +10397,22 @@ void M600_load_filament_movements()
|
|
|
do
|
|
|
{
|
|
|
current_position[E_AXIS] += 0.002;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(500, active_extruder);
|
|
|
delay_keep_alive(2);
|
|
|
}
|
|
|
while (!lcd_clicked());
|
|
|
st_synchronize();
|
|
|
current_position[E_AXIS] += bowden_length[mmu_extruder];
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(3000, active_extruder);
|
|
|
current_position[E_AXIS] += FIL_LOAD_LENGTH - 60;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1400, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(1400, active_extruder);
|
|
|
current_position[E_AXIS] += 40;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(400, active_extruder);
|
|
|
current_position[E_AXIS] += 10;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 50, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(50, active_extruder);
|
|
|
#else
|
|
|
current_position[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
|
|
|
- plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], FILAMENTCHANGE_EFEED_FIRST, active_extruder);
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST, active_extruder);
|
|
|
#endif
|
|
|
load_filament_final_feed();
|
|
|
lcd_loading_filament();
|