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

    Dumbfounded ! Firmware bug in 3.4 beta 6?

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    5
    27
    1.3k
    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.
    • GeneRisiundefined
      GeneRisi @GeneRisi
      last edited by

      @generisi There are either 2 or 3 contact spots checked very unscientifically with double stick tape on the bed when alternating T1, T0, T1, T0, ...
      Inked20211201_092323_LI.jpg

      1 Reply Last reply Reply Quote 0
      • GeneRisiundefined
        GeneRisi
        last edited by

        @t3p3tony Here is a simple print file that demonstrates T1,T0,T1,T0:

        G90
        M83
        M117 Preheat & Level
        G28
        G10 P0 S242 R200; set extruder 0 active and standby temps
        G10 P1 S242 R200; set extruder 1 active and standby temps
        M190 S85 ; wait for bed temperature
        ;mesh gcode
        G29 Q0
        T1
        G1 E-0.8000 F3000
        ; feature skirt
        ; tool H0.200 W0.400
        G1 Z0.200 F360
        G1 X145.575 Y112.700 F9000
        G1 E0.8000 F3000
        G1 X139.600 Y106.725 E0.2810 F90
        G1 X137.300 Y104.425 E0.1082
        G1 X137.300 Y95.575 E0.2944
        G1 X145.575 Y87.300 E0.3892
        G1 X154.425 Y87.300 E0.2944
        G1 X156.725 Y89.600 E0.1082
        G1 X162.700 Y95.575 E0.2810
        G1 X162.700 Y104.425 E0.2944
        G1 X154.425 Y112.700 E0.3892
        G1 X145.575 Y112.700 E0.2944
        G1 E-0.8000 F3000
        ; feature cross - external single extrusion
        ; tool H0.200 W0.400
        G1 Z0.400 F360
        G1 X147.738 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X149.641 Y100.000 E0.0633 F45
        G1 X150.000 Y99.641 F9000
        G1 X150.000 Y97.738 E0.0633 F45
        G1 E-0.8000 F3000
        G1 Z0.400 F360
        G1 X152.262 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X150.279 Y100.000 E0.0659 F45
        G1 X150.200 Y100.000 E0.0026
        ; tool H0.200 W0.416
        G1 X150.117 Y100.000 E0.0029
        ; tool H0.200 W0.499
        G1 X150.000 Y100.000 E0.0049
        G1 X150.000 Y100.117 E0.0049
        ; tool H0.200 W0.416
        G1 X150.000 Y100.200 E0.0029
        ; tool H0.200 W0.400
        G1 X150.000 Y100.279 E0.0026
        G1 X150.000 Y102.262 E0.0659
        G1 E-0.8000 F3000
        ; layer end
        T0;
        G1 E-0.8000 F3000
        ; feature skirt
        ; tool H0.200 W0.400
        G1 Z0.200 F360
        G1 X145.575 Y112.700 F9000
        G1 E0.8000 F3000
        G1 X139.600 Y106.725 E0.2810 F90
        G1 X137.300 Y104.425 E0.1082
        G1 X137.300 Y95.575 E0.2944
        G1 X145.575 Y87.300 E0.3892
        G1 X154.425 Y87.300 E0.2944
        G1 X156.725 Y89.600 E0.1082
        G1 X162.700 Y95.575 E0.2810
        G1 X162.700 Y104.425 E0.2944
        G1 X154.425 Y112.700 E0.3892
        G1 X145.575 Y112.700 E0.2944
        G1 E-0.8000 F3000
        ; feature cross - external single extrusion
        ; tool H0.200 W0.400
        G1 Z0.400 F360
        G1 X147.738 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X149.641 Y100.000 E0.0633 F45
        G1 X150.000 Y99.641 F9000
        G1 X150.000 Y97.738 E0.0633 F45
        G1 E-0.8000 F3000
        G1 Z0.400 F360
        G1 X152.262 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X150.279 Y100.000 E0.0659 F45
        G1 X150.200 Y100.000 E0.0026
        ; tool H0.200 W0.416
        G1 X150.117 Y100.000 E0.0029
        ; tool H0.200 W0.499
        G1 X150.000 Y100.000 E0.0049
        G1 X150.000 Y100.117 E0.0049
        ; tool H0.200 W0.416
        G1 X150.000 Y100.200 E0.0029
        ; tool H0.200 W0.400
        G1 X150.000 Y100.279 E0.0026
        G1 X150.000 Y102.262 E0.0659
        G1 E-0.8000 F3000
        ; layer end
        ; pass 2
        T1
        G1 E-0.8000 F3000
        ; feature skirt
        ; tool H0.200 W0.400
        G1 Z0.200 F360
        G1 X145.575 Y112.700 F9000
        G1 E0.8000 F3000
        G1 X139.600 Y106.725 E0.2810 F90
        G1 X137.300 Y104.425 E0.1082
        G1 X137.300 Y95.575 E0.2944
        G1 X145.575 Y87.300 E0.3892
        G1 X154.425 Y87.300 E0.2944
        G1 X156.725 Y89.600 E0.1082
        G1 X162.700 Y95.575 E0.2810
        G1 X162.700 Y104.425 E0.2944
        G1 X154.425 Y112.700 E0.3892
        G1 X145.575 Y112.700 E0.2944
        G1 E-0.8000 F3000
        ; feature cross - external single extrusion
        ; tool H0.200 W0.400
        G1 Z0.400 F360
        G1 X147.738 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X149.641 Y100.000 E0.0633 F45
        G1 X150.000 Y99.641 F9000
        G1 X150.000 Y97.738 E0.0633 F45
        G1 E-0.8000 F3000
        G1 Z0.400 F360
        G1 X152.262 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X150.279 Y100.000 E0.0659 F45
        G1 X150.200 Y100.000 E0.0026
        ; tool H0.200 W0.416
        G1 X150.117 Y100.000 E0.0029
        ; tool H0.200 W0.499
        G1 X150.000 Y100.000 E0.0049
        G1 X150.000 Y100.117 E0.0049
        ; tool H0.200 W0.416
        G1 X150.000 Y100.200 E0.0029
        ; tool H0.200 W0.400
        G1 X150.000 Y100.279 E0.0026
        G1 X150.000 Y102.262 E0.0659
        G1 E-0.8000 F3000
        ; layer end
        T0;
        G1 E-0.8000 F3000
        ; feature skirt
        ; tool H0.200 W0.400
        G1 Z0.200 F360
        G1 X145.575 Y112.700 F9000
        G1 E0.8000 F3000
        G1 X139.600 Y106.725 E0.2810 F90
        G1 X137.300 Y104.425 E0.1082
        G1 X137.300 Y95.575 E0.2944
        G1 X145.575 Y87.300 E0.3892
        G1 X154.425 Y87.300 E0.2944
        G1 X156.725 Y89.600 E0.1082
        G1 X162.700 Y95.575 E0.2810
        G1 X162.700 Y104.425 E0.2944
        G1 X154.425 Y112.700 E0.3892
        G1 X145.575 Y112.700 E0.2944
        G1 E-0.8000 F3000
        ; feature cross - external single extrusion
        ; tool H0.200 W0.400
        G1 Z0.400 F360
        G1 X147.738 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X149.641 Y100.000 E0.0633 F45
        G1 X150.000 Y99.641 F9000
        G1 X150.000 Y97.738 E0.0633 F45
        G1 E-0.8000 F3000
        G1 Z0.400 F360
        G1 X152.262 Y100.000 F9000
        G1 Z0.200 F360
        G1 E0.8000 F3000
        G1 X150.279 Y100.000 E0.0659 F45
        G1 X150.200 Y100.000 E0.0026
        ; tool H0.200 W0.416
        G1 X150.117 Y100.000 E0.0029
        ; tool H0.200 W0.499
        G1 X150.000 Y100.000 E0.0049
        G1 X150.000 Y100.117 E0.0049
        ; tool H0.200 W0.416
        G1 X150.000 Y100.200 E0.0029
        ; tool H0.200 W0.400
        G1 X150.000 Y100.279 E0.0026
        G1 X150.000 Y102.262 E0.0659
        G1 E-0.8000 F3000
        ; layer end
        M117 Print Complete !
        T-1
        M999
        

        Simple_cross.jpg

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

          @generisi please post your tool change files again, because you have changed them since you posted them.

          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

          GeneRisiundefined 1 Reply Last reply Reply Quote 0
          • GeneRisiundefined
            GeneRisi @dc42
            last edited by GeneRisi

            @dc42 OK, I will now

            ; tpost0.g
            ; called after tool 0 has been selected
            
            ;heatup
            M116 P0
            
            ;prime nozzle
            ;M98 Pprime.g
            
            ;mesh levelling on
            G29 Q1
            
            ;PCF fan on
            ;M106 P2 S255
            
            G1 R2 X0 Y0 Z2
            G1 R2 Z0 F360
            
            ; tpost1.g
            ; called after tool 1 has been selected
            
            ;heatup
            M116 P1
            
            ;prime nozzle
            ;M98 Pprime.g
            
            ;mesh levelling on
            G29 Q1
            
            ;PCF fan on
            ;M106 P4 S255
            G1 R2 X0 Y0 Z2
            G1 R2 Z0 F360
            

            The Free and pre files have not changed.

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

              @generisi with the image with the two cross prints you showed. Do you mean that T0 and T1 printed one of the crosses perfectly aligned and then the next time T1 was used it printed the miss aligned cross?

              www.duet3d.com

              GeneRisiundefined 1 Reply Last reply Reply Quote 0
              • GeneRisiundefined
                GeneRisi @T3P3Tony
                last edited by GeneRisi

                @t3p3tony Hi Tony, T1 printed the cross in one location and T0 printed the cross in the other location. Even when repeating the sequence a second time, T1 prints in one location and T0 in the other location.

                If the order is switched, so that T0 is used first, then T1, the crosses align as expected. This is also true if the sequence is T0, T1, T0, T1.

                FWIW, many years ago, I used to be a programmer and when I think about this, uninitialized values that are referenced comes to mind... FWIW

                @dc42 , is there some level of debugging I can turn on that might provide you some helpful information?

                dc42undefined 1 Reply Last reply Reply Quote 0
                • Phaedruxundefined Phaedrux marked this topic as a question
                • dc42undefined
                  dc42 administrators @GeneRisi
                  last edited by

                  @generisi I have a theory about what us happening. Tool offsets are usually ignored in system macro files. So I think the G1 R2 X0 Y0 Z0 command at the end of config.g is ignoring the tool offsets. This obviously isn't wanted in this case.

                  I will do some tests to confirm or refute this theory.

                  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

                  GeneRisiundefined 2 Replies Last reply Reply Quote 0
                  • GeneRisiundefined
                    GeneRisi @dc42
                    last edited by GeneRisi

                    @dc42 I only added this line after the exchange with @T3P3Tony above; I did, however, use G1 R2 Z0 before communicating with Tony. As an alternative, I can remove the G1 R2 command and use Simplify3d's internal state variables to restore the X, Y and Z locations. Let me know whether this would be a helpful test.
                    Gene

                    I removed the G1 R2 commands from the tpostx macros. It didn't change the outcome.
                    Gene

                    Why would the tool offsets matter for a move that simply gets the new tool head near the area where it will be used? The printing doesn't occur until a few gcode commands after this move. Aren't the tool offsets applied to every gcode move command?
                    Gene

                    1 Reply Last reply Reply Quote 0
                    • GeneRisiundefined
                      GeneRisi @dc42
                      last edited by

                      @dc42 Is there something I can do t help debugging this?

                      1 Reply Last reply Reply Quote 0
                      • GeneRisiundefined
                        GeneRisi
                        last edited by GeneRisi

                        @dc42 I found the problem.

                        When tool T1 was being returned, the Y "parking" coordinate was off by 1 mm. The tool parking location didn't budge but the firmware thought that the tool location was 1mm beyond where it actually was. The machine is a corexy (E3D), so even though only the Y coordinate was off, I suspect it affected both the x and y location from the the firmware's perspective.

                        1 Reply Last reply Reply Quote 2
                        • GeneRisiundefined GeneRisi has marked this topic as solved
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA