Usage of g-code T-1
-
I am trying to sort out what is happening in a gcode file that isn't doing what I expect it to do and I suspect my understanding of 'T-1' is incorrect ....
The following is the beginning of a gcode file generated by Cura:;Generated with Cura_SteamEngine mb-master-20210629 T0 M190 S65 M82 ;absolute extrusion mode ;G28 ;Home this messes up the Jubilee T-1 M104 S200 ;Start heating extruder M109 S200 ;Wait for extruder to reach temp before proceeding G1 Z15.0 F6000 ;Move the platform down 15mm ;Prime the extruder ;G92 E0 ;G1 F200 E3 ;G92 E0 M83 ;relative extrusion mode G1 F1500 E-0.4 ;LAYER_COUNT:112 M572 S0.000000 D1 ;added by LinearAdvanceSettingPlugin M572 S0.000000 D0 ;added by LinearAdvanceSettingPlugin M572 S0.000000 D2 ;added by LinearAdvanceSettingPlugin M572 S0.000000 D3 ;added by LinearAdvanceSettingPlugin ;LAYER:0 M107 M104 T1 S175 M104 T2 S175 M104 T3 S175 M204 T2000 M566 X1800 Y1800 G0 F3750 X120.416 Y122.48 Z0.3 M204 P1000 M566 X3000 Y3000 ;TYPE:SKIRT G1 F1500 E0.4
after the line "Generated with Cura SteamEngine ...." you see a T0
command that causes my Jubilee to pick up tool 0. My tools have a built-in wiper and this T0 command is unwanted because the tool isn't at temperature and the wiping action is not effective. I fix that by commanding a "T-1" which deselects the tool and parks it.
This is where my confusion is happening - we have no extruder selected but the next commands, M104 and M109 actually work on tool 0 ..... Why????
Further, without selecting tool 0 again, it is picked up and used as if I had selected it.
I would like to understand why this is happening.
I am assuming I am missing some detail on the "T-1" command ....
Again, note that this is for a Jubilee tool changer printer and not a single tool normal printer. -
@jens55 said in Usage of g-code T-1:
I fix that by commanding a "T-1" which deselects the tool and parks it.
This is where my confusion is happening - we have no extruder selected but the next commands, M104 and M109 actually work on tool 0Not sure if this is an intended default or not. I assume at this point that all tools are in standby? If that's the case then I can see the argument that they should do nothing (on a machine with more than one tool at least.)
Further, without selecting tool 0 again, it is picked up and used as if I had selected it.
That definitely sounds wrong. How is the pickup being actioned? I.e. is it movements that are in the tool change gcodes?
To summarise all the tools are in standby, and with no T command being set, one of them is picked up? Can you reproduce this by sending the commands individually (as opposed to in a print file) and see which command exactly causes the tool to be picked back up.
-
@t3p3tony, thanks for responding. There is one theory that occurred to me that I have not double checked - when I click on a tool in DWC the tool is picked up and selected ... but I think the same thing might be happening if I click on a heater. I have to test that theory.
Normally tool pickup happens when a tool is called for with a T command.
I think I wil execute the gcode file one line at a time tomorrow to get a better handle on what is happening. I thought that maybe my understanding of T-1 was incorrect but maybe something else is going on.
Thanks! -
@jens55 said in Usage of g-code T-1:
This is where my confusion is happening - we have no extruder selected but the next commands, M104 and M109 actually work on tool 0 ..... Why????
We would much prefer users to use M568 or G10 to set temperatures, and always to select tools explicitly. Unfortunately, most slicers generate M104 and M109 and don't bother selecting the tool first. This was creating endless support issues, so we had to work around it. That is why when RRF receives M104 or M109 with no tool selected and no T parameter, it applies it to the lowest numbered tool. In the case of M109 it also selects that tool.
-
@dc42 said in Usage of g-code T-1:
@jens55 said in Usage of g-code T-1:
This is where my confusion is happening - we have no extruder selected but the next commands, M104 and M109 actually work on tool 0 ..... Why????
when RRF receives M104 or M109 with no tool selected and no T parameter, it applies it to the lowest numbered tool.
Ahhhhhhh ....... now that makes sense (and saves me some time trying to figure things out)
Thank you !