Trying to change feed length from selector to extruder
Hello,
I have an MMU3 running the latest firmware on an MK3S+ also running the latest firmware. I increased the length of the tube from the selector to the extruder because I felt it was bending too much and causing too much friction. Things work fine. It feeds the standard length, and then it slows down, finishes feeding to the extruder, and then starts printing. But, as many have pointed out, this slows things down a lot on long prints with a lot of changes.
I've done some research and the only solution I've found is to recompile the firmware, which I don't think is a sustainable option (as I'd have to recompile the firmware every time there is an upgrade). I know with the MMU2 you could do this with the Service Menu, but there is no Service Menu with the MMU3. Instead it's been replaced my M707 and M708 as described here.
I tried sending an M707 to read a register, but the problem I am having is that the MMU is sending data over the terminal non-stop, and doesn't seem to respond to M707 command.
In my terminal I'm seeing this over and over again.
Recv: echo:MMU2:>Q0*ea. Recv: echo:MMU2:<X0 F0*87. Recv: echo:MMU2:>R8*81. Recv: echo:MMU2:<R8 A0*8d. Recv: echo:MMU2:>R1b*9e. Recv: echo:MMU2:<R1b A5*29. Recv: echo:MMU2:>R1c*88. Recv: echo:MMU2:<R1c A5*f6. Recv: echo:MMU2:>R4*7b. Recv: echo:MMU2:<R4 A40*3d. Recv: echo:MMU2:>R1a*f5. Recv: echo:MMU2:<R1a A0*41. Recv: echo:MMU2:>Q0*ea. Recv: echo:MMU2:<X0 F0*87. Recv: echo:MMU2:>R8*81. Recv: echo:MMU2:<R8 A0*8d. Recv: echo:MMU2:>R1b*9e. Recv: echo:MMU2:<R1b A5*29. Recv: echo:MMU2:>R1c*88. Recv: echo:MMU2:<R1c A5*f6. Recv: echo:MMU2:>R4*7b. Recv: echo:MMU2:<R4 A40*3d. Recv: echo:MMU2:>R1a*f5. Recv: echo:MMU2:<R1a A0*41.
(Which is weird because it's an MMU3 that I upgraded from an MMU2S.) When I send the M707, it says "OK" but doesn't give any other information.
Is there any way to change the settings to set the distance between the selector and the extruder, and if it's M707 and M708, what am I doing wrong?
Thanks!
RE: Trying to change feed length from selector to extruder
are you adding the address to the M707 command? Here's a reply I gave to someone on reddit on how this is done. You've probably already figured this out, but just in case:
To read what the MMU3 bowden tube length is set for:
M707 A0x022
For this command I receive:
Send: M707 A0X22 Recv: MMU Register value: 360
This is because I have set my bowden tube length to 360mm.
Suppose you want to set your length to 550mm, just as an example. You'd send:
M708 A0x22 X550
Even though there is an X in front of the 550, you do NOT do any conversion between hex and decimal. Just specify the length in millimeters. Notice it is M708, not 707.
This value is stored in EEPROM, meaning you only need to send this command once. I did it via octoprint; if you don't have/use that, you can just put your M708 command in one of the custom gcode sections of the slicer, so it gets sent at the beginning of a print. Or make a g-code file with just that one command and 'print' it, whatever you need to do to get that command sent.
Once you've changed that value, when you watch the MMU load filament, it should go quickly right about to the entrance to the extruder, before it slows down until the extruder senses the filament. Tweak the value as needed; I just measured the length of the PTFE tube before installing it, and seems to work perfect.