Przeglądaj źródła

XYZ calibration fixes

Alex Voinea 2 lat temu
rodzic
commit
b147fcee77
1 zmienionych plików z 9 dodań i 10 usunięć
  1. 9 10
      Firmware/ultralcd.cpp

+ 9 - 10
Firmware/ultralcd.cpp

@@ -996,12 +996,11 @@ void lcd_commands()
         }
         //if (lcd_commands_step == 1 && calibrated()) {
         if (lcd_commands_step == 1 && temp_model_valid()) {
+            lcd_commands_step = 0;
+            lcd_commands_type = LcdCommands::Idle;
             enquecommand_P(PSTR("M500"));
             if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) {
                 lcd_wizard(WizState::IsFil);
-            } else {
-                lcd_commands_step = 0;
-                lcd_commands_type = LcdCommands::Idle;
             }
         }
     }
@@ -3956,7 +3955,6 @@ void lcd_wizard(WizState state)
     using S = WizState;
 	bool end = false;
 	uint8_t wizard_event;
-	const char *msg = NULL;
 	// Make sure EEPROM_WIZARD_ACTIVE is true if entering using different entry point
 	// other than WizState::Run - it is useful for debugging wizard.
 	if (state != S::Run) eeprom_update_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1);
@@ -4117,6 +4115,7 @@ void lcd_wizard(WizState state)
     
     FORCE_BL_ON_END;
     
+    const char *msg = NULL;
 	printf_P(_N("Wizard end state: %d\n"), (uint8_t)state);
 	switch (state) { //final message
 	case S::Restore: //printer was already calibrated
@@ -4129,23 +4128,23 @@ void lcd_wizard(WizState state)
 		break;
 #ifdef TEMP_MODEL
 	case S::TempModel: //Temp model calibration
-//		break;
+		break;
 #endif //TEMP_MODEL
 	case S::Finish: //we are finished
-
 		msg = _T(MSG_WIZARD_DONE);
 		lcd_reset_alert_level();
 		lcd_setstatuspgm(MSG_WELCOME);
 		lcd_return_to_status(); 
 		break;
-
+    case S::Preheat:
+    case S::Lay1CalCold:
+    case S::Lay1CalHot:
+        break;
 	default:
 		msg = _T(MSG_WIZARD_QUIT);
 		break;
-
 	}
-	if (!((S::Lay1CalCold == state) || (S::Lay1CalHot == state) || (S::Preheat == state)))
-	{
+	if (msg) {
 		lcd_show_fullscreen_message_and_wait_P(msg);
 	}
 	lcd_update_enable(true);