Z calibraion: always ask user to clean nozzle

This commit is contained in:
PavelSindler 2018-11-04 18:47:08 +01:00
parent 6a82af487e
commit e2d2fb58aa
2 changed files with 16 additions and 26 deletions

View file

@ -2748,6 +2748,21 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
if (lcd_calibrate_z_end_stop_manual(onlyZ))
{
#endif //TMC2130
lcd_show_fullscreen_message_and_wait_P(_T(MSG_CONFIRM_NOZZLE_CLEAN));
if(onlyZ){
lcd_display_message_fullscreen_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1));
lcd_set_cursor(0, 3);
lcd_print(1);
lcd_puts_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2));
}else{
//lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER));
lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1));
lcd_set_cursor(0, 2);
lcd_print(1);
lcd_puts_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2));
}
refresh_cmd_timeout();
#ifndef STEEL_SHEET
if (((degHotend(0) > MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) && (!onlyZ))
@ -2762,7 +2777,6 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false);
if(result) lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_STEEL_SHEET));
#endif //STEEL_SHEET
lcd_show_fullscreen_message_and_wait_P(_T(MSG_CONFIRM_NOZZLE_CLEAN));
lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER));
KEEPALIVE_STATE(IN_HANDLER);
lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1));
@ -2770,6 +2784,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
lcd_print(1);
lcd_puts_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2));
}
// Move the print head close to the bed.
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;

View file

@ -3077,8 +3077,6 @@ void lcd_wait_for_cool_down() {
#ifndef TMC2130
bool lcd_calibrate_z_end_stop_manual(bool only_z)
{
bool clean_nozzle_asked = false;
// Don't know where we are. Let's claim we are Z=0, so the soft end stops will not be triggered when moving up.
current_position[Z_AXIS] = 0;
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
@ -3125,13 +3123,6 @@ bool lcd_calibrate_z_end_stop_manual(bool only_z)
previous_millis_msg = millis();
}
}
if (! clean_nozzle_asked) {
lcd_show_fullscreen_message_and_wait_P(_T(MSG_CONFIRM_NOZZLE_CLEAN));
clean_nozzle_asked = true;
}
// Let the user confirm, that the Z carriage is at the top end stoppers.
int8_t result = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Are left and right Z~carriages all up?"), false);////MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2
if (result == -1)
@ -3146,22 +3137,6 @@ calibrated:
// during the search for the induction points.
current_position[Z_AXIS] = Z_MAX_POS-3.f;
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
if(only_z){
lcd_display_message_fullscreen_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1));
lcd_set_cursor(0, 3);
lcd_print(1);
lcd_puts_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2));
}else{
//lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER));
lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1));
lcd_set_cursor(0, 2);
lcd_print(1);
lcd_puts_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2));
}
return true;
canceled: