PavelSindler il y a 7 ans
Parent
commit
c38458eb67
3 fichiers modifiés avec 22 ajouts et 8 suppressions
  1. 9 2
      Firmware/Marlin_main.cpp
  2. 1 0
      Firmware/temperature.cpp
  3. 12 6
      Firmware/ultralcd.cpp

+ 9 - 2
Firmware/Marlin_main.cpp

@@ -2621,7 +2621,7 @@ void process_commands()
     {
       st_synchronize();
 
-#if 0
+#if 1
       SERIAL_ECHOPGM("G28, initial ");  print_world_coordinates();
       SERIAL_ECHOPGM("G28, initial ");  print_physical_coordinates();
 #endif
@@ -2866,7 +2866,7 @@ void process_commands()
 	  if (farm_mode) { prusa_statistics(20); };
 
 	  homing_flag = false;
-#if 0
+#if 1
       SERIAL_ECHOPGM("G28, final ");  print_world_coordinates();
       SERIAL_ECHOPGM("G28, final ");  print_physical_coordinates();
       SERIAL_ECHOPGM("G28, final ");  print_mesh_bed_leveling_table();
@@ -7353,6 +7353,13 @@ void long_pause() //long pause print
 	pause_lastpos[Z_AXIS] = current_position[Z_AXIS];
 	pause_lastpos[E_AXIS] = current_position[E_AXIS];
 
+	SERIAL_ECHOPGM("X: "); 
+	MYSERIAL.println(pause_lastpos[X_AXIS]);
+	SERIAL_ECHOPGM("Y: ");
+	MYSERIAL.println(pause_lastpos[Y_AXIS]);
+	SERIAL_ECHOPGM("Z: ");
+	MYSERIAL.println(pause_lastpos[Z_AXIS]);
+
 	//retract
 	current_position[E_AXIS] -= DEFAULT_RETRACTION;
 	plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);

+ 1 - 0
Firmware/temperature.cpp

@@ -501,6 +501,7 @@ void fanSpeedError(unsigned char _fan) {
 	}
 	else {
 		setTargetHotend0(0);
+		Stop();
 	}
 	SERIAL_ERROR_START;
 	switch (_fan) {

+ 12 - 6
Firmware/ultralcd.cpp

@@ -576,12 +576,17 @@ void lcd_commands()
 	if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE)
 	{
 		if(lcd_commands_step == 0) {
-			card.pauseSDPrint();
-			lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS);
-			lcdDrawUpdate = 3;
-			lcd_commands_step = 1;
+			if (card.sdprinting) {
+				card.pauseSDPrint();
+				lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS);
+				lcdDrawUpdate = 3;
+				lcd_commands_step = 1;
+			}
+			else {
+				lcd_commands_type = 0;
+			}
 		}
-		if (lcd_commands_step == 1 && !blocks_queued()) {
+		if (lcd_commands_step == 1 && !blocks_queued() && !homing_flag) {
 			lcd_setstatuspgm(MSG_PRINT_PAUSED);
 			isPrintPaused = true;
 			long_pause();
@@ -598,7 +603,7 @@ void lcd_commands()
 			lcdDrawUpdate = 3;
 			lcd_commands_step = 4;
 		}
-		if (lcd_commands_step == 1 && !blocks_queued()) {	//recover feedmultiply
+		if (lcd_commands_step == 1 && !blocks_queued() && (current_position[Z_AXIS] == pause_lastpos[Z_AXIS])) {	//recover feedmultiply
 			
 			sprintf_P(cmd1, PSTR("M220 S%d"), saved_feedmultiply);
 			enquecommand(cmd1);
@@ -607,6 +612,7 @@ void lcd_commands()
 			card.startFileprint();
 			lcd_commands_step = 0;
 			lcd_commands_type = 0;
+			SERIAL_ECHOPGM("isPrintPaused set to false!!!");
 		}
 		if (lcd_commands_step == 2 && !blocks_queued()) {	//turn on fan, move Z and unretract