Remove saved_feedmultiply global variable.
This commit is contained in:
parent
b43c8dad74
commit
40990c4deb
|
|
@ -306,7 +306,6 @@ float homing_feedrate[] = HOMING_FEEDRATE;
|
||||||
// Other axes are always absolute or relative based on the common relative_mode flag.
|
// Other axes are always absolute or relative based on the common relative_mode flag.
|
||||||
bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
|
bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
|
||||||
int feedmultiply=100; //100->1 200->2
|
int feedmultiply=100; //100->1 200->2
|
||||||
int saved_feedmultiply;
|
|
||||||
int extrudemultiply=100; //100->1 200->2
|
int extrudemultiply=100; //100->1 200->2
|
||||||
int extruder_multiply[EXTRUDERS] = {100
|
int extruder_multiply[EXTRUDERS] = {100
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
|
|
@ -2009,23 +2008,24 @@ static void axis_is_at_home(int axis) {
|
||||||
inline void set_current_to_destination() { memcpy(current_position, destination, sizeof(current_position)); }
|
inline void set_current_to_destination() { memcpy(current_position, destination, sizeof(current_position)); }
|
||||||
inline void set_destination_to_current() { memcpy(destination, current_position, sizeof(destination)); }
|
inline void set_destination_to_current() { memcpy(destination, current_position, sizeof(destination)); }
|
||||||
|
|
||||||
|
//! @return original feedmultiply
|
||||||
static void setup_for_endstop_move(bool enable_endstops_now = true) {
|
static int setup_for_endstop_move(bool enable_endstops_now = true) {
|
||||||
saved_feedrate = feedrate;
|
saved_feedrate = feedrate;
|
||||||
saved_feedmultiply = feedmultiply;
|
int l_feedmultiply = feedmultiply;
|
||||||
feedmultiply = 100;
|
feedmultiply = 100;
|
||||||
previous_millis_cmd = millis();
|
previous_millis_cmd = millis();
|
||||||
|
|
||||||
enable_endstops(enable_endstops_now);
|
enable_endstops(enable_endstops_now);
|
||||||
|
return l_feedmultiply;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void clean_up_after_endstop_move() {
|
static void clean_up_after_endstop_move(int original_feedmultiply) {
|
||||||
#ifdef ENDSTOPS_ONLY_FOR_HOMING
|
#ifdef ENDSTOPS_ONLY_FOR_HOMING
|
||||||
enable_endstops(false);
|
enable_endstops(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
feedrate = saved_feedrate;
|
feedrate = saved_feedrate;
|
||||||
feedmultiply = saved_feedmultiply;
|
feedmultiply = original_feedmultiply;
|
||||||
previous_millis_cmd = millis();
|
previous_millis_cmd = millis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2610,7 +2610,7 @@ void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, long home_
|
||||||
babystep_undo();
|
babystep_undo();
|
||||||
|
|
||||||
saved_feedrate = feedrate;
|
saved_feedrate = feedrate;
|
||||||
saved_feedmultiply = feedmultiply;
|
int l_feedmultiply = feedmultiply;
|
||||||
feedmultiply = 100;
|
feedmultiply = 100;
|
||||||
previous_millis_cmd = millis();
|
previous_millis_cmd = millis();
|
||||||
|
|
||||||
|
|
@ -2796,7 +2796,7 @@ void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, long home_
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
feedrate = saved_feedrate;
|
feedrate = saved_feedrate;
|
||||||
feedmultiply = saved_feedmultiply;
|
feedmultiply = l_feedmultiply;
|
||||||
previous_millis_cmd = millis();
|
previous_millis_cmd = millis();
|
||||||
endstops_hit_on_purpose();
|
endstops_hit_on_purpose();
|
||||||
#ifndef MESH_BED_LEVELING
|
#ifndef MESH_BED_LEVELING
|
||||||
|
|
@ -2876,7 +2876,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
||||||
|
|
||||||
// Home in the XY plane.
|
// Home in the XY plane.
|
||||||
//set_destination_to_current();
|
//set_destination_to_current();
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
lcd_display_message_fullscreen_P(_T(MSG_AUTO_HOME));
|
lcd_display_message_fullscreen_P(_T(MSG_AUTO_HOME));
|
||||||
home_xy();
|
home_xy();
|
||||||
|
|
||||||
|
|
@ -2936,7 +2936,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
||||||
{
|
{
|
||||||
if (onlyZ)
|
if (onlyZ)
|
||||||
{
|
{
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
// Z only calibration.
|
// Z only calibration.
|
||||||
// Load the machine correction matrix
|
// Load the machine correction matrix
|
||||||
world2machine_initialize();
|
world2machine_initialize();
|
||||||
|
|
@ -2961,7 +2961,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
||||||
// Complete XYZ calibration.
|
// Complete XYZ calibration.
|
||||||
uint8_t point_too_far_mask = 0;
|
uint8_t point_too_far_mask = 0;
|
||||||
BedSkewOffsetDetectionResultType result = find_bed_offset_and_skew(verbosity_level, point_too_far_mask);
|
BedSkewOffsetDetectionResultType result = find_bed_offset_and_skew(verbosity_level, point_too_far_mask);
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
// Print head up.
|
// Print head up.
|
||||||
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
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(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
||||||
|
|
@ -2978,10 +2978,10 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
||||||
mbl.reset();
|
mbl.reset();
|
||||||
world2machine_reset();
|
world2machine_reset();
|
||||||
// Home in the XY plane.
|
// Home in the XY plane.
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
home_xy();
|
home_xy();
|
||||||
result = improve_bed_offset_and_skew(1, verbosity_level, point_too_far_mask);
|
result = improve_bed_offset_and_skew(1, verbosity_level, point_too_far_mask);
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
// Print head up.
|
// Print head up.
|
||||||
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
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(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);
|
||||||
|
|
@ -3824,7 +3824,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
current_position[Y_AXIS] = uncorrected_position.y;
|
current_position[Y_AXIS] = uncorrected_position.y;
|
||||||
current_position[Z_AXIS] = uncorrected_position.z;
|
current_position[Z_AXIS] = uncorrected_position.z;
|
||||||
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
|
|
||||||
feedrate = homing_feedrate[Z_AXIS];
|
feedrate = homing_feedrate[Z_AXIS];
|
||||||
#ifdef AUTO_BED_LEVELING_GRID
|
#ifdef AUTO_BED_LEVELING_GRID
|
||||||
|
|
@ -3890,7 +3890,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
xProbe += xInc;
|
xProbe += xInc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
|
|
||||||
// solve lsq problem
|
// solve lsq problem
|
||||||
double *plane_equation_coefficients = qr_solve(AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS, 3, eqnAMatrix, eqnBVector);
|
double *plane_equation_coefficients = qr_solve(AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS, 3, eqnAMatrix, eqnBVector);
|
||||||
|
|
@ -3919,7 +3919,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
// probe 3
|
// probe 3
|
||||||
float z_at_pt_3 = probe_pt(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS);
|
float z_at_pt_3 = probe_pt(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS);
|
||||||
|
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
|
|
||||||
set_bed_level_equation_3pts(z_at_pt_1, z_at_pt_2, z_at_pt_3);
|
set_bed_level_equation_3pts(z_at_pt_1, z_at_pt_2, z_at_pt_3);
|
||||||
|
|
||||||
|
|
@ -3945,7 +3945,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
{
|
{
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
// TODO: make sure the bed_level_rotation_matrix is identity or the planner will get set incorectly
|
// TODO: make sure the bed_level_rotation_matrix is identity or the planner will get set incorectly
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
|
|
||||||
feedrate = homing_feedrate[Z_AXIS];
|
feedrate = homing_feedrate[Z_AXIS];
|
||||||
|
|
||||||
|
|
@ -3959,7 +3959,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
SERIAL_PROTOCOL(current_position[Z_AXIS]);
|
SERIAL_PROTOCOL(current_position[Z_AXIS]);
|
||||||
SERIAL_PROTOCOLPGM("\n");
|
SERIAL_PROTOCOLPGM("\n");
|
||||||
|
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#else
|
#else
|
||||||
|
|
@ -3977,7 +3977,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
{
|
{
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
// TODO: make sure the bed_level_rotation_matrix is identity or the planner will get set incorectly
|
// TODO: make sure the bed_level_rotation_matrix is identity or the planner will get set incorectly
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
|
|
||||||
feedrate = homing_feedrate[Z_AXIS];
|
feedrate = homing_feedrate[Z_AXIS];
|
||||||
|
|
||||||
|
|
@ -3985,7 +3985,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
|
|
||||||
printf_P(_N("%S X: %.5f Y: %.5f Z: %.5f\n"), _T(MSG_BED), _x, _y, _z);
|
printf_P(_N("%S X: %.5f Y: %.5f Z: %.5f\n"), _T(MSG_BED), _x, _y, _z);
|
||||||
|
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -4410,7 +4410,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
has_z ? SERIAL_PROTOCOLPGM("Z jitter data from Z cal. valid.\n") : SERIAL_PROTOCOLPGM("Z jitter data from Z cal. not valid.\n");
|
has_z ? SERIAL_PROTOCOLPGM("Z jitter data from Z cal. valid.\n") : SERIAL_PROTOCOLPGM("Z jitter data from Z cal. not valid.\n");
|
||||||
}
|
}
|
||||||
#endif // SUPPORT_VERBOSITY
|
#endif // SUPPORT_VERBOSITY
|
||||||
setup_for_endstop_move(false); //save feedrate and feedmultiply, sets feedmultiply to 100
|
int l_feedmultiply = setup_for_endstop_move(false); //save feedrate and feedmultiply, sets feedmultiply to 100
|
||||||
const char *kill_message = NULL;
|
const char *kill_message = NULL;
|
||||||
while (mesh_point != MESH_MEAS_NUM_X_POINTS * MESH_MEAS_NUM_Y_POINTS) {
|
while (mesh_point != MESH_MEAS_NUM_X_POINTS * MESH_MEAS_NUM_Y_POINTS) {
|
||||||
// Get coords of a measuring point.
|
// Get coords of a measuring point.
|
||||||
|
|
@ -4517,7 +4517,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
kill(kill_message);
|
kill(kill_message);
|
||||||
SERIAL_ECHOLNPGM("killed");
|
SERIAL_ECHOLNPGM("killed");
|
||||||
}
|
}
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
// SERIAL_ECHOLNPGM("clean up finished ");
|
// SERIAL_ECHOLNPGM("clean up finished ");
|
||||||
|
|
||||||
bool apply_temp_comp = true;
|
bool apply_temp_comp = true;
|
||||||
|
|
@ -4641,9 +4641,9 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
*/
|
*/
|
||||||
case 82:
|
case 82:
|
||||||
SERIAL_PROTOCOLLNPGM("Finding bed ");
|
SERIAL_PROTOCOLLNPGM("Finding bed ");
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
find_bed_induction_sensor_point_z();
|
find_bed_induction_sensor_point_z();
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
SERIAL_PROTOCOLPGM("Bed found at: ");
|
SERIAL_PROTOCOLPGM("Bed found at: ");
|
||||||
SERIAL_PROTOCOL_F(current_position[Z_AXIS], 5);
|
SERIAL_PROTOCOL_F(current_position[Z_AXIS], 5);
|
||||||
SERIAL_PROTOCOLPGM("\n");
|
SERIAL_PROTOCOLPGM("\n");
|
||||||
|
|
@ -5070,7 +5070,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
// Home in the XY plane.
|
// Home in the XY plane.
|
||||||
set_destination_to_current();
|
set_destination_to_current();
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
home_xy();
|
home_xy();
|
||||||
int8_t verbosity_level = 0;
|
int8_t verbosity_level = 0;
|
||||||
if (code_seen('V')) {
|
if (code_seen('V')) {
|
||||||
|
|
@ -5079,7 +5079,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
verbosity_level = (c == ' ' || c == '\t' || c == 0) ? 1 : code_value_short();
|
verbosity_level = (c == ' ' || c == '\t' || c == 0) ? 1 : code_value_short();
|
||||||
}
|
}
|
||||||
bool success = scan_bed_induction_points(verbosity_level);
|
bool success = scan_bed_induction_points(verbosity_level);
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
// Print head up.
|
// Print head up.
|
||||||
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
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(current_position[X_AXIS], current_position[Y_AXIS],current_position[Z_AXIS] , current_position[E_AXIS], homing_feedrate[Z_AXIS]/40, active_extruder);
|
||||||
|
|
@ -5209,7 +5209,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
// Then retrace the right amount and use that in subsequent probes
|
// Then retrace the right amount and use that in subsequent probes
|
||||||
//
|
//
|
||||||
|
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
run_z_probe();
|
run_z_probe();
|
||||||
|
|
||||||
current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
|
current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
|
||||||
|
|
@ -5273,7 +5273,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
do_blocking_move_to( X_probe_location, Y_probe_location, Z_start_location); // Go back to the probe location
|
do_blocking_move_to( X_probe_location, Y_probe_location, Z_start_location); // Go back to the probe location
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_for_endstop_move();
|
int l_feedmultiply = setup_for_endstop_move();
|
||||||
run_z_probe();
|
run_z_probe();
|
||||||
|
|
||||||
sample_set[n] = current_position[Z_AXIS];
|
sample_set[n] = current_position[Z_AXIS];
|
||||||
|
|
@ -5324,9 +5324,9 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
|
||||||
|
|
||||||
delay(1000);
|
delay(1000);
|
||||||
|
|
||||||
clean_up_after_endstop_move();
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
|
|
||||||
// enable_endstops(true);
|
// enable_endstops(true);
|
||||||
|
|
||||||
if (verbose_level > 0) {
|
if (verbose_level > 0) {
|
||||||
SERIAL_PROTOCOLPGM("Mean: ");
|
SERIAL_PROTOCOLPGM("Mean: ");
|
||||||
|
|
@ -7850,7 +7850,7 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
|
||||||
int XY_AXIS_FEEDRATE = homing_feedrate[X_AXIS] / 20;
|
int XY_AXIS_FEEDRATE = homing_feedrate[X_AXIS] / 20;
|
||||||
int Z_LIFT_FEEDRATE = homing_feedrate[Z_AXIS] / 40;
|
int Z_LIFT_FEEDRATE = homing_feedrate[Z_AXIS] / 40;
|
||||||
|
|
||||||
setup_for_endstop_move(false);
|
int l_feedmultiply = setup_for_endstop_move(false);
|
||||||
|
|
||||||
SERIAL_PROTOCOLPGM("Num X,Y: ");
|
SERIAL_PROTOCOLPGM("Num X,Y: ");
|
||||||
SERIAL_PROTOCOL(x_points_num);
|
SERIAL_PROTOCOL(x_points_num);
|
||||||
|
|
@ -7979,7 +7979,7 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
|
||||||
|
|
||||||
}
|
}
|
||||||
card.closefile();
|
card.closefile();
|
||||||
|
clean_up_after_endstop_move(l_feedmultiply);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -8114,7 +8114,6 @@ void long_pause() //long pause print
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
|
|
||||||
//save currently set parameters to global variables
|
//save currently set parameters to global variables
|
||||||
saved_feedmultiply = feedmultiply;
|
|
||||||
fanSpeedBckp = fanSpeed;
|
fanSpeedBckp = fanSpeed;
|
||||||
start_pause_print = millis();
|
start_pause_print = millis();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue