(just a dummy/reminder task for now)
Closely related is a "resume on lost connection". E.g. one trips over the USB cord during a print and the connection gets lost. Cura should know the approximate position in the print and the remaining gcode, which is all that's needed. Maybe even the option to start a print at an arbitrary layer.
So what you're saying is, that in some scenarios Cura will detect a serial connection and send data when the printer is already off-line. The reason for that is that the serial chip on the printer is still powered via USB even when the main power to the printer was cut. I can appreciate that.
Still an option to start the print at a specific point/layer would be nice. All cura has to do is strip the gcode prior to that point and convert the remains so it makes sense to the firmware. Even if one had to find the entry point manually, that feature would be useful and Cura could be a little more verbose on which gcode line failed and what the previous few and the remaining were/are.
Also I was talking about the printer having power, but the USB being disconnected, rather than the other way around. In that case a resume should still be possible since Cura will detect the lost connection immediately. Then resume, maybe with a warning that the print will suffer on resume.
Resuming a crashed/failed print would be totally awesome. The best workaround right now is to use expert settings and "Cut off object bottom" setting to re-print just the section you need. The placement for this setting is not too great and hardly any users know about it.
As far as disconnecting the USB cable a better approach would be to have the entire print get pushed over in a single shot, printer remembers it (save to SD card?) and you can then unplug. Even better would be no USB cable at all: wireless!
I've already made a pause branch and re-enabled the button. For now, ignore the fact that (when using a Mini) hitting an endstop ruins the positioning information. Better firmware will be needed to fix this part.
- Reset E distance before resuming. User could have extruded/retracted filament during a pause to swap filament. Send M114 to get the E's location, filter out this message so it does not appear at the console, then use G92 to reset the E position. OR some better solution that I'm unaware of.
- Set sane movement speed before resuming. This is currently dependent on which button was clicked last (0.1mm movement, 10mm Extrude, 100mm movement)