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

    G30 during G28 issue

    Scheduled Pinned Locked Moved Solved
    My Duet controlled machine
    7
    55
    871
    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.
    • Leonard03undefined
      Leonard03
      last edited by

      Started now a print. Pause and resume works as expected, skew compensation is active

      Axis compensations - XY: 0.00690, YZ: 0.00000, ZX: 0.00000
      

      Inducing a "power failure" and resuming:

      Axis compensations - XY: 0.00690, YZ: 0.00000, ZX: 0.00000
      

      So skew compensation is still active and correctly applied, but the shift is there

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

        @Leonard03 please post your resurrect.g file (after pausing) and your resurrect-prolog.g file.

        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

        Leonard03undefined 1 Reply Last reply Reply Quote 0
        • Leonard03undefined
          Leonard03 @dc42
          last edited by

          @dc42 This a ressuregt.g after a print that had a shift, that I cancelled

          ; Resume printing file "0:/gcodes/xyzCalibration_cube,0.2mm,PLA,Anycubic PLA Pantone Spring Leaf,25m.gcode" after print paused at 2025-05-19 21:06
          M140 P0 S60.0
          G29 S1
          M568 P0  A0 S210 R170
          M568 P1  A0 S210 R170
          M568 P2  A0 S210 R170
          M568 P3  A0 S210 R170
          M568 P4  A2 S210 R170
          G21
          M98 P"resurrect-prologue.g" X144.359 Y141.863 Z3.400 U57.000 V0.000 W17.998
          M290 R0 X0.000 Y0.000 Z0.000 U0.000 V0.000 W0.000
          M205 X10.00 Y10.00 Z0.40 U1.00 V4.00 W0.10
          ; Workplace coordinates
          G10 L2 P1 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P2 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P3 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P4 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P5 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P6 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P7 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P8 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          G10 L2 P9 X0.00 Y0.00 Z0.00 U0.00 V0.00 W0.00
          M486 S-1
          T4
          G54
          M106 S0.99
          M116
          G92 E1.83369
          M83
          G94
          G17
          M23 "0:/gcodes/xyzCalibration_cube,0.2mm,PLA,Anycubic PLA Pantone Spring Leaf,25m.gcode"
          M26 S54031
          G0 F6000 Z5.400
          G0 F6000 X144.359 Y141.863 U57.000 V0.000 W17.998
          G0 F6000 Z3.400
          G1 F1871.0 P0
          M204 P1000.0 T2000.0
          G21
          M106 P0 S0.99
          M302 P0
          M24
          
          

          And this is resurrect-prologue.g

          M17 E0
          
          G28 X Y						; home X and Y, hope that Z hasn't moved
          if global.MMUmode = true
          	M98 P"0:/sys/MMU Control/homeMMU.g"
          
          G91
          G1 Z-5
          

          Please have a look at this description

          @Leonard03 said in G30 during G28 issue:

          Reenable the extruder stepper (this is a very old bug in RRF. I can't use the MMU to load filament if the extruder stepper is disabled, so enable it before anything else)
          Home X and Y axis (Z axis has never been disabled)
          Rehome the MMU (UVW axis)
          Lower the Z axis (I can't remember exactly why this is necessary, but it works)
          And after, RRF executes ressurrect.g.
          Until now, is anything that seems out of place?

          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @Leonard03
            last edited by droftarts

            @Leonard03 We are homing in on a bug, related to applying the skew compensation when axes are homed at the same time. In 3.5.4, this worked correctly, but now doesn't seem to.

            The difference is in how the skew compensation is applied. "resurrect-prologue.g" needs to run just X and Y homing, it runs home X, then home Y. Skew compensation is applied to X once Y is homed. In homeall.g, X and Y are homed at the same time, but doesn't seem to apply skew compensation until after the first move, which is when the axes move to resume the print, so will be in the wrong place.

            A workaround for now is to modify your homeall.g so it homes X, then Y, rather than both at the same time. Either replace the X and Y homing lines with the lines from homex.g and homey.g, or as @fcwilt mentioned earlier in this thread, replace them by calling the homex.g and homey.g macros, eg

            M98 P"homex.g"
            M98 P"homey.g"
            

            Then it should resurrect in the same place. @dc42 is working on a fix.

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            Leonard03undefined 2 Replies Last reply Reply Quote 1
            • Leonard03undefined
              Leonard03 @droftarts
              last edited by

              @droftarts Interesting point of view. All right, I'm trying this now and report back

              1 Reply Last reply Reply Quote 0
              • Leonard03undefined
                Leonard03 @droftarts
                last edited by Leonard03

                @droftarts Tried the suggested workaround
                Umm.. I don't know what to say
                I've modified the homeall.g from:

                ; homeall.g
                ; called to home all axes
                ;
                ; generated by RepRapFirmware Configuration Tool v3.2.0 on Tue Dec 29 2020 16:23:44 GMT+0200 (Eastern European Standard Time)
                
                G91							; relative positioning
                G1 H2 Z5 F6000				; lift Z relative to current position
                G1 H1 X-320 Y-306 F1800		; move quickly to X and Y axis endstops and stop there (first pass)
                G1 X5 Y5 F6000				; go back a few mm
                G1 H1 X-320 Y-306 F240		; move slowly to X and Y axis endstops once more (second pass)
                G1 H1 Z-405 F240			; move Z down stopping at the endstop
                
                G90							; absolute positioning
                G1 Z5
                G1 X{(310/2)-sensors.probes[0].offsets[0]} Y{(310/2)-sensors.probes[0].offsets[1]} F6000
                G30
                G1 X0 Y0
                
                if global.MMUmode = true
                	M98 P"0:/sys/MMU Control/homeMMU.g"
                

                to

                ; homeall.g
                ; called to home all axes
                ;
                ; generated by RepRapFirmware Configuration Tool v3.2.0 on Tue Dec 29 2020 16:23:44 GMT+0200 (Eastern European Standard Time)
                
                M98 P"homex.g"
                M98 P"homey.g"
                G1 H1 Z-405 F240			; move Z down stopping at the endstop
                
                G90							; absolute positioning
                G1 Z5
                G1 X{(310/2)-sensors.probes[0].offsets[0]} Y{(310/2)-sensors.probes[0].offsets[1]} F6000
                G30
                G1 X0 Y0
                
                if global.MMUmode = true
                	M98 P"0:/sys/MMU Control/homeMMU.g"
                

                Is an improvement, still shifted but way less then before
                20250520_210957.jpg
                From left to right: No skew compensation, in homeall.g homing both X and Y at the same time and the last is calling independent macros in homeall.g
                The shift is reduced from 2mm to 1mm

                Update: if during a pause I rehome X or Y the print resume at the right position

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @Leonard03
                  last edited by

                  @Leonard03 Okay, thanks for testing! Back to the drawing board...

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  Leonard03undefined 1 Reply Last reply Reply Quote 0
                  • Leonard03undefined
                    Leonard03 @droftarts
                    last edited by

                    @droftarts sorry... 😐

                    droftartsundefined 1 Reply Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @Leonard03
                      last edited by

                      @Leonard03 Are you still using RRF 3.6.0-rc3+2 firmware?

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      Leonard03undefined 1 Reply Last reply Reply Quote 0
                      • Leonard03undefined
                        Leonard03 @droftarts
                        last edited by

                        @droftarts Yes, 3.6.0-rc.3+2 (2025-05-19 11:46:09)

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

                          @Leonard03 please try this firmware.

                          Duet2CombinedFirmware.bin

                          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

                          Leonard03undefined 1 Reply Last reply Reply Quote 1
                          • Leonard03undefined
                            Leonard03 @dc42
                            last edited by

                            @dc42 Thank you very much! I confirm that this issue is solved! Works very ewll 😊
                            Also, thank you to everyone for every input and all the support !

                            1 Reply Last reply Reply Quote 0
                            • Leonard03undefined Leonard03 has marked this topic as solved
                            • First post
                              Last post
                            Unless otherwise noted, all forum content is licensed under CC-BY-SA