Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Tool Selection and Tool Change Macros

    Scheduled Pinned Locked Moved
    PanelDue
    4
    16
    1.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • gtj0undefined
      gtj0
      last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by dc42

        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.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        gtj0undefined 1 Reply Last reply Reply Quote 0
        • gtj0undefined
          gtj0 @dc42
          last edited by gtj0

          @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?

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

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

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • gtj0undefined
              gtj0
              last edited by

              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. 🙂

              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

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

                Z-Bot CoreXY Build | Thingiverse Profile

                gtj0undefined 1 Reply Last reply Reply Quote 0
                • gtj0undefined
                  gtj0 @Phaedrux
                  last edited by

                  @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.

                  zerspaner_gerdundefined 1 Reply Last reply Reply Quote 0
                  • zerspaner_gerdundefined
                    zerspaner_gerd @gtj0
                    last edited by

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

                    Board: Duet WiFi 1.03 | Firmware Version: 3.1.1 | WiFi Server Version: 1.23 | Web Interface Version: 3.1.1

                    gtj0undefined 1 Reply Last reply Reply Quote 0
                    • gtj0undefined
                      gtj0 @zerspaner_gerd
                      last edited by

                      @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.

                      1 Reply Last reply Reply Quote 0
                      • gtj0undefined
                        gtj0
                        last edited by

                        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?

                        dc42undefined 1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @gtj0
                          last edited by

                          @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.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          gtj0undefined 1 Reply Last reply Reply Quote 0
                          • gtj0undefined
                            gtj0 @dc42
                            last edited by

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators
                              last edited by dc42

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

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              gtj0undefined 1 Reply Last reply Reply Quote 0
                              • gtj0undefined
                                gtj0 @dc42
                                last edited by

                                @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. 🙂

                                1 Reply Last reply Reply Quote 0
                                • zerspaner_gerdundefined
                                  zerspaner_gerd
                                  last edited by

                                  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!

                                  Board: Duet WiFi 1.03 | Firmware Version: 3.1.1 | WiFi Server Version: 1.23 | Web Interface Version: 3.1.1

                                  1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators
                                    last edited by

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

                                    Duet WiFi hardware designer and firmware engineer
                                    Please do not ask me for Duet support via PM or email, use the forum
                                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                                    1 Reply Last reply Reply Quote 1
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA