Wait before turning off PRINTER_EVENT_LEDS at print end (#10248)
This commit is contained in:
		
							parent
							
								
									568ae094f4
								
							
						
					
					
						commit
						9e4c037cef
					
				| @ -324,6 +324,10 @@ public: | ||||
|     #define KEEPALIVE_STATE(n) NOOP | ||||
|   #endif | ||||
| 
 | ||||
|   #if ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) && HAS_RESUME_CONTINUE | ||||
|     static bool lights_off_after_print; | ||||
|   #endif | ||||
| 
 | ||||
|   static void dwell(millis_t time); | ||||
| 
 | ||||
| private: | ||||
|  | ||||
| @ -33,6 +33,11 @@ | ||||
| 
 | ||||
| #include "../../sd/cardreader.h" | ||||
| 
 | ||||
| #if ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) | ||||
|   bool GcodeSuite::lights_off_after_print; | ||||
|   #include "../../feature/leds/leds.h" | ||||
| #endif | ||||
| 
 | ||||
| /**
 | ||||
|  * M0: Unconditional stop - Wait for user button press on LCD | ||||
|  * M1: Conditional stop   - Wait for user button press on LCD | ||||
| @ -91,6 +96,13 @@ void GcodeSuite::M0_M1() { | ||||
|     #endif | ||||
|   } | ||||
| 
 | ||||
|   #if ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) | ||||
|     if (lights_off_after_print) { | ||||
|       leds.set_off(); | ||||
|       lights_off_after_print = false; | ||||
|     } | ||||
|   #endif | ||||
| 
 | ||||
|   wait_for_user = false; | ||||
|   KEEPALIVE_STATE(IN_HANDLER); | ||||
| } | ||||
|  | ||||
| @ -449,12 +449,19 @@ inline void get_serial_commands() { | ||||
|               LCD_MESSAGEPGM(MSG_INFO_COMPLETED_PRINTS); | ||||
|               leds.set_green(); | ||||
|               #if HAS_RESUME_CONTINUE | ||||
|                 enqueue_and_echo_commands_P(PSTR("M0")); // end of the queue!
 | ||||
|                 gcode.lights_off_after_print = true; | ||||
|                 enqueue_and_echo_commands_P(PSTR("M0 S" | ||||
|                   #if ENABLED(NEWPANEL) | ||||
|                     "1800" | ||||
|                   #else | ||||
|                     "60" | ||||
|                   #endif | ||||
|                 )); | ||||
|               #else | ||||
|                 safe_delay(1000); | ||||
|                 safe_delay(2000); | ||||
|                 leds.set_off(); | ||||
|               #endif | ||||
|               leds.set_off(); | ||||
|             #endif | ||||
|             #endif // PRINTER_EVENT_LEDS
 | ||||
|             card.checkautostart(true); | ||||
|           } | ||||
|         } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user