M200 Filament Diameter not applying when run in tool macro files
-
@phaedrux Sorry, missing the basics. I'm on 3.3 at the moment, due to it being the STM32 version from TeamGloomy running on a BigTreeTech GTR. Latest release from them. It's a self build paste extruding machine (syringes).
M200 is applying when run within a macro or from config.g. So far it seems only the tool change files are the issue.
-
@littlehobbyshop we have 3.4 out now for STM32
-
@jay_s_uk Thanks I did check that yesterday and considered it but it's still listed as an unstable build and I'm mid build on this slightly experimental machine so was a bit wary of throwing possible firmware problem shenanigans into the mix.
I'm going to have to update soon though I'm going to need the tool independent retraction update to M207.
-
@littlehobbyshop i've been running it for quite a while. no issues here
-
@jay_s_uk OK, I might give it a try this weekend but there's no changes listed to M200 in the changelog
-
@littlehobbyshop we track all changes with the official duet version and we probably wouldn't release an update to 3.3 unless it was critical.
Best to update and check first, then report here (or preferably on the discord channel) so @gloomyandy can investigate -
@jay_s_uk I have a Duet2 Wifi machine so will check on there also, also running 3.3. Might be helpful, should've thunk of that earlier! Will move to the discord if it's not a problem on the Duet board.
-
OK, so have quickly checked on the Duet2 Wifi. Same behaviour.
I did find this reference https://forum.duet3d.com/post/265794
Where the M200 behaviour is described as resetting to linear extrusion when a print file starts. I did another check with a macro and found that M200 volumetric extrusion only lives as long as the macro itself. It's unexpected behaviour tbh but appears to be deliberate and the same is being applied to the tool change macros.Macro looked like this:
M200 D1.75
M200
Which resulted in this console output, the first
M200
being manually sent via the web console.
I'm not able to test yet but it would seem if you're wanting to run a volumetric extrusion job and have tool changes, you might have to call M200 after each tool change? Or perhaps it persists because the tool change is being called as a "sub macro" of the print file? I don't know, if it's documented somewhere I can't find it.
This behaviour needs documenting in the GCODE Dictionary really. Since the move to WikiJS I'm not sure how to contribute.
-
@littlehobbyshop i believe when a macro is ran, it saves the printer state, e.g. absolute or relative and then restores it afterwards.
maybe its doing the same for extrusion? -
@littlehobbyshop I can confirm that the volumetric extrusion on/off flag is saved when a macro is called and restored when it completes. However, the filament diameters are not saved and restored.
If you always use volumetric extrusion, you can add a M200 command to config.g.You should include a M200 command in your slicer start GCode if the print is sliced using volumetric extrusion.