Pull in changes from #5

This commit is contained in:
vintagepc 2020-03-31 17:33:08 -04:00
parent f1cba64e56
commit 0c383e20b3
1 changed files with 15 additions and 13 deletions

View File

@ -7832,7 +7832,7 @@ bool lcd_selftest()
static void reset_crash_det(unsigned char axis) { static void reset_crash_det(unsigned char axis) {
current_position[axis] += 10; current_position[axis] += 10;
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder); plan_buffer_line_curposXYZE(homing_feedrate[axis] / 60, active_extruder);
st_synchronize(); st_synchronize();
if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET)) tmc2130_sg_stop_on_crash = true; if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET)) tmc2130_sg_stop_on_crash = true;
} }
@ -7853,17 +7853,15 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
tmc2130_home_exit(); tmc2130_home_exit();
enable_endstops(true); enable_endstops(true);
if (axis == X_AXIS) { //there is collision between cables and PSU cover in X axis if Z coordinate is too low
raise_z_above(17,true); raise_z_above(MESH_HOME_Z_SEARCH);
tmc2130_home_enter(Z_AXIS_MASK); st_synchronize();
st_synchronize(); tmc2130_home_enter(1 << axis);
tmc2130_home_exit();
}
// first axis length measurement begin // first axis length measurement begin
current_position[axis] -= (axis_length + margin); current_position[axis] -= (axis_length + margin);
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder); plan_buffer_line_curposXYZE(homing_feedrate[axis] / 60, active_extruder);
st_synchronize(); st_synchronize();
@ -7873,11 +7871,11 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
current_position_init = st_get_position_mm(axis); current_position_init = st_get_position_mm(axis);
current_position[axis] += 2 * margin; current_position[axis] += 2 * margin;
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder); plan_buffer_line_curposXYZE(homing_feedrate[axis] / 60, active_extruder);
st_synchronize(); st_synchronize();
current_position[axis] += axis_length; current_position[axis] += axis_length;
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder); plan_buffer_line_curposXYZE(homing_feedrate[axis] / 60, active_extruder);
st_synchronize(); st_synchronize();
@ -7893,11 +7891,11 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
current_position[axis] -= margin; current_position[axis] -= margin;
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder); plan_buffer_line_curposXYZE(homing_feedrate[axis] / 60, active_extruder);
st_synchronize(); st_synchronize();
current_position[axis] -= (axis_length + margin); current_position[axis] -= (axis_length + margin);
plan_buffer_line_curposXYZE(manual_feedrate[0] / 60, active_extruder); plan_buffer_line_curposXYZE(homing_feedrate[axis] / 60, active_extruder);
st_synchronize(); st_synchronize();
@ -7905,6 +7903,7 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
measured_axis_length[1] = abs(current_position_final - current_position_init); measured_axis_length[1] = abs(current_position_final - current_position_init);
tmc2130_home_exit();
//end of second measurement, now check for possible errors: //end of second measurement, now check for possible errors:
@ -7923,6 +7922,8 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
current_position[axis] = 0; current_position[axis] = 0;
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]);
reset_crash_det(axis); reset_crash_det(axis);
enable_endstops(true);
endstops_hit_on_purpose();
return false; return false;
} }
} }
@ -7941,12 +7942,13 @@ static bool lcd_selfcheck_axis_sg(unsigned char axis) {
current_position[axis] = 0; current_position[axis] = 0;
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]);
reset_crash_det(axis); reset_crash_det(axis);
endstops_hit_on_purpose();
return false; return false;
} }
current_position[axis] = 0; current_position[axis] = 0;
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]);
reset_crash_det(axis); reset_crash_det(axis);
endstops_hit_on_purpose();
return true; return true;
} }
#endif //TMC2130 #endif //TMC2130