Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Macro Resurrect file not found

    Scheduled Pinned Locked Moved
    General Discussion
    3
    26
    2.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • invertmastundefined
      invertmast @Phaedrux
      last edited by

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

      invertmastundefined 1 Reply Last reply Reply Quote 0
      • invertmastundefined
        invertmast @invertmast
        last edited by

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

        Phaedruxundefined 1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator @invertmast
          last edited by

          @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?

          Z-Bot CoreXY Build | Thingiverse Profile

          invertmastundefined 1 Reply Last reply Reply Quote 0
          • invertmastundefined
            invertmast @Phaedrux
            last edited by invertmast

            @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

            1 Reply Last reply Reply Quote 0
            • invertmastundefined
              invertmast
              last edited by

              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.

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by dc42

                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.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                invertmastundefined 1 Reply Last reply Reply Quote 0
                • invertmastundefined
                  invertmast @dc42
                  last edited by

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

                  Phaedruxundefined 1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators
                    last edited by dc42

                    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

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    invertmastundefined 1 Reply Last reply Reply Quote 0
                    • invertmastundefined
                      invertmast @dc42
                      last edited by

                      @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)"?

                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator @invertmast
                        last edited by

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

                        Z-Bot CoreXY Build | Thingiverse Profile

                        invertmastundefined 1 Reply Last reply Reply Quote 0
                        • invertmastundefined
                          invertmast @Phaedrux
                          last edited by invertmast

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

                          Phaedruxundefined 1 Reply Last reply Reply Quote 0
                          • Phaedruxundefined
                            Phaedrux Moderator @invertmast
                            last edited by

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

                            Z-Bot CoreXY Build | Thingiverse Profile

                            invertmastundefined 1 Reply Last reply Reply Quote 0
                            • invertmastundefined
                              invertmast @Phaedrux
                              last edited by invertmast

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

                              1 Reply Last reply Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator
                                last edited by

                                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

                                Z-Bot CoreXY Build | Thingiverse Profile

                                invertmastundefined 1 Reply Last reply Reply Quote 0
                                • invertmastundefined
                                  invertmast @Phaedrux
                                  last edited by

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

                                  1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator
                                    last edited by

                                    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.

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    invertmastundefined 1 Reply Last reply Reply Quote 0
                                    • invertmastundefined
                                      invertmast @Phaedrux
                                      last edited by

                                      @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

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post
                                      Unless otherwise noted, all forum content is licensed under CC-BY-SA