Macro Resurrect file not found
-
I don't know if it matters but do you have an M911 command to setup power loss saving in config.g
-
@phaedrux said in Macro Resurrect file not found:
I don't know if it matters but do you have an M911 command to setup power loss saving in config.g
Config.G attached:
; Configuration file for Duet WiFi (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Fri May 11 2018 19:21:03 GMT-0400 (Eastern Daylight Time); General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M550 PBig3DPrinter ; Set machine name
M589 S"DUETWIFI" P"DUETWIFI" I192.168.254.15 ; Enable Duet Wifi as Access Point.
M552 S1 ; Enable network
;*** Access point is configured manually via M587
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Drives
M569 P0 S0 ; Drive 0 goes forwards X axis
M569 P1 S0 ; Drive 1 goes backwards Y axis
M569 P2 S0 ; Drive 2 goes forwards ZA ZB Axis Left Rear
M569 P3 S0 ; Drive 3 goes Forwards E0 Axis
M569 P4 S0 ; Drive 4 Goes Forwards (un-used)
M569 P5 S0 ; Drive 5 Goes Forwards Z axis Left Front
M569 P6 S1 ; Drive 6 Goes Forwards Z axis Right Front
M569 P7 S1 ; Drive 7 Goes Forwards Z axis Right Rear
M569 P8 S0 ; Drive 8 Goes Forwards Y Axis (optional)
M569 P9 S0 ; Drive 9 Goes Forwards
M584 X0 Y1 Z2:5:6:7 E3 ; Drive Mapping
M350 X16 Y16 Z4 E16 I1 ; Configure microstepping with interpolation
M92 X80.39 Y319.72 Z3190.00 E415 ; Set steps per mm
M566 X1500 Y500 Z900 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X20000 Y2000 Z50 E1200 ; Set maximum speeds (mm/min)
M201 X3000 Y2000 Z1000 E250 ; Set accelerations (mm/s^2)
M906 X2400 Y2400 Z2800 E2800 I20 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M671 X75.3:75.3:510.3:510.3 Y583.5:-69.85:-69.85:583.5 S5 ; Leadscrews at Left Rear, Left Front, Right Front, Right Rear; Axis Limits
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X577 Y518 Z609 S0 ; Set axis maxima; Endstops
M574 X2 Y1 S1 ; Set active high endstops; Z-Probe
M574 Z1 S2 ; Set endstops controlled by probe
M558 P5 I1( I0 or I1) R.8 F400 X0 Y0 Z1 ; Set Z probe type to switch and the dive height + speeds digital mode, NO/NC, delay, speed, used as Z axis endstop
G31 X0 Y0 Z-0.1 P200 ; Set Z probe trigger value, offset and trigger height X, Y, Z offsets, debounce interval
M557 X15:562 Y15:503 S150 ; Define mesh grid; Heaters
M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4725 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C; Fans
M106 P0 S1 I0 F100 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 T45 H1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F100 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P3 S100 ; Set Fan 3 (X stepper cooling) fan to 100 at power on
M106 P4 S100 ; Set Fan 4 (Y stepper cooling) fan to 100 at power on; Tools
M563 P0 D0 H1 F0 ; Define tool 0
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C; Automatic saving after power loss is enabled
M911 S21.0 R23.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000";CPU Temperature Compensation
M912 P0 S-7.8; Custom settings are not configured
"Resurrect-prologue.g"
M291 P"Set Z layer Height prior to executing this operation" S3 T0
G28 X Y ; home X and Y, hope that Z hasn't moved
M83 ; relative extrusion
G1 E4 F3600 ; undo the retraction that was done in the M911 power fail scriptSo a weird bit... After shutting down and leaving the printer for a few hours after doing so initially after the firmware update, the resurrect.g file is now in the system editor list. I'm going to do a short print to test if it stays.
-
So the resurrect.g file stayed once a print was paused.
I renamed the resurrect.g file and cancelled the print. Then renamed it back to resurrect.g and ran M98 Presurrect.g all worked as well, but for whatever reason now, instead of Home X and Y and listening for the homing switches (the Y carriage was already resting on the Y home switch and the X axis was at Zero (the home switch is at the Max position)) it completely ignored the switches the crashed the X and Y gantry (X axis tried to go the opposite direction of home, and the Y bypassed the home switch).
I had this happen once before prior to any firmware updates and corrected it, but now it seems to have reverted back to its old habits, even though i had corrected those in the past..
-
@invertmast do you mean the homing behavior was off when restarting the print or normal homing?
Can you post your resurrect-prologue.g and your homing files?
-
@phaedrux said in Macro Resurrect file not found:
@invertmast do you mean the homing behavior was off when restarting the print or normal homing?
Can you post your resurrect-prologue.g and your homing files?
it was off when restarting the print. Normal Homing is fine. I have Paused and Restarted the print (prior to cancelling and using resurrect.g) and all went well. I"m waiting on my small printer to print some repair parts, then i can check to see if the homing issue was just a one time fluke or not.
resurrect-prologue.g
G28 XY ; home X and Y, hope that Z hasn't moved
M83 ; relative extrusion
G1 E4 F3600 ; undo the retraction that was done in the M911 power fail scriptHomeAll.G
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool on Fri May 11 2018 19:21:03 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
G1 z1 F6000 S2 ; lift Z relative to current position
G1 S1 X700 Y-525 F5000 S1 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 X5 Y5 F3000 ; go back a few mm
G1 X700 Y-525 F360 S1 ; move slowly to X and Y axis endstops once more (second pass)
G1 X-288.5 Y259 F2100 ; Move to center of bed
G4 S2 ; pause for 2 seconds
G1 S1 Z-690 F800 S1 ; move Z down stopping at the endstop
G92 Z0 ; set new Z position
;G1 Z1 F100 S2 ; uncomment this line to lift the nozzle after homingHomeX.G
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool on Fri May 11 2018 19:21:03 GMT-0400 (Eastern Daylight Time)
G91 ; relative mode
G1 Z1 F200 S2 ; lower bed to avoid dragging nozzle over the bed
G1 X700 F4000 S1 ; move up to 700mm in the +X direction, stopping if the homing switch is triggered
G1 X-4 F1000 ; move slowly 4mm in the -X direction
G1 X10 S1 ; move slowly 10mm in the +X direction, stopping at the homing switch
G1 X-288.5 F8000 ; move to center of bed
G1 Z-1 F200 S2; lower the head again
G90 ; back to absolute modeHomeY.g
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool on Fri May 11 2018 19:21:03 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
G1 Z1 F6000 S2 ; lift Z relative to current position
G1 Y-525 F1500 S1 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y5 F1000 ; go back a few mm
G1 Y-525 F600 S1 ; move slowly to Y axis endstop once more (second pass)
G1 Y295 F2000 ; go to center of bed
G1 Z-1 F6000 S2 ; lower Z again
G90 ; absolute positioningHomeZ.g
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool on Fri May 11 2018 19:21:03 GMT-0400 (Eastern Daylight Time)
G91 ; relative positioning
G1 Z1 F6000 S2 ; lift Z relative to current position
G4 S1 ; pause 1 second
G1 Z-700 F1800 S1 ; move Z down until the switch triggers
G92 Z0 ; set Z position to trigger height; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z1 F100 S2 ; lift Z relative to current position
;G90 ; absolute positioning -
Well.. seems the Resurrect.g file is back now. I've used the M98 command a handful of times since the last post and it seems to work fine..
NO idea what caused the crashing problem before, it hasn't repeated itself since.
-
The resurrect.g file is created when you pause the print, or (if you have configured the power fail action using M911) power is lost. It is deleted when a print completes, or when you cancel a print after pausing it.
If you want to perform a planned power down in the middle of a print, you should:
- Pause the print
- Set the active tool to standby or idle (but don't send M0, because that will cancel the print);
- Wait for the hot end too cool;
- Then turn off power.
-
@dc42 said in Macro Resurrect file not found:
The resurrect.g file is created when you pause the print, or (if you have configured the power fail action using M911) power is lost. It is deleted when a print completes, or when you cancel a print after pausing it.
If you want to perform a planned power down in the middle of a print, you should:
- Pause the print
- Set the active tool to standby or idle (but don't send M0, because that will cancel the print);
- Wait for the hot end too cool;
- Then turn off power.
My sole purpose for the print resurrect is to "rewind" the print to a specific point (typically the beginning of a specific layer) due to some reason (nozzle jam, filament tanglement, etc) and restart from that point.
My current problem is using this method:
-
When you detect the problem, pause the print. That will create a resurrect.g file.
-
Locate the point in the original GCode file where you want to resume the print from:
Open the resurrect.g file in the System Editor and pick out the offset in the file where you paused the print. It's the long number in the S parameter of the M26 command.
Open the gcode file you were printing in Notepad++, press control-G, in the popup box select "Offset", then enter the file offset. That should take you to the line where the print would resume from if you un-paused it. Now go back as many lines of the GCode file as you want until you find the position you want to restart it from, for example at the start of the previous layer change sequence.
Place the cursor at the start of the line where you want to resume from, press control-G and select Offset again. The offset of that line will pre-populate the offset box.
Edit that new offset into the M26 S parameter in resurrect.g. -
Rename the resurrect.g file, because when you cancel the print it will be deleted!
-
After cancelling the print, rename it back to resurrect.g.
-
Then if you resurrect the print, it will restart from that point. Make sure you have set up your resurrect-prologue.g file first.
using that process always worked prior (ver-1.8ish) to upgrading to the newer firmware versions.
Now i can pause and restart prints just fine, but if i do the above, cancel the print and resurrect it using M98, the Z axis always goes somewhere other than that the Offset code in Notepad++ should dictate. For instance, i cancelled the last print at Z68.28 and did the process above with an offset that start at a previous layer height of Z57.48
My resurrect-prologue.g file is:G28 XY ; home X and Y, hope that Z hasn't moved
M83 ; relative extrusion
G1 E4 F3600 ; undo the retraction that was done in the M911 power fail scriptAnd the Resurrect.g file for the above scenario was:
; File "24in Nose Cone.gcode" resume print after print paused at 2018-12-24 11:16
M140 P0 S60.0
G10 P0 S235 R235
T0 P0
G29 S1
G92 X264.505 Y272.310 Z68.280
M98 Presurrect-prologue.g
M106 P0 S1.00
M106 P2 S1.00
M106 P3 S0.39
M106 P4 S0.39
M106 P5 S0.00
M106 P6 S0.00
M106 P7 S0.00
M106 P8 S0.00
M106 S1.00
M116
M290 S-0.600
G92 E0.00000
M83
M23 24in Nose Cone.gcode
M26 S2524245 P0.000
G0 F6000 Z70.280
G0 F6000 X264.505 Y272.310
G0 F6000 Z68.280
G1 F600.1 P0
M24When the print was resurrected, it homed X and Y properly, then start driving the Z axis well below the 57.48mm layer height setting (i finally had to hit the emergency stop as it began crashing into the print around 5-6mm below where it should of restarted printing.
The capability of restarting prints was one of the biggest reasons i chose the duet board and when this capability worked perfect right out of the box with the firmware version it was shipped with, i was extremely happy. Ever since the firmware updates though, that capability has been less and less likely to happen reliably..
-
The resurrect.g file contains a G0 Z command near the end, to resume printing from the point at which it was stopped. To use the technique you describe, you would need to either edit that command, or restart the print just before a G1 Z command in the SD card file.
The main change to the resurrect facility in recent firmware is that there is now a G92 command in resurrect.g just before the call to resurrect-prologue.g. That shouldn't make any difference if you home Z in resurrect-prologue.g.
HTH David
-
@dc42 said in Macro Resurrect file not found:
The resurrect.g file contains a G0 Z command near the end, to resume printing from the point at which it was stopped. To use the technique you describe, you would need to either edit that command, or restart the print just before a G1 Z command in the SD card file.
The main change to the resurrect facility in recent firmware is that there is now a G92 command in resurrect.g just before the call to resurrect-prologue.g. That shouldn't make any difference if you home Z in resurrect-prologue.g.
HTH David
David,
Thanks for taking the time to help work through all this. Here is the code directly at the "M26 S" offset number in the above resurrect.g; layer 96, Z = 57.480 (this is offset #2524245)
; feature outer perimeter
; tool H0.600 W1.440
G1 Z57.480 F50To make sure i'm understanding what your saying, instead of using the Offset # of 2524245, i should use the offset # Associated with the "G1 Z57.480 F50" line as shown above,
Or
I should modify the G0 F6000 Z68.280 line to show "G0 F6000 Z(insert start point Z height here)"? -
@invertmast I've done pretty close to what you're talking about recently, but I didn't use the resurrect functionality. I have been using some stonefil filament that is very brittle and has a tendency to break mid print. I caught the break quickly and paused the print and canceled it. I found the layer height and edited the gcode file to remove all the layers before the one I wanted to restart at. I homed X and Y and sent M92 Z whatever to rehome since canceling the print turned off the motors. My Z axis doesn't drop when power removed so it doesn't need to be actually rehomed. I restarted the print with the edited gcode file, it did all the preamble warm up, moved to the proper z height, and restarted printing. I guess it never even occurred to me to use the resurrect function because I wanted to go back a bit rather than to where I paused it.
-
@phaedrux said in Macro Resurrect file not found:
@invertmast I've done pretty close to what you're talking about recently, but I didn't use the resurrect functionality. I have been using some stonefil filament that is very brittle and has a tendency to break mid print. I caught the break quickly and paused the print and canceled it. I found the layer height and edited the gcode file to remove all the layers before the one I wanted to restart at. I homed X and Y and sent M92 Z whatever to rehome since canceling the print turned off the motors. My Z axis doesn't drop when power removed so it doesn't need to be actually rehomed. I restarted the print with the edited gcode file, it did all the preamble warm up, moved to the proper z height, and restarted printing. I guess it never even occurred to me to use the resurrect function because I wanted to go back a bit rather than to where I paused it.
prior to the firmware upgrade it was a HUGE benefit to me. I would start a 14-16hr print and have to leave for whatever reason. I may of been gone 1 hour, or 6, but if it messed up, it was easy enough to rewind the print by just changing that Offset number. Now with the process seemingly have changed, it will be nice to be able to have that feature again.
I just lost 3 hours on the latest print due to the filament coming unspooled (i use 25kg spools and the spool holder is extremely friction free to allow the filament to come off easily, but occasionally it comes off over the spool ends and wraps around the rotation bar the spool is on and "kinks" causing it to get tangled and no longer move..im still trying to figure out how to fix this). If i would of been able to use the resurrect function, i would of only been out 30 minutes of print time... oh well. The joys and frustrations of a rapidly growing hobby and learning new things.
-
@invertmast said in Macro Resurrect file not found:
25kg spools
2 ways to maybe help with the filament coming off the edges of the spool. 1. Add a cardboard barrier to the spool to give it a much higher lip. 2. Lay a towel on top of the filament spool so that it drags across the inside of the spool weighing down the filament but not impeding rotation. Some industrial machines use plastic flaps or the like.
-
@phaedrux said in Macro Resurrect file not found:
@invertmast said in Macro Resurrect file not found:
25kg spools
2 ways to maybe help with the filament coming off the edges of the spool. 1. Add a cardboard barrier to the spool to give it a much higher lip. 2. Lay a towel on top of the filament spool so that it drags across the inside of the spool weighing down the filament but not impeding rotation. Some industrial machines use plastic flaps or the like.
yea i know.. 25kg spools, i've gone through 1 in about 2 1/2 months, have 2 more 25kg spools a 15kg and a 10kg.... that doesn't even include all of the little 1kg ones i have. lol
thats kind of what i figured. Right now i have a trash can with some foam packaging sticking out shoved under the spool and its working.
I'll probly end up printing some sort of contraption to mount to the spool holder that will allow adjustable tensioning since i have some 10 and 15kg spools as well.
-
I don't know if it will fit a 25kg spool, but maybe it can be scaled up.
https://drmrehorst.blogspot.com/2017/11/3d-printer-spool-holder-design.html
-
@phaedrux said in Macro Resurrect file not found:
I don't know if it will fit a 25kg spool, but maybe it can be scaled up.
https://drmrehorst.blogspot.com/2017/11/3d-printer-spool-holder-design.html
actually i printed something like that originally but the weight of the spool proved to be to much for the extruder to roll the spool on the holder (it was support by 8 ball bearings and 3D printed parts). Currently i have 2 cups that slide over a 3/4" aluminum tube that makes the aluminum tube fit the spool holes nicely, the tube then has machined ends to adapt skateboard ball bearings to it, then it rests in a combination of G10 plate and 3D printed holders hung off the side of the machine. Its kind of crude, but works amazingly well (to well really.. lol). I'll have to post photo's of this monstrosity later on.
-
I don't have massive spools, but I also use a bearing hub to keep them rolling smoothly, and I had the same problem of over rotation and the filament coming off the edges and getting tangled. I added a reverse bowden tube that went from a block fixed to the printer frame and then to the extruder, but it wasn't actually attached to the extruder. This allowed a fair amount of filament to be unspooled into the PTFE tube and added a bit of friction as well.
There might be a picture of what I mean in the link in my signature.
-
@phaedrux said in Macro Resurrect file not found:
I don't have massive spools, but I also use a bearing hub to keep them rolling smoothly, and I had the same problem of over rotation and the filament coming off the edges and getting tangled. I added a reverse bowden tube that went from a block fixed to the printer frame and then to the extruder, but it wasn't actually attached to the extruder. This allowed a fair amount of filament to be unspooled into the PTFE tube and added a bit of friction as well.
There might be a picture of what I mean in the link in my signature.
i have a setup like that to! lol. Its dangling though and i have thought about moving the spool up the printer frame so the bowden tube actually hangs below the spool Centerline hoping that will straighten things out. My trashcan is working pretty well right now though. haha