Closed descipher closed 3 years ago
Job Abort is meant to be a emergency stop (immediate, in the middle of a move), in case of a serious problem. What you describe is the Job Pause function, which can be resumed afterwards.
I understand the functions, however if this were grbl you can simply send $X and it’s communication is restored. On marlin the CPU is halted, there is no communication and it’s dead, you need a power cycle or reset. I can see more graceful ways of handling the abort on Marlin. For example we can send a shut off the laser unlock the motors and still communicate with it from there. Also if a display is defined on Marlin controller, M0 and M108 are usable as well an emergency stop button in the UI is an option.
It would be better to send nothing and allow a resume by the user. A job abort is restarted on the client end and if the user does resend it starts from the beginning of the job.
Recommend removing the following from server.js:
and have the following action: