The firmware doesn't wait for the temperature to drop
-
Hi, yes it may be my interpretation of M116, but I thought that "wait for temperatures to stabilise would mean that on a dual extruder system where you set both extruders to have an active temp of 190 and a standby temp of 170 the firmware would pause during the extruder change for the standby tool to reach 170 and the active to reach 190.
So in my macros (above) issue M116 on tfre would wait for the currently active but soon to be inactive tool to reach 170, then another M116 in the tpre or tpost would wait for the active tool to reach 190 before restarting the print. This is not happening, so although the tools swap, the original tool is still cooling and the new tool starts to print at 170 and the temperature rises to 190.
-
Yes, M116 with no parameters should work like that. I'll check it out. However, tfree#.g is called just before the tool is deselected, so the M116 command in your tfree#.g files won't do anything because the old tool is still active at that point.
I normally recommend just M116 P0 in the tpost0.g file and M116 P1 in the tpost1.g file. That way, it waits for the new tool to heat to active temperature, but doesn't wait for the old one to cool down - which takes longer and isn't necessary on most printers. But M116 with no parameters in tpost#.g should work if you want to wait for cool down as well.
-
So just to verify, if I add
M116 P1
M116 P0to tpost0
and
M116 P0
M116 P1to tpost1
it should wait for the previous extruder to cool to standby and then wait for the new to heat to active before proceeding?
-
Yes, that ought to work.
-
Hi DC, tested it from the Machine Control, and sorry to say it doesn't appear to be working, i.e. the 2nd extruder starts to heat at the same time as the first extruder is cooling rather than waiting for the first extruder to cool down first, it does appear like there may be a bug in the code here.
-
I have just tested M116 on my dual nozzle machine, and it works as expected. However, I did find a peculiarity. If I send a G10 command to change the active and/or standby temperatures of a tool other than the one that is selected, the new temperatures get stored somewhere, but they are not actioned or displayed in DWC. They only get used and shown in DWC when you select that tool. Would this explain the problem you are having?
-
Hi DC, just retested, cleaned everything out of tool macros apart from
M116 P1
M116 P0
in tpost0
and
M116 P0
M116 P1
in tpost1set active temp to 190 and passive temp to 140 for both.
wait till tool 0 at 190 and tool 1 at 140
in console issue a T1 command followed by a G1 X100 Y100, the system doesn't wait it just makes T1 active and moves the bed straight away, rather than my expectation which is that it would wait for T0 to reach 140, T1 to reach 190, then move the bed.
Also re the oddity with G10, that is also reflected in the web control, i.e. you can select a temp for T1, but it doesn't get applied until you click Tool1 making it active. This also means that the turn all off function doesn't work as expected, so if you set active and standby temps for both tools as above and click Control All, Turn Everything Off, The Bed is turned off, the active tool is turned of but the inactive tool is left at standby.
-
Hi DC, any update on this?
-
Hi pcsentinal,
This seems really strange to me. I tested M116 with no parameters and it worked perfectly for me. OTOH the oddity about G10 is reproduced and on my list to look at. Unfortunately it will be a few days before I can look at this again - you can blame the rampant success of the Duet WiFi/Duet Ethernet leading to more support requests and OEM special requirements, and the peculiar tax year end date of 5 April in the UK. So feel free to remind me around the middle of next week. Sorry for the delay! - David
-
Hi DC will do thanks.
Really good to here about the success though, fantastic.
-
Hi DC, you asked me to remind you about this.
-
Thanks for the reminder. If I can work out a sensible specification for the change then I'll implement it in firmware 1.19. The specification will be something like:
- If you send a G10 Pnnn Rttt command where Pnnn is not the current tool, any heaters that are used by tool ttt and are turned on but not used by the currently-selected tool (if any) will have their live temperatures set to the new standby temperature.
It is of course possible that the heaters last had their temperatures set because a different tool was set to standby. So ideally each heater should record the number of the last tool that caused its temperature to be set.
-
That would be expected behaviour, but its also about being able to use M116 so that the print is paused until temps stabilise across the extruders i.e. active extruder gets to active temp and all other extruders get to standby temp then resume print.
-
As I've said before, I have tested M116 without parameters and I can't find anyone wrong with it. AFAIK nobody else has reported a problem with it either. I wonder whether there is something we with the M116 line in your file, or perhaps the file isn't being executed at all.
-
Hi DC, just retested with the following, so may be my interpretation firmware version 1.19 beta 5
using macro with
T1
G1 Y50
T0
G1 Y150
to run testset temps with
G10 P0 S190 R140
G10 P1 S190 R140
from gcode consoletpost0
M116
tpost1
M116
nothing in any other tool macrosResult as expected, i.e. Moves are carried out after each stabilisation of temperature
tpre0
M116
tpre1
M116
nothing in any other tool macros
Results in the releasing tool reaching standby temp and not waiting for the new tool to reach temp before the movetfree0
M116
tfree1
M116
nothing in any other tool macros
Results in no waiting i.e. moves are performed immediately with no temperature stabilisationAs I said it may be my interpretation, just trying to get my head around the mechanics of the tool macros
-
The tfree macro is run before the old tool is released, so there will be nothing to wait for. The tpre macro is run after the old tool is released but before the new one is selected. The tpost macro is run after the new tool has been selected. So only the M116 in the tpost file will wait for the new tool to reach its active temperature.
-
i have M116 issue too.
in my gcode there is a part
[c]M104 S205
M109 S205
M116
[/c]but duetwifi does not wait for temperature to raise to 205 and continues to print…
what is a way to command printer to "wait for temperature 205. continue printing when 205 reached" ? -
My guess is that you don't have a tool selected at the start. Which firmware version are you running? Later firmware versions will select tool 0 (or your lowest numbered tool) automatically when they see M109 with no tool selected.
-
i have
[c]T0 ; select tool 0[/c]
at the gcode file header. firmware is the latest 1.18.1 -
should i create tfree0 files?