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

    wishlist: interrupt tool change from a trigger

    Scheduled Pinned Locked Moved
    Firmware wishlist
    4
    18
    1.6k
    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 gavatron3000

      i know that the movement etc is locked during a tool change, but is it possible to that if a trigger condition is met whilst a tool change is in progress that the trigger will work immediately? this is in regards to monitoring MMU2 tool changes as at the moment if im printing on T0 but then switch to T1 but i have an unloading problem with T0 the firmware carries on with the loading of T1 until it "thinks" the tool change is complete. then the trigger activates but too late.

      is this possible?

      thanks again
      Gav

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

        I would urgently need it too.
        I have two triggers at the filament loading level, I have windows of errors but at the end of the tool change.
        M582 should be blocking and the windows modal, even during the tool change.
        It's possible?

        1 Reply Last reply Reply Quote 1
        • 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