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

    Filament sensor triggers for the wrong extruder

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    3
    12
    502
    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.
    • adammhaileundefined
      adammhaile @Phaedrux
      last edited by

      @phaedrux said in Filament sensor triggers for the wrong extruder:

      Try using your tool change files to enable and disable the monitor so that only the active tool has it enabled.

      Ok - I've since done that... However:

      • This enables the monitoring if a tool is selected even if I'm not currently printing. Which means if you are unloading filament it will trigger an error message. I guess I need more conditional logic so it only enables it when the tool is selected AND it's currently printing.
      • There's still the issue that it specifies the wrong tool when the error is thrown for my right (T1) tool. And it calls filament-error0.g instead of filament-error1.g. I realize I can also just use filament-error.g which I will do - just trying to point out that it's noting the incorrect tool when throwing the filament error. Is that something that needs to be fixed in firmware or am I just doing something wrong?
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Something like if state=processing might be enough. See if that leads you in teh right direction.

        Z-Bot CoreXY Build | Thingiverse Profile

        adammhaileundefined 1 Reply Last reply Reply Quote 0
        • adammhaileundefined
          adammhaile @Phaedrux
          last edited by

          @phaedrux said in Filament sensor triggers for the wrong extruder:

          Something like if state=processing might be enough. See if that leads you in teh right direction.

          Ah, cool - there wasn't a "printing" state so I wasn't sure.
          What I had come up with so far was:
          if job.build != null

          Any thought though as to why it's triggering for the wrong tool? That's my real concern here.

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

            @adammhaile said in Filament sensor triggers for the wrong extruder:

            Any thought though as to why it's triggering for the wrong tool? That's my real concern here.

            What exactly do you mean by wrong tool? What have you put in which tool change file?

            Z-Bot CoreXY Build | Thingiverse Profile

            adammhaileundefined 1 Reply Last reply Reply Quote 0
            • adammhaileundefined
              adammhaile @Phaedrux
              last edited by

              @phaedrux said in Filament sensor triggers for the wrong extruder:

              What exactly do you mean by wrong tool? What have you put in which tool change file?

              When the filament sensor configured for T1 triggers, I get the following error:

              Error: Filament error on extruder 0: noFilament

              Which is the same error I get when the sensor for T0 triggers. I would expect the error for T1 to be:

              Error: Filament error on extruder 1: noFilament

              The T1 filament error also triggers filament-error0.g instead of filament-error1.g

              tpost0.g contains M591 D0 S1
              tpost1.g contains M591 D1 S1

              I call M591 D<tool_id> S0 in the tfree files.

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

                Can you please post your full set of files, including these macros

                ; set base tool names
                M98 P"tools/t0.g" 
                M98 P"tools/t1.g"
                 
                ; load variable tool configs
                M98 P"tools/setup.g"
                 
                ; Ensure T0 loaded
                M98 P"soft_load_tool.g" S0
                

                Z-Bot CoreXY Build | Thingiverse Profile

                adammhaileundefined 1 Reply Last reply Reply Quote 0
                • adammhaileundefined
                  adammhaile @Phaedrux
                  last edited by

                  @phaedrux said in Filament sensor triggers for the wrong extruder:

                  Can you please post your full set of files, including these macros

                  Sure thing, everything can be viewed here: https://github.com/adammhaile/Rancor/tree/f48014f7924d1a6958722ad6c128a8c379bcafbb/sd/sys

                  The tools/ stuff is a little convoluted, but I'll try to explain best I can:

                  My machine is IDEX but has cold-swappable tool heads. I have 5 total tool heads that can be placed on either of the 2 tool carriages. So everything under tools/ is my attempt to create a management system for quickly swapping configs.

                  tools/t0.g and tools/t1.g simply just set a global variable with the name of the tool that is in that position. That name is then used to load configs from the correct directory under tools/. For the most part those configs set more global vars.

                  tools/setup.g takes all the currently set global vars and sets things like tool offsets.

                  soft_load_tool.g is basically just an extension of calling T<num> P0 because when a tool change happens I need it to also push a tool name into global.cur_tool which normally would happen in the tpost scripts. global.cur_tool is mostly used for filament handling because I have it setup so that I can have different filament configs based on the tool that is loaded.

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

                    Best I can figure there is an error in your tool files, but I can't spot it.

                    Z-Bot CoreXY Build | Thingiverse Profile

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

                      @adammhaile I confirm there is a bug. When the filament-error event is constructed, the CAN address and device number parameters are swapped.

                      I have fixed this in the source code. The fix will be in RRF 3.5.0beta1 and also in 3.4.1 if we do that release.

                      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

                      adammhaileundefined 1 Reply Last reply Reply Quote 2
                      • adammhaileundefined
                        adammhaile @dc42
                        last edited by

                        @dc42 said in Filament sensor triggers for the wrong extruder:

                        @adammhaile I confirm there is a bug. When the filament-error event is constructed, the CAN address and device number parameters are swapped.
                        I have fixed this in the source code. The fix will be in RRF 3.5.0beta1 and also in 3.4.1 if we do that release.

                        Awesome. Thanks for the update!

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