If homing all axes, move Z little bit higher before X and Y movements to protect steel sheet/heatbed

This commit is contained in:
PavelSindler 2018-06-11 11:13:49 +02:00
parent e559404448
commit d4106c2fe3
2 changed files with 20 additions and 12 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ Firmware/Doc
/Firmware/Firmware.sln /Firmware/Firmware.sln
/Firmware/Firmware.vcxproj /Firmware/Firmware.vcxproj
/Firmware/Firmware.vcxproj.filters /Firmware/Firmware.vcxproj.filters
/Firmware/Firmware - Shortcut.lnk

View File

@ -2581,6 +2581,13 @@ void gcode_G28(bool home_x, bool home_y, bool home_z, bool calib){
// No X/Y/Z code provided means to home all axes. // No X/Y/Z code provided means to home all axes.
home_x = home_y = home_z = true; home_x = home_y = home_z = true;
//if we are homing all axes, first move z higher to protect heatbed/steel sheet
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);
st_synchronize();
}
#ifdef ENABLE_AUTO_BED_LEVELING #ifdef ENABLE_AUTO_BED_LEVELING
plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data)
#endif //ENABLE_AUTO_BED_LEVELING #endif //ENABLE_AUTO_BED_LEVELING