BUG REPORT: Mixing uploads put SM2 in unusable state

I was working on a simple part, and used Luban to slice and upload it. This works fine, and after uploading I started the just uploaded file (pressing “yes” to the question on screen).

SM2 goes home and starts heating up both nozzle and bed. So far, so good.

Then I noticed a minor error in my design. So I changed that and sliced again.

Then I FORGOT TO STOP THE CURRENT JOB (which was still heating the bed), and uploaded the corrected gcode. My bad, I know…

The gcode was accepted, and I pressed “yes” again on the touchscreen. This time I got an error: The SM2 is unable to start the job. Check your system settings and try again (I’m writing this on a later moment, so the wording can be a bit different). I checked everything, did a bed leveling, went home, but the SM2 refused to print ANY gcode-file previously uploaded.

As a last resort I power cycled the printer (as a side note: I really would like a software-enabled restart (and powerdown!) function like the linux command ‘shutdown -r now’, to gracefully switch the printer off).

When I turned the printer ON again, the controller had a message saying that a previous print job was interrupted during power loss, and questions to resume that job. I chose not to resume, and after that, everything was working as ususal.

In hindsight, this state was obviously the cause of the unusable state of the SM2.

I think I’ve checked all settings before the power cycle, but I could not find any message about the current job (the one I wanted to replace), and how to stop/abort it.

It would really be helpful to have this kind of info. I also believe that the system should prevent this state:

  1. Refuse to start/accept a new job while the previous one is still running, OR
  2. Abort the previous job when a new one is uploaded (after ack from user)

Additionally, I would like to have:
3) A software way to shutdown the printer (‘shutdown -h now’ or ‘poweroff’)
4) A software way to reboot the printer (‘shutdown -r now’)

M1999 will reboot the controller of SM 2

Which controller?

As far as I understand, the printer (or hardware) controller is the device with all the CAN buses and the USB port. This part controls the XYZ drivers and the head. I expect this is the one which can be controlled with M-codes (the one with the Marlin-SM2 software).

The other controller is with the touch screen. This part manipulates the files and sends the appropriate commands to the hardware/printer controller

This last one can be replaced by eg Octoprint.

My understanding can be completely wrong though. I will test your suggestion on the next occasion, thanks!