G30 during G28 issue
-
@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
-
@droftarts Interesting point of view. All right, I'm trying this now and report back
-
@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
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 1mmUpdate: if during a pause I rehome X or Y the print resume at the right position
-
@Leonard03 Okay, thanks for testing! Back to the drawing board...
Ian
-
@droftarts sorry...
-
@Leonard03 Are you still using RRF 3.6.0-rc3+2 firmware?
Ian
-
@droftarts Yes, 3.6.0-rc.3+2 (2025-05-19 11:46:09)
-
@Leonard03 please try this firmware.
-
@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 ! -
undefined Leonard03 has marked this topic as solved
-
@Leonard03 thanks for your feedback and for testing all these firmware builds.