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

Leave user's MMU-loaded filament loaded after first layer cal #4212

Conversation

mmalecki
Copy link

Presently, if user runs the first layer calibration with the filament that's been loaded into the nozzle by MMU, this filament will be unloaded after the calibration is complete.

This behavior seems unexpected from user experience point of view: if you load a filament into the nozzle and proceed to first layer calibration, you did so for a reason and probably don't want it unloaded after the first try (just like you wouldn't want it unloaded if you did so without the MMU).

Any other filament that's not been previously loaded into the nozzle is fair game to unload (as it was before).

I was, sadly, unable to test this. I successfully flashed this firmware onto my printer, but I was unable to find the applicable MMU firmware version/build process. (There used to be a MMU2_dev branch here that I'd hoped would contain the latest developments but it seems gone?)

Presently, if user runs the first layer calibration with the filament
that's been loaded into the nozzle by MMU, this filament will be
unloaded after the calibration is complete.

This behavior seems unexpected from user experience point of view: if
you load a filament into the nozzle and proceed to first layer
calibration, you did so for a reason and probably don't want it unloaded
after the first try (just like you wouldn't want it unloaded if you did
so without the MMU).

Any other filament that's not been previously loaded into the nozzle is
fair game to unload (as it was before).
@DRracer
Copy link
Collaborator

DRracer commented May 22, 2023

@mmalecki Please note that a printer equipped with an MMU shall behave like one machine. That implies after each print the filament used gets unloaded. Also, any print is started without filament loaded and the loading is completely handled by the printer+MMU machine.

Therefore we unload filament after doing first layer calibration.

Regarding the latest development of the MMU - please hold on, we are polishing the code, it is coming really soon.

@mmalecki
Copy link
Author

mmalecki commented Jun 1, 2023

I understand the semantics here and I'm a fan of it for multi-filament handling, however, doesn't "Load into nozzle" imply the user intending to switch to a "single filament mode", where, for example, they can run GCode sliced for a MK3s+ with no MMU?
We don't unload the filament after the print is finished in this case, and IMO, I don't think we should do it after the first layer calibration either.

Just to reiterate: this only prevents the unloading of filament explicitly loaded into nozzle by the user beforehand, if the user picks it for first layer cal. It will unload any other filament that's been picked for first layer cal and loaded by MMU. It uses the same logic as the purge line length determination.

Regarding the latest development of the MMU - please hold on, we are polishing the code, it is coming really soon.

Gotcha, looking forward to it!

@Prusa-Support
Copy link
Collaborator

Thank you for creating this pull request.

Based on our extensive tests, leaving the filament loaded into the nozzle at the end of a print may frequently cause problems that require major manual user interaction. According to our tests, the first layer calibration print is no exception.

Theoretically, the only truly safe condition for the printer and the MMU module to smoothly operate together is if the filament is always withdrawn: ideally, the filament should never be loaded into the nozzle unless the printer is actively busy in printing/extruding operations.
Otherwise, we would almost intentionally expose the user to known rather problematic scenarios.

As a result, our developers couldn't merge this pull request and sadly we have no option but to close it.
Thank you for your effort and for your understanding.

Michele Moramarco
Prusa Research

@Ro3Deee
Copy link

Ro3Deee commented Aug 3, 2023

I confirm, from my experience, that leaving the filament loaded causes issues. Better to withdraw it.

@mmalecki mmalecki deleted the first-layer-cal-leave-users-filament-loaded branch November 24, 2023 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants