[feature or bug][3.5.0-rc.3] G10 retract z-hop ignores homing
-
G10 with z-hop configured ignores homing state of z-axis.
M207 S1.50 R0 F2000 T2000 Z3.5 ; retraction
Tested on:
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.5.0-rc.3+ ELECTRONICS: Duet 3 MB6HC v1.02 or later FIRMWARE_DATE: 2024-02-04 11:40:04
in SBC Mode.
Is it a feature or a bug?
Tim
-
@timschneider is this a problem, if it still hops by the configured amount? Or have you found that it doesn't?
-
@dc42 oh yes, it is a problem, I was probing around with an unhomed printer and tried to reproduce an error I had in the last print where I was unable to acknowledge a blocking messages while printing. So I started a jobfile with no movements and only a G4 init to put the printer into paused state. The printbed was at its max and unhomed, when I cancled the print, the printer tried to move the printbed further in the max position with a strong sound. So I started to investigate and put a
if move.axes[2].homed
infront of every z movemend command - but the problem was still there until I stumbled over the G10. after putting aif move.axes[2].homed
infront of the G10, the problem was gone.
I was not sure if it is a feature or bug, but at least it is some sort of inconsistency, as the tool/extruder is not driven when it is not heated up with G10, even if it tries to. -
@dc42
ok, my use pattern was the cause of the "problem"The problem occures when you do the following:
printer is unhomed
T0 active and Z-Hop configured
M207 S0.45 R0 F2000 T2000 Z0.5 ; retract for PLA
content of cancel.g
G10 M99
content of pause.g
M99
content of jobfile.g
T0 G4 S10
- start jobfile.g
- pause printjob via DWC (M24)
- cancel printjob via DWC (M0)
- repeat the above steps and the z-axis will accumulate the z-hops, 0.0, 0.5, 1.0, 1.5 ... and so on
it looks like, cancel is resetting the retration state without undoing the retraction/z-hop if it was retracted and is adding the z-hop to the current z-axis position.
M115
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.5.0-rc.3 ELECTRONICS: Duet WiFi 1.02 or later + DueX5v0.11 FIRMWARE_DATE: 2024-01-24 17:56:24
//Edit
there is no difference if the printer is homed or not - G10 and cancel will ignore machine limits.ok this would explaine another usecase we often use.
If we have very long printjobs > 1 week, we sometimes use M916 to change the gcode mid print.- pause print
- cancel print
- change jobfile
- edit resurrect.g
- M916
and sometimes the z-position does not match the current machine position from the printhead (the printhead is a few mm above the printed object)
-
@timschneider thanks. Please file an issue at https://github.com/Duet3D/RepRapFirmware/issues.
I think a related issue is that there will be a problem if the current machine Z height plus the Z hop amount exceeds the Z maximum defined in M208. You could mention this in your issue report too.