Tool Selection and Tool Change Macros



  • Right now, when you select a tool on the Control page, the panel just sends "Tn" without the "P" parameter. The primary effect of this is that the tfree, tpost and tpre macros aren't run. A side effect of this is that when you select a tool, you're going to have to wait for the tool to come up to temperature before before you can issue any other commands which I've always found annoying.

    Any objections if I automatically send the P parameter to run the tfree, tpre and tpost macros? This means that you can continue to do other things while waiting for the temperature to stabilize, like leveling the bed, turning its heater on, etc. If you really want to block additional commands you can always include M116 in the tpre macro. I really don't want to have to add an option to turn this behavior on or off if I can help it.


  • administrators

    A T command without the P parameter runs all the tool change macros. The only time it will block whole waiting for temperature when doing a tool change is if you have a M116 command in one of your tool change macros.



  • @dc42 That's not how it seems to work now. I don't have an M116 in any macro but when I tap the tool button, I get "Changing Tools" and can't do anything else. The DWC does the same thing.

    Let me try a few things though. Do the t* macros need to have executable commands in them for the no-wait to take effect?


  • administrators

    No, the tool change files don't need to contain any commands. They can also be absent.



  • Well, this is bizarre. I've always had the t* macro files in /sys and was experiencing the wait. Now it's working as you described.

    Never Mind. 🙂



  • Did you happen to have a temperature set when you enabled the tool?



  • @phaedrux Yes. In every test I did I had both active and standby temps set. I know I was seeing the "Changing tool" message and waiting but I simply can't reproduce it now.



  • @gtj0 I have watched the same.
    It only happens when all axes are homed (referenced).



  • @zerspaner_gerd said in Tool Selection and Tool Change Macros:

    @gtj0 I have watched the same.
    It only happens when all axes are homed (referenced).

    AhHa! Let me test that.



  • Well, now I'm thoroughly confused. Regardless of homing and with the t* macro files deleted, I CAN'T get T0 to wait. @dc42 did something change where the T only waits if it's executed from a gcode print file or something?


  • administrators

    @gtj0 said in Tool Selection and Tool Change Macros:

    Well, now I'm thoroughly confused. Regardless of homing and with the t* macro files deleted, I CAN'T get T0 to wait. @dc42 did something change where the T only waits if it's executed from a gcode print file or something?

    A T command will only wait for heating to complete if you have a M116 command in the tpost#.g file for that tool, to tell the firmware to wait.



  • @dc42 said in Tool Selection and Tool Change Macros:

    @gtj0 said in Tool Selection and Tool Change Macros:

    Well, now I'm thoroughly confused. Regardless of homing and with the t* macro files deleted, I CAN'T get T0 to wait. @dc42 did something change where the T only waits if it's executed from a gcode print file or something?

    A T command will only wait for heating to complete if you have a M116 command in the tpost#.g file for that tool, to tell the firmware to wait.

    OK, That's not what the documentation says then... From the wiki for "T"...

    Select tool number 1 as the active tool. will also set all other tools as inactive.
    
    The sequence followed is:
    
    Set the current tool to its standby temperatures specified by G10 (see above),
    Set the new tool to its operating temperatures specified by G10 and wait for all temperatures to stabilise,
    Apply any X, Y, Z offset for the new tool specified by G10,
    Use the new tool.
    

    At this point, the macros haven't been mentioned yet so that says to me that if there are no macros, T should wait.

    Next...

    There are normally three specified tool change macros (any of which can contain no commands if desired) that execute in this order:
    
    Actions to do with the old tool before it is released - macro name: tfreeN.g where N is the tool number;
    (Old tool is released);
    Actions to do with the new tool before it is selected - macro name: tpreN.g where N is the tool number;
    (New tool is selected); and
    Actions to do with the new tool after it is selected - macro name: tpostN.g where N is the tool number.
    With such implementations there is no wait for temperature stabilisation. That can be achieved by an M116 in any of the macros, of course. However be aware that recent RepRapFirmware versions does NOT run any tool change macros if the axes are not homed.
    

    This section DOES say it'll only wait if there's an M116.


  • administrators

    Thanks for pointing out the error in the wiki. I will correct it. [Edit: done.]



  • @dc42 OK, Now things make perfect sense. I think my issue was that when I first started with the board I used the RRF Configuration tool and checked the "wait for temp" button. That created the M116 in my tpost0.g file and i never noticed it. I must have removed it in the confusion over the past few days days and not remembered that I did. I hate getting old. 🙂



  • Yes, I have M116 in tpost * .g macro (desired, for dual printing).
    I am the wait time but not noticed with older firmware (1.21 or 1.20). Maybe by coincidence!

    With manual DWC usage the wait time is very annoying.

    I just found this setting

    0_1534609892060_Tool Changes DWC.JPG

    Does this really only for DWC operation, and does not apply to printing!


  • administrators

    That only applies to tool selections made by DWC, not to T commands read from other input channels such as the SD card.


Log in to reply