• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    gavatron3000
    last edited by gavatron3000 2 Jul 2019, 12:47 7 Feb 2019, 12:45

    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
    • undefined
      NicoLab28
      last edited by 8 Feb 2019, 13:57

      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
      • undefined
        gavatron3000
        last edited by 11 Feb 2019, 04:27

        Any chance this could be implemented?

        1 Reply Last reply Reply Quote 0
        • undefined
          T3P3Tony administrators
          last edited by 11 Feb 2019, 07:06

          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
          • undefined
            gavatron3000
            last edited by 11 Feb 2019, 07:11

            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
            • undefined
              dc42 administrators
              last edited by 11 Feb 2019, 10:03

              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
              • undefined
                gavatron3000
                last edited by gavatron3000 2 Nov 2019, 10:21 11 Feb 2019, 10:19

                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?

                undefined 1 Reply Last reply 17 Feb 2019, 14:48 Reply Quote 0
                • undefined
                  NicoLab28
                  last edited by 11 Feb 2019, 12:53

                  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
                  • undefined
                    gavatron3000 @gavatron3000
                    last edited by gavatron3000 17 Feb 2019, 14:48

                    @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
                    • undefined
                      gavatron3000
                      last edited by 27 Feb 2019, 12:57

                      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
                      • undefined
                        dc42 administrators
                        last edited by 27 Feb 2019, 15:13

                        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
                        • undefined
                          gavatron3000
                          last edited by 27 Feb 2019, 16:31

                          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.

                          undefined 1 Reply Last reply 1 Mar 2019, 13:50 Reply Quote 0
                          • undefined
                            NicoLab28
                            last edited by 28 Feb 2019, 15:21

                            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
                            • undefined
                              gavatron3000
                              last edited by 1 Mar 2019, 11:12

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

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                NicoLab28
                                last edited by 1 Mar 2019, 13:37

                                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?

                                undefined 1 Reply Last reply 1 Mar 2019, 15:25 Reply Quote 0
                                • undefined
                                  dc42 administrators @gavatron3000
                                  last edited by 1 Mar 2019, 13:50

                                  @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
                                  • undefined
                                    gavatron3000
                                    last edited by 1 Mar 2019, 15:21

                                    That would be excellent, very much appreciated. Thanks

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      gavatron3000 @NicoLab28
                                      last edited by 1 Mar 2019, 15:25

                                      @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