|
@@ -2314,9 +2314,15 @@ bool homeaxis(int axis, bool doError, uint8_t cnt)
|
|
|
#ifdef TMC2130
|
|
|
if (READ(Z_TMC2130_DIAG) != 0) {
|
|
|
FORCE_HIGH_POWER_END;
|
|
|
- if (doError) kill(_T(MSG_BED_LEVELING_FAILED_POINT_LOW));
|
|
|
- current_position[axis] = -5;
|
|
|
- plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
|
|
+ if (doError)
|
|
|
+ {
|
|
|
+ current_position[Z_AXIS] += MESH_HOME_Z_SEARCH;
|
|
|
+ plan_buffer_line_curposXYZE(max_feedrate[Z_AXIS], active_extruder);
|
|
|
+ st_synchronize();
|
|
|
+ kill(_T(MSG_BED_LEVELING_FAILED_POINT_LOW));
|
|
|
+ }
|
|
|
+ current_position[axis] = -MESH_HOME_Z_SEARCH;
|
|
|
+ plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
|
|
return 0;
|
|
|
}
|
|
|
#endif
|
|
@@ -2332,9 +2338,15 @@ bool homeaxis(int axis, bool doError, uint8_t cnt)
|
|
|
#ifdef TMC2130
|
|
|
if (READ(Z_TMC2130_DIAG) != 0) {
|
|
|
FORCE_HIGH_POWER_END;
|
|
|
- if (doError) kill(_T(MSG_BED_LEVELING_FAILED_POINT_LOW));
|
|
|
- current_position[axis] = -5;
|
|
|
- plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
|
|
+ if (doError)
|
|
|
+ {
|
|
|
+ current_position[Z_AXIS] += MESH_HOME_Z_SEARCH;
|
|
|
+ plan_buffer_line_curposXYZE(max_feedrate[Z_AXIS], active_extruder);
|
|
|
+ st_synchronize();
|
|
|
+ kill(_T(MSG_BED_LEVELING_FAILED_POINT_LOW));
|
|
|
+ }
|
|
|
+ current_position[axis] = -MESH_HOME_Z_SEARCH;
|
|
|
+ plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
|
|
return 0;
|
|
|
}
|
|
|
#endif
|