浏览代码

Merge pull request #230 from PavelSindler/check_file_fix

Check if file is complete fixed; snmm: set bowden lengths during setup before starting wizard
PavelSindler 7 年之前
父节点
当前提交
829e0f0046

+ 3 - 2
Firmware/Marlin_main.cpp

@@ -1236,6 +1236,7 @@ void setup()
 #ifndef DEBUG_DISABLE_STARTMSGS
 	check_babystep(); //checking if Z babystep is in allowed range
 
+  for (int i = 0; i < 4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]);
   if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) {
 	  lcd_wizard(0);
   }
@@ -1266,8 +1267,7 @@ void setup()
 	  if (!previous_settings_retrieved) {
 		  lcd_show_fullscreen_message_and_wait_P(MSG_DEFAULT_SETTINGS_LOADED);
 	  }
-  }
-  for (int i = 0; i < 4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]);
+  }  
   
 #endif //DEBUG_DISABLE_STARTMSGS
   lcd_update_enable(true);
@@ -1388,6 +1388,7 @@ void host_keepalive() {
 // Before loop(), the setup() function is called by the main() routine.
 void loop()
 {
+	KEEPALIVE_STATE(NOT_BUSY);
 	if (usb_printing_counter > 0 && millis()-_usb_timer > 1000)
 	{
 		is_usb_printing = true;

+ 1 - 1
Firmware/cardreader.cpp

@@ -1057,7 +1057,7 @@ void CardReader::printingHasFinished()
       }
       autotempShutdown();
 	  #ifdef SDCARD_SORT_ALPHA
-		presort();
+		//presort();
 	  #endif
     }
 }

+ 0 - 5
Firmware/language_all.cpp

@@ -3542,11 +3542,6 @@ const char * const MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE[1] PROGMEM = {
 	MSG_WIZARD_INSERT_CORRECT_FILAMENT_EN
 };
 
-const char MSG_WIZARD_LANGUAGE_EN[] PROGMEM = "Please choose your language";
-const char * const MSG_WIZARD_LANGUAGE_LANG_TABLE[1] PROGMEM = {
-	MSG_WIZARD_LANGUAGE_EN
-};
-
 const char MSG_WIZARD_LOAD_FILAMENT_EN[] PROGMEM = "Please insert PLA filament to the extruder, then press knob to load it.";
 const char * const MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE[1] PROGMEM = {
 	MSG_WIZARD_LOAD_FILAMENT_EN

+ 0 - 2
Firmware/language_all.h

@@ -666,8 +666,6 @@ extern const char* const MSG_WIZARD_HEATING_LANG_TABLE[1];
 #define MSG_WIZARD_HEATING LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_HEATING_LANG_TABLE, 0)
 extern const char* const MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE[1];
 #define MSG_WIZARD_INSERT_CORRECT_FILAMENT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE, 0)
-extern const char* const MSG_WIZARD_LANGUAGE_LANG_TABLE[1];
-#define MSG_WIZARD_LANGUAGE LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_LANGUAGE_LANG_TABLE, 0)
 extern const char* const MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE[1];
 #define MSG_WIZARD_LOAD_FILAMENT LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE, 0)
 extern const char* const MSG_WIZARD_PLA_FILAMENT_LANG_TABLE[1];

+ 23 - 24
Firmware/language_en.h

@@ -317,28 +317,27 @@
 #define(length=17, lines=1) MSG_SORT_ALPHA						"Sort: [Alphabet]"
 #define(length=17, lines=1) MSG_SORT_NONE						"Sort: [None]"
 #define(length=20, lines=1) MSG_SORTING							"Sorting files"
-#define MSG_FILE_INCOMPLETE										"File incomplete. Continue anyway?"
+#define(length=20, lines=2) MSG_FILE_INCOMPLETE					"File incomplete. Continue anyway?"
 #define(length=17, lines=1) MSG_WIZARD							"Wizard"
-#define	MSG_WIZARD_LANGUAGE					"Please choose your language"
-#define	MSG_WIZARD_WELCOME					"Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
-#define	MSG_WIZARD_QUIT						"You can always resume the Wizard from Calibration -> Wizard."
-#define MSG_WIZARD_SELFTEST					"First, I will run the selftest to check most common assembly problems."
-#define MSG_WIZARD_CALIBRATION_FAILED		"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
-#define MSG_WIZARD_XYZ_CAL					"I will run xyz calibration now. It will take approx. 12 mins."
-#define MSG_WIZARD_FILAMENT_LOADED		"Is filament loaded?"
-#define MSG_WIZARD_Z_CAL					"I will run z calibration now."
-#define MSG_WIZARD_WILL_PREHEAT				"Now I will preheat nozzle for PLA."
-#define MSG_WIZARD_HEATING					"Preheating nozzle. Please wait."
-#define MSG_WIZARD_V2_CAL					"Now I will calibrate distance between tip of the nozzle and heatbed surface."
-#define MSG_WIZARD_V2_CAL_2					"I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration."
-#define MSG_V2_CALIBRATION					"First layer cal."
-#define MSG_WIZARD_DONE						"All is done. Happy printing!"
-#define MSG_WIZARD_LOAD_FILAMENT			"Please insert PLA filament to the extruder, then press knob to load it."
-#define MSG_WIZARD_RERUN					"Running Wizard will delete current calibration results and start from the beginning. Continue?"
-#define MSG_WIZARD_REPEAT_V2_CAL					"Do you want to repeat last step to readjust distance between nozzle and heatbed?"
-#define MSG_WIZARD_CLEAN_HEATBED					"Please clean heatbed and then press the knob."
-#define MSG_WIZARD_PLA_FILAMENT					"Is it PLA filament?"
-#define MSG_WIZARD_INSERT_CORRECT_FILAMENT			"Please load PLA filament and then resume Wizard by rebooting the printer."
-#define MSG_PLA_FILAMENT_LOADED				"Is PLA filament loaded?"
-#define MSG_PLEASE_LOAD_PLA					"Please load PLA filament first."
-#define(length=20, lines=4) MSG_FILE_CNT	"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
+#define(length=20, lines=7)	MSG_WIZARD_WELCOME					"Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
+#define(length=20, lines=8) MSG_WIZARD_QUIT						"You can always resume the Wizard from Calibration -> Wizard."
+#define(length=20, lines=8) MSG_WIZARD_SELFTEST					"First, I will run the selftest to check most common assembly problems."
+#define(length=20, lines=8) MSG_WIZARD_CALIBRATION_FAILED		"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
+#define(length=20, lines=8) MSG_WIZARD_XYZ_CAL					"I will run xyz calibration now. It will take approx. 12 mins."
+#define(length=20, lines=2) MSG_WIZARD_FILAMENT_LOADED			"Is filament loaded?"
+#define(length=20, lines=8) MSG_WIZARD_Z_CAL					"I will run z calibration now."
+#define(length=20, lines=4) MSG_WIZARD_WILL_PREHEAT				"Now I will preheat nozzle for PLA."
+#define(length=20, lines=3) MSG_WIZARD_HEATING					"Preheating nozzle. Please wait."
+#define(lenght=20, lines=8) MSG_WIZARD_V2_CAL					"Now I will calibrate distance between tip of the nozzle and heatbed surface."
+#define(lenght=20, lines=12) MSG_WIZARD_V2_CAL_2				"I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration."
+#define(lenght=17, lines=1) MSG_V2_CALIBRATION					"First layer cal."
+#define(lenght=20, lines=8) MSG_WIZARD_DONE						"All is done. Happy printing!"
+#define(lenght=20, lines=8) MSG_WIZARD_LOAD_FILAMENT			"Please insert PLA filament to the extruder, then press knob to load it."
+#define(lenght=20, lines=7) MSG_WIZARD_RERUN					"Running Wizard will delete current calibration results and start from the beginning. Continue?"
+#define(lenght=20, lines=7) MSG_WIZARD_REPEAT_V2_CAL			"Do you want to repeat last step to readjust distance between nozzle and heatbed?"
+#define(lenght=20, lines=8) MSG_WIZARD_CLEAN_HEATBED			"Please clean heatbed and then press the knob."
+#define(lenght=20, lines=2) MSG_WIZARD_PLA_FILAMENT				"Is it PLA filament?"
+#define(lenght=20, lines=8) MSG_WIZARD_INSERT_CORRECT_FILAMENT	"Please load PLA filament and then resume Wizard by rebooting the printer."
+#define(lenght=20, lines=2) MSG_PLA_FILAMENT_LOADED				"Is PLA filament loaded?"
+#define(lenght=20, lines=4) MSG_PLEASE_LOAD_PLA					"Please load PLA filament first."
+#define(length=20, lines=8) MSG_FILE_CNT						"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."

+ 4 - 0
Firmware/ultralcd.cpp

@@ -3332,8 +3332,10 @@ void lcd_wizard(int state) {
 			wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_WIZARD_FILAMENT_LOADED, false);
 			if (wizard_event) state = 8;
 			else state = 6;
+
 			break;
 		case 6: //waiting for preheat nozzle for PLA;
+#ifndef SNMM
 			lcd_display_message_fullscreen_P(MSG_WIZARD_WILL_PREHEAT);
 			current_position[Z_AXIS] = 100; //move in z axis to make space for loading filament
 			plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 60, active_extruder);
@@ -3351,6 +3353,7 @@ void lcd_wizard(int state) {
 				lcd_set_custom_characters();
 				delay_keep_alive(1000);
 			}
+#endif //not SNMM
 			state = 7;
 			break;
 		case 7: //load filament 
@@ -5770,6 +5773,7 @@ static bool check_file(const char* filename) {
 		get_command();
 		result = check_commands();
 	}
+	cmdqueue_reset();
 	card.printingHasFinished();
 	strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH);
 	return result;

+ 1 - 6
Firmware/ultralcd_implementation_hitachi_HD44780.h

@@ -958,7 +958,7 @@ static void lcd_implementation_status_screen()
 						custom_message = false;
 						custom_message_type = 0;
 					}
-					if (custom_message_state > 3 && custom_message_state < 10 )
+					if (custom_message_state > 3 && custom_message_state <= 10 )
 					{
 						lcd.setCursor(0, 3);
 						lcd_printPGM(PSTR("                   "));
@@ -966,11 +966,6 @@ static void lcd_implementation_status_screen()
 						lcd_printPGM(MSG_HOMEYZ_DONE);
 						custom_message_state--;
 					}
-					if (custom_message_state == 10)
-					{
-						lcd_printPGM(MSG_HOMEYZ_DONE);
-						custom_message_state = 9;
-					}
 				}
 
 			}