Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQUEST] New Gcode to set the minimum safe Z height for crash detect rehome. #3419

Closed
ggppjj opened this issue Feb 18, 2022 · 8 comments · Fixed by #4679
Closed
Labels
feature request A request for adding a specific feature of change of behaviour
Milestone

Comments

@ggppjj
Copy link

ggppjj commented Feb 18, 2022

Please, before you create a new feature request, please make sure you searched in open and closed issues and couldn't find anything that matches.

If it makes sense, enter what type of printer or upgrade the feature request applies to.
Printer type - MK3S+
MMU Upgrade - MMU2

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I was printing an MMU print with no sparse layers enabled, and had a crash detect on the wipe tower after it was lower than the printed object in the bottom left of the build plate. It entered a crash detect loop after incorrectly rehoming against the print.

Describe the solution you'd like
A clear and concise description of what you want to happen.
A Gcode that allows the slicer to inform the printer of the minimum safe z-height for rehome would allow the printer to rehome correctly when objects are printed individually.

@ggppjj ggppjj added the feature request A request for adding a specific feature of change of behaviour label Feb 18, 2022
@mmalecki
Copy link

mmalecki commented Jul 13, 2022

I've also ran into this problem. Another approach I've pondered is recording maximum Z-height visited during print, and then moving to that + MMU pause Z-lift, but there doesn't appear to be a clean way to approach that.

Alternative solution that could work, that doesn't involve custom Gcode, would be to implement G60 and G61 (save and restore position). After layer change, we'd then G60 S0 (save position in slot 0), and on MMU error, before moving to MMU pause position, we'd G61 S0 Z (move to saved position in slot 0, limited to Z axis).

mmalecki added a commit to mmalecki/Prusa-Firmware that referenced this issue Jul 13, 2022
Implement simplified G60 and G61 - no slots.
Emit G60 in the slicer after layer change.

Ref prusa3d#3419.
@mmalecki
Copy link

mmalecki commented Jul 13, 2022

I hacked this together. Will test it over the coming days - initial test was a failure (print didn't resume after MMU OK), but I think the idea may be sound.
Edited to add: second test was a failure as well, with the same failure mode. I've yet to compare to just MK3 branch - it could be something there, and not my patch, but I doubt it.

mmalecki added a commit to mmalecki/Prusa-Firmware that referenced this issue Jul 13, 2022
Implement simplified G60 and G61 - no slots. Use existing `saved_pos` to
save on RAM. MMU doesn't appear to fully support power panic when in
pause anyway.
Emit G60 in the slicer after layer change.

Ref prusa3d#3419.
mmalecki added a commit to mmalecki/Prusa-Firmware that referenced this issue Jul 13, 2022
Implement simplified G60 and G61 - no slots. Use existing `saved_pos` to
save on RAM. MMU doesn't appear to fully support power panic when in
pause anyway.
Emit G60 in the slicer after layer change.

Ref prusa3d#3419.
@Prusa-Support
Copy link
Collaborator

Hello! Thank you @ggppjj for the request and @mmalecki for sharing the possible solution for this. I brought this to our devs attention, so that they can further review and evaluate this. We'll update here in case of more info from our side - of course, any more feedback anyone might have is absolutely welcome and appreciated!

Alessandro Pantaleo
Prusa Research

@ggppjj
Copy link
Author

ggppjj commented Oct 25, 2022

Thank you Alessandro!

It is my hope that this can be evaluated for inclusion on the still-forming 3.13.0 milestone, I am of the opinion that it would be a nice polish to an otherwise excellent feature that would fit nicely into the overall theme of MMU fixes that 3.13.0 appears to target, and also have the added benefit of shoring up the "print objects individually" functionality and could more reliably allow print farm operators to keep automatic crash detection enabled for example (although I admit that the last point is only a hypothetical on my part, not operating or working with anyone operating a print farm myself or knowing their settings preferences).

Copy link

github-actions bot commented Nov 7, 2023

This issue has been flagged as stale because it has been open for 60 days with no activity. The issue will be closed in 7 days unless someone removes the "stale" label or adds a comment.

@3d-gussner
Copy link
Collaborator

@gudnimg Please have a look at this feature request and the approach by @mmalecki #3419 (comment)

3d-gussner added a commit to 3d-gussner/Prusa-Firmware that referenced this issue May 2, 2024
With `M125 Z<value>` you can set the Z lift value via gcode as requested.
Fixes prusa3d#3419
@3d-gussner 3d-gussner added this to the FW 3.14.1 milestone May 2, 2024
@3d-gussner
Copy link
Collaborator

@ggppjj Thanks for the feature request.
In FW 3.14.0 you will be able to use M125 Z<lift value> to change the Z lift height.

@ggppjj
Copy link
Author

ggppjj commented May 8, 2024

Thank you!

Glad to be of help, if only to start a conversation.

andiwirs pushed a commit to andiwirs/Prusa-Firmware-Bear that referenced this issue Jul 11, 2024
With `M125 Z<value>` you can set the Z lift value via gcode as requested.
Fixes prusa3d#3419
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request A request for adding a specific feature of change of behaviour
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants