diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 1cd9a6bf..74fb22e1 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1089,9 +1089,9 @@ void setup() #ifndef DEBUG_DISABLE_STARTMSGS if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { - lcd_wizard(0); + lcd_wizard(0); } - else if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 0) { //dont show calibration status messages if wizard is currently active + if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 0) { //dont show calibration status messages if wizard is currently active if (calibration_status() == CALIBRATION_STATUS_ASSEMBLED || calibration_status() == CALIBRATION_STATUS_UNKNOWN) { // Reset the babystepping values, so the printer will not move the Z axis up when the babystepping is enabled. @@ -1919,6 +1919,7 @@ bool gcode_M45(bool onlyZ) { KEEPALIVE_STATE(PAUSED_FOR_USER); bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false); if(result) lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET); + lcd_show_fullscreen_message_and_wait_P(MSG_CONFIRM_NOZZLE_CLEAN); lcd_show_fullscreen_message_and_wait_P(MSG_PAPER); KEEPALIVE_STATE(IN_HANDLER); lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 532e3cd6..5a020741 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1114,13 +1114,14 @@ void lcd_commands() enquecommand_P(PSTR("G1 Z10 F1300.000")); enquecommand_P(PSTR("G1 X10 Y180 F4000")); //home X axis enquecommand_P(PSTR("M84"));// disable motors + lcd_timeoutToStatus = millis() - 1; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen lcd_commands_step = 1; } if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) { lcd_setstatuspgm(WELCOME_MSG); lcd_commands_step = 0; - lcd_commands_type = 0; + lcd_commands_type = 0; if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) { lcd_wizard(10); } @@ -3577,7 +3578,9 @@ void lcd_wizard(int state) { case 10: //repeat first layer cal.? wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(MSG_WIZARD_REPEAT_V2_CAL, false); if (wizard_event) { + //reset status and live adjust z value in eeprom calibration_status_store(CALIBRATION_STATUS_LIVE_ADJUST); + EEPROM_save_B(EEPROM_BABYSTEP_Z, 0); lcd_show_fullscreen_message_and_wait_P(MSG_WIZARD_CLEAN_HEATBED); state = 9; } diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 710de49f..3774bf62 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -1205,14 +1205,12 @@ static void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, const char* lcd.setCursor(0, row); lcd.print('>'); - int i = 1; int j = 0; char* longFilenameTMP = longFilename; while((c = *longFilenameTMP) != '\0') { - lcd.setCursor(i, row); lcd.print(c); i++; @@ -1223,6 +1221,7 @@ static void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, const char* longFilenameTMP = longFilename + j; n = LCD_WIDTH - 1; for(int g = 0; g<300 ;g++){ + manage_heater(); if(LCD_CLICKED || ( enc_dif != encoderDiff )){ longFilenameTMP = longFilename; *(longFilenameTMP + LCD_WIDTH - 2) = '\0';