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

    Firmware 1.19RC1 released - please help us with testing!

    Scheduled Pinned Locked Moved
    Firmware installation
    9
    94
    10.8k
    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.
    • dc42undefined
      dc42 administrators
      last edited by

      Further to my previous response 2 posts up, I have now discovered a problem with specification #2 with the bug fix applied. If I select a tool and then select another tool without moving it first, there is unwanted movement because the commands in the tfree file assume a starting position that does not correspond to where the the head is. The unwanted movement is benign because it gets undone, but ugly.

      So I'm reluctantly forced to treat different axes differently. I'll revert to specification #1 for all axes, except that after a tool change the requested user Z coordinate shall be restored to what it was before the tool change. I hope this will keep everyone happy. It should work provided that after issuing a tool change command, the slicer always specifies both X and Y coordinates (but not necessarily Z) in the next movement command.

      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
      • Kulitorumundefined
        Kulitorum
        last edited by

        A G1 Z without X coord should not change the X coordinate, But just leave X where it is, right?

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

          But a G1 command with no Z coordinate does need to change the Z height, in the case that you have just done a tool change and the new tool has a different Z offset from the old one.

          There is no single specification that, applied uniformly to all axes, results in the desired behaviour in all cases.

          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
          • larsundefined
            lars
            last edited by

            Tbh, this (#4) is what I would have preferred. #2 was confusing if you were using the Web interface to test movement. I guess if there was a good reason for going with #2 to get more compatibility with slicers you could have changed how the gui move worked and made it issue absolute moves.
            Also in RC3 I some side effects (don’t know if it’s part of the know bug you are talking about).
            If I move T0 to x 250, switch to T1 x-1 moves to 249 deselects T1 (both tools in standby now) and the activate T1 again it will move to min x (all the way next to T0).
            If I activate T0 and move it to x 250. Deacitvate T0 (T0 moves to parking pos). Both tools are now on standby. U-1 will not move T1 but It moves T0 to 250.

            When I do x+0.1 a few times I could not make T0 go to 255.0.

            x+0.1 254.8
            x+0.1 254.8
            x+0.1 254.9
            x+0.1 254.9
            x+0.1 255.1
            x+0.1 255.2
            x+0.1 255.3
            x+0.1 255.3
            x+0.1 255.4
            x+0.1 255.6
            
            ```I would guess this is a rounding issue in the presentation and the real position is something like 254.95 and next 255.05? The .05 for T 0 might somehow been picked up from T1 “G10 U0.15”.
            Anyways, these issues might not be a problem if you revert back to beta11 behavior for X and Y.
            Btw, maybe a G1 R2 command could be added that one could put in a tool change script to get the behaviour of #2 if it has any practical use…? (or the reverse if you decide to go with #2)
            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by

              I've just released RC4. Please try it.

              I did consider whether instead of restoring the initial user-requested Z coordinate after the tool change is complete I should actually have the Z axis move; but I thought of some problems with doing that, so I didn't.

              G1 R2 is already implemented. However, it needs to be tested on an IDEX machine. The complication is that after changing from T0 to T1 or vice versa, where does the U axis end up? If we switched T0->T1 then we want the new U position to be the mapped X coordinate, not the old U position. If we switched T1->T0 then we want the new U position not to be restored at all but to be left nas it was after execution of the tool change files. I suspect it isn't accounting for this. And then are the other 4 cases of switching between no tool (T-1) and T0 or T1, in either direction.

              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
              • Kulitorumundefined
                Kulitorum
                last edited by

                You could make variables to use in Gcode. This way it could be the responsibility of the free.g to:

                1. Store current position to user-named variables.
                2. move the head to park position

                and post.g

                1. move the head back to user-stored position

                This would be much more flexible and support different configurations and be the responsibility of the user to support the functions he needs.

                I think if you make the following variables available, we would come a long way:

                TnX TnY TnZ En where n is the extruder or head number.

                For starters the user variables could be just an array of 30 floats that are indexed like data[n] and the user can keep track. - that should be relativly easy to implement and very flexible.

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

                  True, but explaining how to use them to novices would be complicated. I prefer to get as close to an "it just works" solution as possible for the majority of users.

                  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
                  • larsundefined
                    lars
                    last edited by

                    Just to give you some quick feedback on RC4, my initial move x/y/u tests worked!
                    I'll recompile it with my modification to get it to work with cura and do a test print and report back when its done.

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

                      Thanks for the feedback. I think I've cracked this one at last - provided that the user (can't remember who) who reported tool Z offsets not working is happy with it.

                      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
                      • larsundefined
                        lars
                        last edited by

                        Hmm.. something is going wrong after I pause and stop a job. I do a few extrudes on both tools (maybe up to 10mm) to prime the tools. When I do "print another" it moves to where it should start and do a huge retract! Is there some code that tries restores the e0 and e1?

                        M190 S63
                        M104 S210
                        M104 T1 S210
                        M109 S210
                        M109 T1 S210
                        ; G28 ;Home
                        G1 Z15.0 F6000 ;Move the platform down 15mm
                        M83
                        T1
                        G1 E2
                        T0
                        G1 E2
                        M82
                        ;LAYER_COUNT:420
                        ;LAYER:0
                        M107
                        M104 T1 S180
                        G0 F6000 X221.18 Y236.445 Z0.3
                        ;TYPE:SKIRT
                        G1 F1800 X220.667 Y236.983 E0.01398
                        G1 X220.193 Y237.581 E0.02834
                        
                        

                        Edit: retract was on T0
                        Edit 2: I get retract on T1 too

                        1 Reply Last reply Reply Quote 0
                        • larsundefined
                          lars
                          last edited by

                          Ok, Ill put that in the start g-code… Are you planing to go back to old behaviour (where it worked without G92 E0) for this (pre RC) or keep it this way?

                          Edit: Plenty of G92 E0 just to be sure it works 😉

                          G1 Z15.0 F6000 ;Move the platform down 15mm
                          M83
                          T1
                          G92 E0
                          G1 E2
                          G92 E0
                          T0
                          G92 E0
                          G1 E2
                          G92 E0
                          M82
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators
                            last edited by

                            Absolute extrusion in 3D printers must rank as one of the worst ideas ever. Whoever thought it was a good idea was a moron. It causes problems with supporting pause/resume, resume after power fail, mixing extruders, and filament change support. Please nag the Cura developers to add support for generating relative extruder coordinates.

                            You and the Cura developers between you have fallen into one of the traps of using absolute extrusion. The first extrusion command generated by Cura (G1 F1800 X220.667 Y236.983 E0.01398) does not have a G92 E0 command before it to define the datum for that extrusion command. You should insert a G92 E0 command in your start gcode after the M82 command.

                            EDIT: your post crossed with mine.

                            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
                            • larsundefined
                              lars
                              last edited by

                              @dc42:

                              You should insert a G92 E0 command in your start gcode after the M82 command.

                              Will that reset it for both tools?

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

                                No, only for the current tool. RRF maintains separate cumulative extrusion amounts for each tool. AFAIK nobody has ever defined whether this is what 3D printers are supposed to do, or whether a single value should be maintained. Yet another problem caused by using absolute extruder coordinates. Relative extruder coordinates make things so much simpler.

                                Your question and my response would not have been needed had your slicer generated code that used relative extruder coordinates. Please nag the Cura developers to add support for relative extruder coordinates.

                                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
                                • Kulitorumundefined
                                  Kulitorum
                                  last edited by

                                  Ok, it seems RC4 works for me too. I have not done a full test with pausing etc, but for just normal printing it seems to work.

                                  And the "tool Z offsets not working" bug was reported by me, so you can strike that off your list.

                                  Thank you 🙂

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

                                    @Kulitorum:

                                    Ok, it seems RC4 works for me too. I have not done a full test with pausing etc, but for just normal printing it seems to work.

                                    And the "tool Z offsets not working" bug was reported by me, so you can strike that off your list.

                                    Thank you 🙂

                                    Thanks for the feedback! Got there in the end.

                                    Unless I receive any more problem reports, I intend to release RC4 as the 1.19 release. It's now very similar to 1.19beta11 apart from the tool change Z offset fix and refactored homing code to support SCARA.

                                    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
                                    • larsundefined
                                      lars
                                      last edited by

                                      Yep, looks like basic printing works now, have not tested to change offsets. I'm out of time now…

                                      I'll let the cura developers know of your hatred of absolute extrusion at first opportunity I get! 😉

                                      The following start code should prime and reset both tools..?

                                      G1 Z15.0 F6000 ;Move the platform down 15mm
                                      T1
                                      M83
                                      G1 E2
                                      M82
                                      G92 E0
                                      T0
                                      M83
                                      G1 E2
                                      M82
                                      G92 E0
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators
                                        last edited by

                                        Yes, that looks good.

                                        Your question and my response would not have been needed had your slicer generated code that used relative extruder coordinates. Please nag the Cura developers to add support for relative extruder coordinates.

                                        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
                                        • burtoogleundefined
                                          burtoogle
                                          last edited by

                                          I have made some contributions to Cura and one of the recent changes is that it now really does differentiate between Marlin and RepRap flavour gcodes. Until recently it had RepRap(Marlin) flavour that has to conform to various Marlinisms and so wasn't really that well matched to RepRap. It now has separate Marlin and RepRap flavours and so there's no obvious reason why the RepRap flavour gcode could not support relative extrusion. I shall investigate and will keep you posted.

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

                                            Thanks, that would be great!

                                            Another good feature would be to write T0 to the Gcode file before any temperature-setting commands, if no T commands would otherwise be written.

                                            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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA