소스 검색

Make use of the CRITICAL_SECTION macros in lcd_print_stop

Yuri D'Elia 5 년 전
부모
커밋
8d490f941a
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      Firmware/ultralcd.cpp

+ 3 - 2
Firmware/ultralcd.cpp

@@ -7262,7 +7262,7 @@ void lcd_print_stop()
         SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL);   // for Octoprint
         SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL);   // for Octoprint
     }
     }
 
 
-    cli();
+    CRITICAL_SECTION_START;
 
 
     // Clear any saved printing state
     // Clear any saved printing state
     cancel_saved_printing();
     cancel_saved_printing();
@@ -7274,7 +7274,8 @@ void lcd_print_stop()
 	card.sdprinting = false;
 	card.sdprinting = false;
 	card.closefile();
 	card.closefile();
     st_reset_timer();
     st_reset_timer();
-    sei();
+
+    CRITICAL_SECTION_END;
 
 
 	lcd_setstatuspgm(_T(MSG_PRINT_ABORTED));
 	lcd_setstatuspgm(_T(MSG_PRINT_ABORTED));
 	stoptime = _millis();
 	stoptime = _millis();