Browse Source

wizard: loading filament for SNMM, saving calibration status in xyz cal. updated

PavelSindler 7 năm trước cách đây
mục cha
commit
c3e01dd449
2 tập tin đã thay đổi với 9 bổ sung4 xóa
  1. 4 1
      Firmware/Marlin_main.cpp
  2. 5 3
      Firmware/ultralcd.cpp

+ 4 - 1
Firmware/Marlin_main.cpp

@@ -2242,8 +2242,11 @@ bool gcode_M45(bool onlyZ) {
 			}
 		}
 		else {
+			//if wizard is active and selftest was succefully completed, we dont want to loose information about it
+			if (calibration_status() != 250 || eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 0) {				
+				calibration_status_store(CALIBRATION_STATUS_ASSEMBLED);
+			}
 			// Reset the baby step value and the baby step applied flag.
-			calibration_status_store(CALIBRATION_STATUS_ASSEMBLED);
 			eeprom_update_word((uint16_t*)EEPROM_BABYSTEP_Z, 0);
 			// Complete XYZ calibration.
 			uint8_t point_too_far_mask = 0;

+ 5 - 3
Firmware/ultralcd.cpp

@@ -2968,8 +2968,6 @@ void lcd_wizard() {
 
 void lcd_wizard(int state) {
 
-
-
 	bool end = false;
 	int wizard_event;
 	const char *msg = NULL;
@@ -3048,6 +3046,9 @@ void lcd_wizard(int state) {
 			lcd_implementation_clear();
 			lcd_print_at_PGM(0,2,MSG_LOADING_FILAMENT);
 			loading_flag = true;
+#ifdef SNMM
+			change_extr(0);
+#endif
 			gcode_M701();
 			state = 9;
 			break;
@@ -3062,7 +3063,7 @@ void lcd_wizard(int state) {
 			lcd_commands_type = LCD_COMMAND_V2_CAL;
 			end = true;
 			break;
-		case 10: //repeat firt layer cal.?
+		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) {
 				current_position[Z_AXIS] += 100;
@@ -3075,6 +3076,7 @@ void lcd_wizard(int state) {
 			else {
 				state = 11;
 			}
+			break;
 		case 11: //we are finished
 			eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0);
 			end = true;