interuppted print recovery

Something that happens to all of us is an unexpected print interruption. whether it being computer/program crash, momentary power brown out, etc.

I've encountered this enough to have come up with a rudimentary system of (assuming repetier host is still running, recording down the layer height and taking a picture of where it last was. with that, i go into the g-code, highlight everything that was printed, delete it, and modify the start g-code for what ever the situation is; usually, home x and y, not z (as i will move the x carriage and bed but the z-height wont be touched) set temp and resume. i have done this successfully on a number of occasions but it is very tedious.
However, i believe a little bit of programming can make this much easier.

Basic principle of operation would be that when repetier starts a print, it will make a copy of the g-code (named recovery-temp) and as it sends the g-code to the printer, it will also delete the same g-code from the file. this will create a situation where even if the entire computer crashes or looses power, there will be a record of whats left. and when repetier is restarted (or when an icon within it is pressed) it will initiate recovery mode. it will access "recovery-temp" add the start g-code (this can be standardized but should allow the user to customize it to their needs) and allow them to recover the print.

This can be taken a step further and if repetier is running when the interrupt occurs, it can auto recover; albiet this is much more complicated and i wouldnt focus on this until the base recovery system is implemented.


  • You can not delete form the beginning, but the basic theory is correct. We want to add this to our repetier-server which host also can use to print. It will be more a log how far we got so we can restart from last known save point. So in th efuture when it is implemented you can use it by using the server to print.
  • yes would be greatly helpfull to be able to just load up the remaining of the print to visually check it over before print continues
  • Repetier-Server has a recover function. When activated it logs what got printed and you can continue from there. You can combine it with host also recover it self is only available from server gui.
  • You need to be very careful of "startup" Gcodes as they may mess up everything.  My full "startup" has a G28 in it, along with lots of other moves that will loose its location, and likely crash through whatever is on the plate already.

    I want it just to check temperatures, and continue.  A small blob or burn through because the hot-end dwelled too long in one spot is a small price to pay vs loosing a multi-day print.

    My server is on a UPS, my printers are NOT, but MOST of my problems are due to WINDOWS randomly (at least to me) rebooting.
Sign In or Register to comment.