Hi there! I was hoping there might be a simple M command for implementing a safety timer, as it feels like safety hasn't been given enough attention in this regard. I had imagined something like:
M199 Idle Shutdown: This would trigger specific actions (e.g., call shutdown.g, shut down motors, heaters, etc.) if the printer remains idle for a specified duration.
-
Timeout duration (in seconds) - Specifies the idle time after which the shutdown should be triggered.
- Example: T500 (indicates a 500-second idle timeout)
-
Heaters - Option to turn off hotend(s) and heated bed.
- Example: H1 (1=turn off, 0=keep as-is)
-
Motors - Option to disable stepper motors.
- Example: M1 (1=disable, 0=keep as-is)
-
Fans - Option to turn off part cooling and hotend cooling fans.
- Example: F1 (1=turn off, 0=keep as-is)
-
Custom G-code file - Specifies a custom G-code file to be executed during the shutdown process.
- Example: G"shutdown.g"
M199 T500 H1 M1 F1 G"shutdown.g"
This command would trigger the idle shutdown after 500 seconds of inactivity, turning off heaters, disabling motors, turning off fans, and executing the "shutdown.g" file for any additional custom shutdown procedures.
Does anyone happen to have a sample daemon.g file that could help achieve this functionality? I would greatly appreciate any input on this matter. Thanks!