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

    After boot, M116 does not wait after G10

    Scheduled Pinned Locked Moved
    General Discussion
    5
    13
    519
    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.
    • kuonundefined
      kuon
      last edited by

      I use a duet 3 with toolboards, and I have the following issue. I do not know if this is normal or if it is a bug.

      But after a board boot, if I run the following code:

      M107
      M190 S60
      G10 P0 S220 R200
      G10 P1 S240 R200
      
      M116
      G28
      

      M116 will not wait, and G28 will run immediately.

      1 Reply Last reply Reply Quote 0
      • PCRundefined
        PCR
        last edited by

        which firmware version=?

        1 Reply Last reply Reply Quote 0
        • kuonundefined
          kuon
          last edited by

          RepRapFirmware for Duet 3 MB6HC version 3.2-RC2 running on Duet 3 MB6HC v1.01 or later (SBC mode)

          Heater are on toolboards Duet TOOL1LC firmware version 3.2-RC2 (2020-12-24)

          deckingmanundefined 1 Reply Last reply Reply Quote 0
          • deckingmanundefined
            deckingman @kuon
            last edited by deckingman

            @kuon I'd have thought that's probably normal. If you think about it, your G10 commands set the active and standby temperatures for two tools - P0 and P1 and those temperatures are different for each tool. So which of those temperatures should the M116 wait for? The answer is - whichever tool is selected / active. But until you send a "Tn" command, neither tool is selected. So the firmware has no idea which temperature that has been set with the two G10 commands, that M116 should wait for and furthermore, neither tool is active so until a tool is selected, nothing is being heated.

            Suggest you put a T(n) command (where n is either 0 or 1 depending on which tool you want to stat heating), somewhere before the M116.

            Ian
            https://somei3deas.wordpress.com/
            https://www.youtube.com/@deckingman

            1 Reply Last reply Reply Quote 0
            • kuonundefined
              kuon
              last edited by

              Actually you are right, this is because my initial issue is that M116 does not wait in my tpost0.g, I tried to reproduce a simple case and ended removing the tool change. But the following does not wait either:

              M107
              M190 S60
              G10 P0 S220 R200
              G10 P1 S240 R200
              T0
              G28
              
              ; tpost0.g
              ; called after tool 0 has been selected
              
              
              M106 R2        ; restore print cooling fan
              M116           ; wait for temperatures
              M83            ; relative extrusion
              
              ; check that we are homed, this is to avoid error when we change tool while not homed
              if move.axes[0].homed && move.axes[1].homed && move.axes[2].homed && move.axes[3].homed
                G1 R2 Z1 X0 F12000    ; go above position at 5mm
                G1 R2          ; dive back
              
              ; workaround for M302 not working with remove extruder
              if heat.heaters[1].current > 190
                G1 E10 F1000    ; extrude 10mm
              
              1 Reply Last reply Reply Quote 0
              • fcwiltundefined
                fcwilt
                last edited by

                Did you verify that the tpost0.g file was actually called?

                Or you can put the M116 in the file that sets T0 active.

                Frederick

                Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                1 Reply Last reply Reply Quote 0
                • kuonundefined
                  kuon
                  last edited by

                  Actually I just assumed tpost0.g would be called. Is there a reason why it wouldn't? I can do more tests just right now because I am printing.

                  If I put M116 just between T0 and G28, it waits, but my actual issue was that I'd like T0 to wait by itself as there is an M116 in tpost0.g

                  jay_s_ukundefined fcwiltundefined 2 Replies Last reply Reply Quote 0
                  • jay_s_ukundefined
                    jay_s_uk @kuon
                    last edited by

                    @kuon tpostx.g will always get called.
                    Pre before the tool is selected, post after the tool selected.
                    You can confirm using debugging

                    Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                    kuonundefined 1 Reply Last reply Reply Quote 0
                    • kuonundefined
                      kuon @jay_s_uk
                      last edited by

                      @jay_s_uk said in After boot, M116 does not wait after G10:

                      @kuon tpostx.g will always get called.
                      Pre before the tool is selected, post after the tool selected.
                      You can confirm using debugging

                      That's what I assumed. So T0 should wait with M116 in it, right?

                      deckingmanundefined 1 Reply Last reply Reply Quote 0
                      • jay_s_ukundefined
                        jay_s_uk
                        last edited by

                        it should do, yes.
                        Maybe change your M116 to expicitly name the tool to wait for, i.e. M116 P0

                        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                        1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @kuon
                          last edited by

                          @kuon Well tpost happens after a tool has been used. That is to say, once a tool has been finished with and is no longer the active tool. Therefore, I would be surprised if M116 in tpost would wait (because the tool is finished with).

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                          • fcwiltundefined
                            fcwilt @kuon
                            last edited by

                            @kuon said in After boot, M116 does not wait after G10:

                            Actually I just assumed tpost0.g would be called.

                            Never assume - always verify.

                            In this case this may apply - from the docs:

                            If all axes have been homed, run macro tpost#.g where # is the number of the new tool.

                            Since you are following the T0 with G28 that suggests they axes may NOT be homed.

                            Frederick

                            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                            1 Reply Last reply Reply Quote 0
                            • jay_s_ukundefined
                              jay_s_uk @deckingman
                              last edited by jay_s_uk

                              @deckingman don't you mean tfree?
                              I think the definitions of the tool change files here are clear
                              https://duet3d.dozuki.com/Wiki/Macros#Section_Tool_change

                              Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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