浏览代码

Merge pull request #1899 from wavexx/fix_lcd_pause_function

Fix the LCD pause function
DRracer 4 年之前
父节点
当前提交
b33c79e6c7
共有 2 个文件被更改,包括 5 次插入10 次删除
  1. 2 3
      Firmware/Marlin_main.cpp
  2. 3 7
      Firmware/ultralcd.cpp

+ 2 - 3
Firmware/Marlin_main.cpp

@@ -9540,10 +9540,9 @@ void long_pause() //long pause print
 	current_position[Y_AXIS] = Y_PAUSE_POS;
 	plan_buffer_line_curposXYZE(50, active_extruder);
 
-	// Turn off the print fan
+	// Turn off the hotends and print fan
+    setAllTargetHotends(0);
 	fanSpeed = 0;
-
-	st_synchronize();
 }
 
 void serialecho_temperatures() {

+ 3 - 7
Firmware/ultralcd.cpp

@@ -1072,12 +1072,8 @@ void lcd_commands()
 		if (!blocks_queued() && !homing_flag)
 		{
 			lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 r=1
-			long_pause();
-               if (lcd_commands_type == LcdCommands::LongPause) // !!! because "lcd_commands_type" can be changed during/inside "long_pause()"
-               {
-                    lcd_commands_type = LcdCommands::Idle;
-                    lcd_commands_step = 0;
-               }
+            lcd_commands_type = LcdCommands::Idle;
+            lcd_commands_step = 0;
 		}
 	}
 
@@ -1636,7 +1632,7 @@ void lcd_pause_print()
 {
     lcd_return_to_status();
     stop_and_save_print_to_ram(0.0,0.0);
-    setAllTargetHotends(0);
+    long_pause();
     isPrintPaused = true;
     if (LcdCommands::Idle == lcd_commands_type)
     {