Code size reduced by almost 5KB
This commit is contained in:
parent
f07635d08a
commit
a7c2aec04c
6 changed files with 163 additions and 161 deletions
|
@ -2025,14 +2025,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;
|
||||
|
@ -2362,77 +2362,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();
|
||||
|
||||
}
|
||||
|
@ -2491,7 +2491,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
|
||||
|
@ -2809,7 +2809,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.
|
||||
|
@ -2859,7 +2859,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.
|
||||
|
@ -2870,7 +2870,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
|
||||
|
@ -2910,7 +2910,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)
|
||||
|
@ -2930,7 +2930,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
|
||||
|
@ -3040,21 +3040,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
|
||||
|
@ -3079,8 +3076,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
|
||||
}
|
||||
|
@ -3117,8 +3113,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
|
||||
|
@ -3185,12 +3180,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();
|
||||
|
@ -4389,15 +4384,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);
|
||||
|
||||
|
@ -4405,7 +4400,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;
|
||||
|
@ -4429,12 +4424,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)
|
||||
|
@ -4446,10 +4441,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);
|
||||
|
@ -4477,12 +4472,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)
|
||||
{
|
||||
|
@ -4490,10 +4485,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) {
|
||||
|
@ -4533,7 +4528,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) {
|
||||
|
@ -4549,11 +4544,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);
|
||||
|
@ -4570,7 +4565,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);
|
||||
|
@ -4581,10 +4576,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]);
|
||||
|
@ -4725,7 +4720,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;
|
||||
|
@ -4740,7 +4735,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();
|
||||
|
||||
|
@ -4792,7 +4787,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.
|
||||
|
@ -4813,7 +4808,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
|
||||
|
@ -4825,7 +4820,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
|
||||
|
@ -4880,7 +4875,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);
|
||||
|
@ -4897,14 +4892,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();
|
||||
|
@ -5037,7 +5032,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
|
||||
|
@ -9022,7 +9017,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++) {
|
||||
|
@ -9056,7 +9051,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++) {
|
||||
|
@ -9220,7 +9215,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;
|
||||
|
@ -9245,14 +9240,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
|
||||
|
@ -9366,12 +9361,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);
|
||||
|
||||
|
@ -9492,17 +9487,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;
|
||||
|
@ -9654,7 +9649,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);
|
||||
|
@ -10290,7 +10285,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
|
||||
|
@ -10420,22 +10415,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();
|
||||
|
|
|
@ -919,7 +919,7 @@ static inline void go_xy(float x, float y, float fr)
|
|||
|
||||
static inline void go_to_current(float fr)
|
||||
{
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], fr, active_extruder);
|
||||
plan_buffer_line_curposXYZE(fr, active_extruder);
|
||||
st_synchronize();
|
||||
}
|
||||
|
||||
|
@ -2769,7 +2769,7 @@ bool sample_z() {
|
|||
//make space
|
||||
current_position[Z_AXIS] += 150;
|
||||
go_to_current(homing_feedrate[Z_AXIS] / 60);
|
||||
//plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder););
|
||||
//plan_buffer_line_curposXYZE(feedrate, active_extruder););
|
||||
|
||||
lcd_show_fullscreen_message_and_wait_P(_T(MSG_PLACE_STEEL_SHEET));
|
||||
|
||||
|
|
|
@ -537,7 +537,7 @@ void mmu_command(MmuCmd cmd)
|
|||
void mmu_load_step(bool synchronize)
|
||||
{
|
||||
current_position[E_AXIS] = current_position[E_AXIS] + MMU_LOAD_FEEDRATE * 0.1;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder);
|
||||
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE, active_extruder);
|
||||
if (synchronize) st_synchronize();
|
||||
}
|
||||
|
||||
|
@ -602,7 +602,7 @@ bool mmu_get_response(uint8_t move)
|
|||
{
|
||||
printf_P(PSTR("Unload 1\n"));
|
||||
current_position[E_AXIS] = current_position[E_AXIS] - MMU_LOAD_FEEDRATE * MMU_LOAD_TIME_MS*0.001;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder);
|
||||
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE, active_extruder);
|
||||
st_synchronize();
|
||||
}
|
||||
}
|
||||
|
@ -620,7 +620,7 @@ bool mmu_get_response(uint8_t move)
|
|||
{
|
||||
printf_P(PSTR("Unload 2\n"));
|
||||
current_position[E_AXIS] = current_position[E_AXIS] - MMU_LOAD_FEEDRATE * MMU_LOAD_TIME_MS*0.001;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder);
|
||||
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE, active_extruder);
|
||||
st_synchronize();
|
||||
}
|
||||
}
|
||||
|
@ -698,13 +698,13 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move)
|
|||
//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);
|
||||
st_synchronize();
|
||||
|
||||
//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);
|
||||
st_synchronize();
|
||||
}
|
||||
if (turn_off_nozzle) {
|
||||
|
@ -762,10 +762,10 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move)
|
|||
lcd_display_message_fullscreen_P(_i("MMU OK. Resuming position..."));
|
||||
current_position[X_AXIS] = x_position_bckp;
|
||||
current_position[Y_AXIS] = y_position_bckp;
|
||||
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);
|
||||
st_synchronize();
|
||||
current_position[Z_AXIS] = z_position_bckp;
|
||||
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);
|
||||
st_synchronize();
|
||||
}
|
||||
else {
|
||||
|
@ -804,19 +804,19 @@ void mmu_load_to_nozzle()
|
|||
current_position[E_AXIS] += 7.2f;
|
||||
}
|
||||
float feedrate = 562;
|
||||
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();
|
||||
current_position[E_AXIS] += 14.4f;
|
||||
feedrate = 871;
|
||||
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();
|
||||
current_position[E_AXIS] += 36.0f;
|
||||
feedrate = 1393;
|
||||
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();
|
||||
current_position[E_AXIS] += 14.4f;
|
||||
feedrate = 871;
|
||||
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();
|
||||
if (!saved_e_relative_mode) axis_relative_modes[E_AXIS] = false;
|
||||
}
|
||||
|
@ -903,7 +903,7 @@ void extr_mov(float shift, float feed_rate)
|
|||
{ //move extruder no matter what the current heater temperature is
|
||||
set_extrude_min_temp(.0);
|
||||
current_position[E_AXIS] += shift;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feed_rate, active_extruder);
|
||||
plan_buffer_line_curposXYZE(feed_rate, active_extruder);
|
||||
set_extrude_min_temp(EXTRUDE_MINTEMP);
|
||||
}
|
||||
#endif //SNMM
|
||||
|
@ -1069,8 +1069,7 @@ void mmu_filament_ramming()
|
|||
for(uint8_t i = 0; i < (sizeof(ramming_sequence)/sizeof(E_step));++i)
|
||||
{
|
||||
current_position[E_AXIS] += pgm_read_float(&(ramming_sequence[i].extrude));
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
||||
current_position[E_AXIS], pgm_read_float(&(ramming_sequence[i].feed_rate)), active_extruder);
|
||||
plan_buffer_line_curposXYZE(pgm_read_float(&(ramming_sequence[i].feed_rate)), active_extruder);
|
||||
st_synchronize();
|
||||
}
|
||||
}
|
||||
|
@ -1140,39 +1139,39 @@ void extr_unload()
|
|||
lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT));
|
||||
if (current_position[Z_AXIS] < 15) {
|
||||
current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 25, active_extruder);
|
||||
plan_buffer_line_curposXYZE(25, active_extruder);
|
||||
}
|
||||
|
||||
current_position[E_AXIS] += 10; //extrusion
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder);
|
||||
plan_buffer_line_curposXYZE(10, active_extruder);
|
||||
st_current_set(2, E_MOTOR_HIGH_CURRENT);
|
||||
if (current_temperature[0] < 230) { //PLA & all other filaments
|
||||
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);
|
||||
}
|
||||
else { //ABS
|
||||
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);
|
||||
/*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_keep_alive(4700);
|
||||
}
|
||||
|
||||
max_feedrate[E_AXIS] = 80;
|
||||
current_position[E_AXIS] -= (bowden_length[mmu_extruder] + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
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);
|
||||
current_position[E_AXIS] -= (bowden_length[mmu_extruder] + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
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();
|
||||
//st_current_init();
|
||||
if (SilentMode != SILENT_MODE_OFF) st_current_set(2, tmp_motor[2]); //set back to normal operation currents
|
||||
|
@ -1465,11 +1464,9 @@ bFilamentAction=false; // NOT in "mmu_fil_eject_menu(
|
|||
static bool can_load()
|
||||
{
|
||||
current_position[E_AXIS] += 60;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
||||
current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder);
|
||||
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE, active_extruder);
|
||||
current_position[E_AXIS] -= 52;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
||||
current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder);
|
||||
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
uint_least8_t filament_detected_count = 0;
|
||||
|
@ -1479,8 +1476,7 @@ static bool can_load()
|
|||
for(uint_least8_t i = 0; i < steps; ++i)
|
||||
{
|
||||
current_position[E_AXIS] -= e_increment;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
|
||||
current_position[E_AXIS], MMU_LOAD_FEEDRATE, active_extruder);
|
||||
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE, active_extruder);
|
||||
st_synchronize();
|
||||
if(0 == PIN_GET(IR_SENSOR_PIN))
|
||||
{
|
||||
|
@ -1601,13 +1597,13 @@ void mmu_continue_loading(bool blocking)
|
|||
//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);
|
||||
st_synchronize();
|
||||
|
||||
//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);
|
||||
st_synchronize();
|
||||
|
||||
mmu_command(MmuCmd::U0);
|
||||
|
|
|
@ -651,11 +651,15 @@ void planner_abort_hard()
|
|||
waiting_inside_plan_buffer_line_print_aborted = true;
|
||||
}
|
||||
|
||||
void plan_buffer_line_curposXYZE(float feed_rate, uint8_t extruder) {
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feed_rate, extruder );
|
||||
}
|
||||
|
||||
float junction_deviation = 0.1;
|
||||
// Add a new linear movement to the buffer. steps_x, _y and _z is the absolute position in
|
||||
// mm. Microseconds specify how many microseconds the move should take to perform. To aid acceleration
|
||||
// calculation the caller must also provide the physical length of the line in millimeters.
|
||||
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder)
|
||||
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, uint8_t extruder)
|
||||
{
|
||||
// Calculate the buffer head after we push this byte
|
||||
int next_buffer_head = next_block_index(block_buffer_head);
|
||||
|
|
|
@ -140,7 +140,14 @@ void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate
|
|||
// Get the position applying the bed level matrix if enabled
|
||||
vector_3 plan_get_position();
|
||||
#else
|
||||
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder);
|
||||
|
||||
/// Extracting common call of
|
||||
/// plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], ...
|
||||
/// saves almost 5KB.
|
||||
/// The performance penalty is negligible, since these planned lines are usually maintenance moves with the extruder.
|
||||
void plan_buffer_line_curposXYZE(float feed_rate, uint8_t extruder);
|
||||
|
||||
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, uint8_t extruder);
|
||||
//void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder);
|
||||
#endif // ENABLE_AUTO_BED_LEVELING
|
||||
|
||||
|
|
|
@ -2904,7 +2904,7 @@ static void _lcd_move(const char *name, int axis, int min, int max)
|
|||
if (max_software_endstops && current_position[axis] > max) current_position[axis] = max;
|
||||
lcd_encoder = 0;
|
||||
world2machine_clamp(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], manual_feedrate[axis] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[axis] / 60, active_extruder);
|
||||
lcd_draw_update = 1;
|
||||
}
|
||||
}
|
||||
|
@ -2929,7 +2929,7 @@ static void lcd_move_e()
|
|||
{
|
||||
current_position[E_AXIS] += float((int)lcd_encoder) * move_menu_scale;
|
||||
lcd_encoder = 0;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[E_AXIS] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[E_AXIS] / 60, active_extruder);
|
||||
lcd_draw_update = 1;
|
||||
}
|
||||
}
|
||||
|
@ -3428,7 +3428,7 @@ bool lcd_calibrate_z_end_stop_manual(bool only_z)
|
|||
// Only move up, whatever direction the user rotates the encoder.
|
||||
current_position[Z_AXIS] += fabs(lcd_encoder);
|
||||
lcd_encoder = 0;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[Z_AXIS] / 60, active_extruder);
|
||||
}
|
||||
}
|
||||
if (lcd_clicked()) {
|
||||
|
@ -4621,7 +4621,7 @@ void lcd_calibrate_pinda() {
|
|||
|
||||
lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_PLEASE_WAIT));
|
||||
current_position[E_AXIS] += e_shift_calibration;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder);
|
||||
plan_buffer_line_curposXYZE(feedrate, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
lcd_display_message_fullscreen_P(msg_e_cal_knob);
|
||||
|
@ -4644,7 +4644,7 @@ void lcd_calibrate_pinda() {
|
|||
if (!planner_queue_full()) {
|
||||
current_position[E_AXIS] += float(abs((int)lcd_encoder)) * 0.01; //0.05
|
||||
lcd_encoder = 0;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder);
|
||||
plan_buffer_line_curposXYZE(feedrate, active_extruder);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -4764,7 +4764,7 @@ void lcd_language()
|
|||
static void wait_preheat()
|
||||
{
|
||||
current_position[Z_AXIS] = 100; //move in z axis to make space for loading filament
|
||||
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);
|
||||
delay_keep_alive(2000);
|
||||
lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING));
|
||||
lcd_set_custom_characters();
|
||||
|
@ -6218,13 +6218,13 @@ void unload_filament()
|
|||
// extr_unload2();
|
||||
|
||||
current_position[E_AXIS] -= 45;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 5200 / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(5200 / 60, active_extruder);
|
||||
st_synchronize();
|
||||
current_position[E_AXIS] -= 15;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1000 / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(1000 / 60, active_extruder);
|
||||
st_synchronize();
|
||||
current_position[E_AXIS] -= 20;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1000 / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(1000 / 60, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
lcd_display_message_fullscreen_P(_T(MSG_PULL_OUT_FILAMENT));
|
||||
|
@ -7308,7 +7308,7 @@ bool lcd_selftest()
|
|||
//homeaxis(X_AXIS);
|
||||
//homeaxis(Y_AXIS);
|
||||
current_position[Z_AXIS] = current_position[Z_AXIS] + 10;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
_progress = lcd_selftest_screen(TestScreen::AxisZ, _progress, 3, true, 1500);
|
||||
_result = lcd_selfcheck_axis(2, Z_MAX_POS);
|
||||
|
@ -7322,7 +7322,7 @@ bool lcd_selftest()
|
|||
if (_result)
|
||||
{
|
||||
current_position[Z_AXIS] = current_position[Z_AXIS] + 10;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
_progress = lcd_selftest_screen(TestScreen::Home, 0, 2, true, 0);
|
||||
bool bres = tmc2130_home_calibrate(X_AXIS);
|
||||
|
@ -7406,7 +7406,7 @@ bool lcd_selftest()
|
|||
|
||||
static void reset_crash_det(unsigned char axis) {
|
||||
current_position[axis] += 10;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET)) tmc2130_sg_stop_on_crash = true;
|
||||
}
|
||||
|
@ -7430,7 +7430,7 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
|
|||
if (axis == X_AXIS) { //there is collision between cables and PSU cover in X axis if Z coordinate is too low
|
||||
|
||||
current_position[Z_AXIS] += 17;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
tmc2130_home_enter(Z_AXIS_MASK);
|
||||
st_synchronize();
|
||||
tmc2130_home_exit();
|
||||
|
@ -7439,7 +7439,7 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
|
|||
// first axis length measurement begin
|
||||
|
||||
current_position[axis] -= (axis_length + margin);
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
|
||||
|
||||
st_synchronize();
|
||||
|
@ -7449,11 +7449,11 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
|
|||
current_position_init = st_get_position_mm(axis);
|
||||
|
||||
current_position[axis] += 2 * margin;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
current_position[axis] += axis_length;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
|
||||
st_synchronize();
|
||||
|
||||
|
@ -7469,11 +7469,11 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
|
|||
|
||||
|
||||
current_position[axis] -= margin;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
current_position[axis] -= (axis_length + margin);
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
|
||||
st_synchronize();
|
||||
|
||||
|
@ -7542,13 +7542,13 @@ static bool lcd_selfcheck_axis(int _axis, int _travel)
|
|||
|
||||
if (_axis == X_AXIS) {
|
||||
current_position[Z_AXIS] += 17;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
}
|
||||
|
||||
do {
|
||||
current_position[_axis] = current_position[_axis] - 1;
|
||||
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
#ifdef TMC2130
|
||||
if ((READ(Z_MIN_PIN) ^ (bool)Z_MIN_ENDSTOP_INVERTING))
|
||||
|
@ -7602,7 +7602,7 @@ static bool lcd_selfcheck_axis(int _axis, int _travel)
|
|||
|
||||
|
||||
//current_position[_axis] = current_position[_axis] + 15;
|
||||
//plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
//plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
|
||||
if (!_stepresult)
|
||||
{
|
||||
|
@ -7650,17 +7650,17 @@ static bool lcd_selfcheck_pulleys(int axis)
|
|||
current_position_init = current_position[axis];
|
||||
|
||||
current_position[axis] += 2;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
for (i = 0; i < 5; i++) {
|
||||
refresh_cmd_timeout();
|
||||
current_position[axis] = current_position[axis] + move;
|
||||
st_current_set(0, 850); //set motor current higher
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 200, active_extruder);
|
||||
plan_buffer_line_curposXYZE(200, active_extruder);
|
||||
st_synchronize();
|
||||
if (SilentModeMenu != SILENT_MODE_OFF) st_current_set(0, tmp_motor[0]); //set back to normal operation currents
|
||||
else st_current_set(0, tmp_motor_loud[0]); //set motor current back
|
||||
current_position[axis] = current_position[axis] - move;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder);
|
||||
plan_buffer_line_curposXYZE(50, active_extruder);
|
||||
st_synchronize();
|
||||
if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ||
|
||||
((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1)) {
|
||||
|
@ -7677,7 +7677,7 @@ static bool lcd_selfcheck_pulleys(int axis)
|
|||
endstop_triggered = true;
|
||||
if (current_position_init - 1 <= current_position[axis] && current_position_init + 1 >= current_position[axis]) {
|
||||
current_position[axis] += (axis == X_AXIS) ? 13 : 9;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
return(true);
|
||||
}
|
||||
|
@ -7688,7 +7688,7 @@ static bool lcd_selfcheck_pulleys(int axis)
|
|||
}
|
||||
else {
|
||||
current_position[axis] -= 1;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
if (_millis() > timeout_counter) {
|
||||
lcd_selftest_error(TestError::Pulley, (axis == 0) ? "X" : "Y", "");
|
||||
|
@ -7712,7 +7712,7 @@ static bool lcd_selfcheck_endstops()
|
|||
if ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) current_position[1] += 10;
|
||||
if ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) current_position[2] += 10;
|
||||
}
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[0] / 60, active_extruder);
|
||||
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder);
|
||||
_delay(500);
|
||||
|
||||
if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ||
|
||||
|
|
Loading…
Reference in a new issue