Merge pull request #829 from PavelSindler/temp_cal_fix2

Home XYZ: first move Z higher to protect steel sheet/heatbed
This commit is contained in:
XPila 2018-06-11 15:42:59 +02:00 committed by GitHub
commit 5178675cdd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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

@ -2570,23 +2570,30 @@ void force_high_power_mode(bool start_high_power_section) {
} }
#endif //TMC2130 #endif //TMC2130
void gcode_G28(bool home_x, bool home_y, bool home_z, bool calib){ void gcode_G28(bool home_x, bool home_y, bool home_z, bool calib) {
st_synchronize(); st_synchronize();
#if 0 #if 0
SERIAL_ECHOPGM("G28, initial "); print_world_coordinates(); SERIAL_ECHOPGM("G28, initial "); print_world_coordinates();
SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates(); SERIAL_ECHOPGM("G28, initial "); print_physical_coordinates();
#endif #endif
// Flag for the display update routine and to disable the print cancelation during homing. // Flag for the display update routine and to disable the print cancelation during homing.
homing_flag = true; homing_flag = true;
// Either all X,Y,Z codes are present, or none of them.
bool home_all_axes = home_x == home_y && home_x == home_z;
if (home_all_axes)
// No X/Y/Z code provided means to home all axes.
home_x = home_y = home_z = true;
// Either all X,Y,Z codes are present, or none of them.
bool home_all_axes = home_x == home_y && home_x == home_z;
if (home_all_axes)
// No X/Y/Z code provided means to home all axes.
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