Printer: Prusa i3 Mk3 with MMU2.0
When using the printer in MMU Single Mode, and configuring a color change using ColorPrint, the M600 command is properly inserted. When the resulting G-code is processed, the startup up includes prompting the user to select which extruder to use. The first color prints normally.
When the M600 command is processed, the print head parks, and the filament is unloaded by the MMU. Resuming the print will reload the same extruder to the nozzle, with no opportunity for the user to select a different extruder to use for the next color. Even if the MMU is manually set to use a different extruder, when the print is continued, the MMU moves back to the extruder selected at the beginning of the print job.
This means, in order to actually change colors, the filament must be completely removed from the MMU, and the new filament inserted into that extruder path on the MMU. This is cumbersome and completely unnecessary.
At line 572-573 in mmu.cpp, there is code to ask the user if they want to switch to a different extruder. If the answer is yes, then the choose_extruder_menu() function is called again to select a new extruder. However, these lines are inside an #ifdef block, with a tag of MMU_M600_SWITCH_EXTRUDER. This tag is not defined anywhere else in the code base, effectively commenting out lines necessary to switch the print to a different MMU filament path.
There may be a reason for disabling this feature. If so, please correct the other issues so this feature can be re-enabled. If this was merely an oversight, please either remove the #ifdef block around this code, or properly define the MMU_M600_SWITCH_EXTRUDER flag in mmu.h. I would be happy to provide a pull request for this change, if you'd prefer.
Just run into same issue today. :-( If the printer would keep MMU head in place, that way one could switch filament manually before loading and resuming the print.
Menu on display would be nice, but at least please allow to continue with different "current" MMU position.
Also experienced this today as well.
Mine is the MK3S & MMU2S and have the same issue. Really a bummer, I love multi color prints that the MMU2 offers but I sometimes just want to do it the old way with M600.
2.5s/MMU2s upgraded from an mmu1 here and just hit this issue as well. Very disappointed to find this is the case after trying the feature using prusaslicer.
Uploaded pull request #1881 to implement this feature. Using it here, works as expected (though it does not fix any other minor MMU extruder switching bugs ;-)
Thank you! I've grabbed your branch and I'll try to test it out tomorrow.
I tried the patch applied to the official 3.7.1 branch on my MK3S + MMU2S today and it worked like a charm.
Thanks @xiphmont :-)
I applied the patch from @xiphmont to official 3.8.0 and it worked perfectly on my MK3S MMU2S. Hopefully PrusaSlicer's Color Print feature will be able to assign different extruders someday...
Thank you!
Actually there is (still very cumbersome and annoying) workaround to get the filament changed during the print. Here are the steps:
I hope this helps those of you who cant or dont want to change the firmware.
Having the MMU and being unable to switch filaments while paused without resorting to pausing again right after it already paused the first time is really frustrating. I would love to see this fixed.
If anyone is interested, I made patched prebuilt firmware from 3.9.1-RC1:
https://github.com/darBis/Prusa-Firmware/releases/tag/v3.9.1-RC1-M600p
I have tested it on my MK3S and works fine.
Also very frustrating by this little thing ...
Hope will be released soon in OFW !
Has this been fixedor is the Patch by darBis the only way to make that work? Anybody else test that FW? I'd prefer not to move to a possibly unstable RC version when OFW is available as well.
As far as I'm aware they aren't going to do the patch. They did update the prusa slicer so you can change filament by layer height instead of just getting the m600 command so I've been using that as my work around.
@sioux612
Has this been fixedor is the Patch by darBis the only way to make that work? Anybody else test that FW? I'd prefer not to move to a possibly unstable RC version when OFW is available as well.
Hi, I am using it on my machine without issues, but I understand your worries.
I am going to publish patched 3.9.1 soon.
Just that there is no doubt, the patch was created by @xiphmont, I only applied it to a more recent firmware. I don't want to steal any credit. ;-)
Patch applied to 3.9.1 and prebuilt for download here: https://github.com/darBis/Prusa-Firmware/releases/tag/v3.9.1-M600p
Tested on my MK3S.
Most helpful comment
Uploaded pull request #1881 to implement this feature. Using it here, works as expected (though it does not fix any other minor MMU extruder switching bugs ;-)