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

    wishlist: interrupt tool change from a trigger

    Scheduled Pinned Locked Moved
    Firmware wishlist
    4
    18
    1.7k
    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.
    • gavatron3000undefined
      gavatron3000
      last edited by

      Any chance this could be implemented?

      1 Reply Last reply Reply Quote 0
      • T3P3Tonyundefined
        T3P3Tony administrators
        last edited by

        I have this early on in my Tpre0.g on the tool changer:

        ;setup trigger to detect if the pickup fails
        M581 Z S0 T2 C0

        and this at the end of my Tpost0.g:
        M582 T2 ;check for successful pickup

        then this in tfree0.g:
        M581 Z S-1 T2 C0 ;turn off connection trigger

        www.duet3d.com

        1 Reply Last reply Reply Quote 0
        • gavatron3000undefined
          gavatron3000
          last edited by

          My issue is with my application that the trigger needs to be immediately activated or else the loading of the next tool occurs before the pause happens. If my tool change faults on unloading I wish the tool change to pause until I intervene but it carrys on with loading the next one even though the conditions for the trigger have occurred. Once the post.g has finished the machine will then pause and alert me to the fault. It's a mess by then

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

            Would it be sufficient to allow a trigger to be processed immediately after executing the tfree#.g file? I can see issues with allowing the tool change sequence to be interrupted at other places.

            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
            • gavatron3000undefined
              gavatron3000
              last edited by gavatron3000

              Yes, thats better than it currently is. I can at least intervene then before any collisions occur when switching to the next tpre.g

              Would it be ok to have it be able to be processed at the end of any of the them? Not just tfree?

              gavatron3000undefined 1 Reply Last reply Reply Quote 0
              • NicoLab28undefined
                NicoLab28
                last edited by

                There must be a subtlety that I do not understand. This is not sequential code, the g-code?

                It seems, that the message is put on hold? and executed at the output of the macro.

                Yesterday I was doing a test, and everything was working well, until the filament got entangled with its neighbor. For once, I have to find a method to channel the filaments, after retractation ...

                Personally, I use only free and post, and in both cases, I have two triggers in action, so I prefer an interruption to each test of the trigger.

                1 Reply Last reply Reply Quote 0
                • gavatron3000undefined
                  gavatron3000 @gavatron3000
                  last edited by gavatron3000

                  @dc42
                  @gavatron3000 said in wishlist: interrupt tool change from a trigger:

                  Would it be ok to have it be able to be processed at the end of any of the them? Not just tfree?

                  Is this possible? Or will it be restricted to tfree.g?

                  Thanks again

                  1 Reply Last reply Reply Quote 0
                  • gavatron3000undefined
                    gavatron3000
                    last edited by

                    Sorry to be a pain @dc42 but is this scheduled for a change in the near future? My self and @NicoLab28
                    and others with would be of benefit for our MMU2 reliability

                    Regards
                    Gav

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

                      RRF can execute GCodes from different sources concurrently. Triggers are a separate source of GCodes. So in principle, a trigger will execute concurrently with whatever else is happening. Only one trigger at a time can be executing, except that the emergency stop trigger can pre-empt any other.

                      In practice, if different GCode sources try to use the same resource, then one of them will have to wait until the other has finished with that resource. In particular, the motion system is a resource.

                      What does your trigger do? If it attempts to perform motion, then I suspect it is waiting for the motion resource to become free, which will happen when the tool change has completed.

                      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
                      • gavatron3000undefined
                        gavatron3000
                        last edited by

                        All my trigger does is execute a M291 with an ok button in the message. So Essentially just a pause but this pause doesn't happen until all the change macro's have finished regardless whether the condition for the trigger occurred in free, pre or post.

                        dc42undefined 1 Reply Last reply Reply Quote 0
                        • NicoLab28undefined
                          NicoLab28
                          last edited by

                          I wrote this in another post

                          @nicolab28 said in How to extrude until trigger:

                          M577 seems to doesnt work. Or I don't know how to use it...

                          I tried M581 E0 T3 S1 C0
                          To use macro using trigger
                          It doesn't work too.
                          M581 doesn't work imediately, need it time to be enabled?

                          In my macro trigger3.g I have put "M117 Trigger3" to have a message...

                          then I wrote in the gcode sender:
                          M581 E0 T3 S1 C0
                          and
                          G1 E2000 F1000
                          only after 5-10 seconds, I receive the message "Trigger3", but not from the first trig.

                          To finish with M581, this didn't stop the G1 code.

                          I did not understand how things were going at the time

                          And this

                          https://forum.duet3d.com/topic/8916/m581-m582-m291-what-am-i-doing-wrong/9

                          I tested to see, this afternoon, it is the test of the trigger with the M291 that does not work in time.
                          I tested too, M291 in post.g works well

                          1 Reply Last reply Reply Quote 0
                          • gavatron3000undefined
                            gavatron3000
                            last edited by

                            @dc42 did you see my post above with what my trigger does?

                            1 Reply Last reply Reply Quote 0
                            • NicoLab28undefined
                              NicoLab28
                              last edited by

                              We are the forgotten duet ...

                              I was thinking, why not use triggers as filament sensors? I have not put any yet, but have you tested?
                              Will this go into tool change macros?

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

                                @gavatron3000 said in wishlist: interrupt tool change from a trigger:

                                All my trigger does is execute a M291 with an ok button in the message. So Essentially just a pause but this pause doesn't happen until all the change macro's have finished regardless whether the condition for the trigger occurred in free, pre or post.

                                I think I see what's happeing:

                                if (sParam >= 2 && !LockMovementAndWaitForStandstill(gb))
                                {
                                	return false;		// if it's a blocking message, wait for movement to stop before displaying it
                                }
                                

                                In the next beta I can try changing it so that it only locks the movement system if the jog buttons are enabled.

                                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
                                • gavatron3000undefined
                                  gavatron3000
                                  last edited by

                                  That would be excellent, very much appreciated. Thanks

                                  1 Reply Last reply Reply Quote 0
                                  • gavatron3000undefined
                                    gavatron3000 @NicoLab28
                                    last edited by

                                    @nicolab28 said in wishlist: interrupt tool change from a trigger:

                                    We are the forgotten duet ...

                                    I was thinking, why not use triggers as filament sensors? I have not put any yet, but have you tested?
                                    Will this go into tool change macros?

                                    I use M591 for normal printing with filament sensor outside of tool changing. I only use the triggers during the tool changes so I can show particular messages depending on where in the tool change an error/state occurred

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