Macro Resurrect file not found



  • Ever since upgrading to the firmware 2.02RC4, anytime i try to use M98 Presurrect.g to resume a failed print, the Warning message "Macro resurrect file not found" pops up on DWC..

    I never had this problem before upgrading out of firmware 1.8 ( i believe, its what the board was shipped with) and its really getting to the point that i'm about ready to shoot something in frustation.

    running " M98 P/macros/test " as suggested in a different topic yeilds a file not found as well..

    YES, the Resurrect.g file is in the System editor under Settings

    And

    i have even tried making my own Resurrect.g file under the macro's folder and it doesn't work that way either





  • @phaedrux said in Macro Ressurrect file not found:

    Did you mean resurrect? With one S.

    https://duet3d.dozuki.com/Wiki/Setting_up_to_resume_a_print_after_a_power_failure

    Yes, just one S in Resurrect, still "file not found"



  • From the linked documentation

    After the power is restored, you can use command M916 to resume the print from where it stopped. This command runs file sys/resurrect.g which calls sys/resurrect-prologue.g at an appropriate point to home the printer

    Have you tried that?


  • administrators

    Do you still have this problem when using 2.02RC6? If so, does the following work:

    M98 Phomeall.g

    or try homedelta.g if your printer is a delta.



  • @phaedrux said in Macro Ressurrect file not found:

    From the linked documentation

    After the power is restored, you can use command M916 to resume the print from where it stopped. This command runs file sys/resurrect.g which calls sys/resurrect-prologue.g at an appropriate point to home the printer

    Have you tried that?

    I have not.. i'll give it a shot.



  • @dc42 said in Macro Ressurrect file not found:

    Do you still have this problem when using 2.02RC6? If so, does the following work:

    M98 Phomeall.g

    or try homedelta.g if your printer is a delta.

    I originally installed (I believe) 2.02RC5 but was experiencing issues with the print resurrect not working properly and crashing into the part. So i reverted back to 2.02RC4 since that was the latest firmware that seemed to not have that problem, from what research i did here.

    I have been out of town for work the past week, so didn't see that RC6 was released, once i get some of these prints done, i'll upgrade to RC6 and let you know.

    Thanks!



  • @dc42 said in Macro Resurrect file not found:

    Do you still have this problem when using 2.02RC6? If so, does the following work:

    M98 Phomeall.g

    or try homedelta.g if your printer is a delta.

    I upgraded to 2.02RC6. began a print and then paused it. Once paused, i went to the System Editor list and no Resurrect.g file was made for the print.

    M98 Presurrect.g still produces the "warning: Macro Resurrect.g not found"

    M98 Phomeall.g works fine and all axis' home to their position.



  • 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 script

    So 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 script

    HomeAll.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 homing

    HomeX.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 mode

    HomeY.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 positioning

    HomeZ.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.


  • administrators

    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:

    1. When you detect the problem, pause the print. That will create a resurrect.g file.

    2. 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.

    3. Rename the resurrect.g file, because when you cancel the print it will be deleted!

    4. After cancelling the print, rename it back to resurrect.g.

    5. 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 script

    And 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
    M24

    When 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..


  • administrators

    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 F50

    To 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.


Log in to reply