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

    GCodes for the next-generation Duet

    Scheduled Pinned Locked Moved
    General Discussion
    15
    49
    4.4k
    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.
    • JoergS5undefined
      JoergS5 @dc42
      last edited by

      @dc42 The more drivers, fans and heater you support the more problems with counting ("what is my P8?") will arise. So an optional labeling would be nice, maybe implemented as preprocessor. Then the user can name it as one's will and it can be displayed in the panel. It is easer to recognise "Heater Back Top" than H7.

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

        @joergs5 said in GCodes for the next-generation Duet:

        @dc42 The more drivers, fans and heater you support the more problems with counting ("what is my P8?") will arise. So an optional labeling would be nice, maybe implemented as preprocessor. Then the user can name it as one's will and it can be displayed in the panel. It is easer to recognise "Heater Back Top" than H7.

        So in the command you used to assign the name "Heater Back Top" to a heater, how would you specify which heater that is?

        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

        JoergS5undefined 1 Reply Last reply Reply Quote 0
        • projectR3Dundefined
          projectR3D
          last edited by

          I think option two would be my first choice with the third coming next. Also if there will be the possibility to daisy chain more than one expansion would the drivers on the first expansion be 101, 102, 103.... while the next expansion in the line be 201, 202, 203...?

          gtj0undefined dc42undefined 2 Replies Last reply Reply Quote 0
          • gtj0undefined
            gtj0 @projectR3D
            last edited by

            @projectr3d said in GCodes for the next-generation Duet:

            I think option two would be my first choice with the third coming next. Also if there will be the possibility to daisy chain more than one expansion would the drivers on the first expansion be 101, 102, 103.... while the next expansion in the line be 201, 202, 203...?

            FWIW, I think option 3 will result in even more "this is too fricking hard to configure" posts. πŸ™‚

            dc42undefined 1 Reply Last reply Reply Quote 0
            • gtj0undefined
              gtj0
              last edited by gtj0

              Oh yeah @dc42, on the new boards you'd better make sure the silkscreen labels match the physical designator scheme. πŸ™‚ Labelling things with their logical uses on the Duet2 and Duex5 was very confusing for me when I started out.

              Labelling them with their physical capabilities would be the best option.
              drive
              2 pin pwm out (2PO)
              3 pin in (3IN)
              low power mosfet (LPM)
              high power mosfet (HPM)
              etc.

              dc42undefined 1 Reply Last reply Reply Quote 0
              • JoergS5undefined
                JoergS5 @dc42
                last edited by

                @dc42 said in GCodes for the next-generation Duet:

                @joergs5 said in GCodes for the next-generation Duet:

                @dc42 The more drivers, fans and heater you support the more problems with counting ("what is my P8?") will arise. So an optional labeling would be nice, maybe implemented as preprocessor. Then the user can name it as one's will and it can be displayed in the panel. It is easer to recognise "Heater Back Top" than H7.

                So in the command you used to assign the name "Heater Back Top" to a heater, how would you specify which heater that is?

                I would take option 1 in this case to be back compatible. The function is recognisable by the label, you have to assign it only one time at the beginning.

                1 Reply Last reply Reply Quote 0
                • fmaundefined
                  fma
                  last edited by

                  Option #3 is the most intuitive.

                  To second @gtj0, the naming on the boards should be totally neutral. I mean, don't use X, Y, Z, just numbers, so routing between drives, hotends, endstops is not confusing. I would also put all drivers together, all endstops inputs together, all fans input together... Aslo, if all I/O could have the same behavior, it would be great (on the current board, Duet endstops and Duex ones can't do the same things, like monitoring filament sensor...).

                  Anyway, I'm sure the next hardware will be awesome!

                  FrΓ©dΓ©ric

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

                    @projectr3d said in GCodes for the next-generation Duet:

                    I think option two would be my first choice with the third coming next. Also if there will be the possibility to daisy chain more than one expansion would the drivers on the first expansion be 101, 102, 103.... while the next expansion in the line be 201, 202, 203...?

                    To achieve that numbering, you would need to set the ID switch on the first expansion board to 1, and the ID switch on the second board to 2.

                    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
                    • dc42undefined
                      dc42 administrators @gtj0
                      last edited by

                      @gtj0 said in GCodes for the next-generation Duet:

                      Oh yeah @dc42, on the new boards you'd better make sure the silkscreen labels match the physical designator scheme. πŸ™‚ Labelling things with their logical uses on the Duet2 and Duex5 was very confusing for me when I started out.

                      Labelling them with their physical capabilities would be the best option.
                      drive
                      2 pin pwm out (2PO)
                      3 pin in (3IN)
                      low power mosfet (LPM)
                      high power mosfet (HPM)
                      etc.

                      We're planning to label the connectors Motor0, Motor1, Out0, Out1 etc. Some of the Out ports will have a higher power capability than others, but all will be configurable as motors, fans or general purpose output.

                      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

                      gtj0undefined Pilotltdundefined 2 Replies Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @gtj0
                        last edited by

                        @gtj0 said in GCodes for the next-generation Duet:

                        @projectr3d said in GCodes for the next-generation Duet:

                        I think option two would be my first choice with the third coming next. Also if there will be the possibility to daisy chain more than one expansion would the drivers on the first expansion be 101, 102, 103.... while the next expansion in the line be 201, 202, 203...?

                        FWIW, I think option 3 will result in even more "this is too fricking hard to configure" posts. πŸ™‚

                        Why do you think option 3 is harder than option 2? They are logically the same, but for option 2 you need to do the (100 * board_id + device_id) calculation yourself.

                        Just to be clear: if you don't have any expansion boards then you will just need to specify the device number on the main board as now; although if we adopt option 3 then I would allow "0.1" as an alternative to "1" and so on.

                        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

                        gtj0undefined 1 Reply Last reply Reply Quote 0
                        • keyz182undefined
                          keyz182
                          last edited by

                          I think option 3 is by far the cleanest. If labelling is added too, it becomes even more clear, e.g. if you set the label of expansion board 1 to "MyAwesomeExpansion" and one of it's drives to "ZAxis", you get super easy to visually parse
                          M569 S1 PMyAwesomeExapnsion.ZAxis

                          fmaundefined 1 Reply Last reply Reply Quote 1
                          • Qdeathstarundefined
                            Qdeathstar
                            last edited by

                            I think option 3 is best. If only because that is an existing standard.

                            1 Reply Last reply Reply Quote 0
                            • gtj0undefined
                              gtj0 @dc42
                              last edited by

                              @dc42 said in GCodes for the next-generation Duet:

                              @gtj0 said in GCodes for the next-generation Duet:

                              @projectr3d said in GCodes for the next-generation Duet:

                              I think option two would be my first choice with the third coming next. Also if there will be the possibility to daisy chain more than one expansion would the drivers on the first expansion be 101, 102, 103.... while the next expansion in the line be 201, 202, 203...?

                              FWIW, I think option 3 will result in even more "this is too fricking hard to configure" posts. πŸ™‚

                              Why do you think option 3 is harder than option 2? They are logically the same, but for option 2 you need to do the (100 * board_id + device_id) calculation yourself.

                              Just to be clear: if you don't have any expansion boards then you will just need to specify the device number on the main board as now; although if we adopt option 3 then I would allow "0.1" as an alternative to "1" and so on.

                              Sorry, I meant option 2 would result in more "this is too...". I'm totally on board with option 3.

                              1 Reply Last reply Reply Quote 1
                              • fmaundefined
                                fma @keyz182
                                last edited by

                                @keyz182 said in GCodes for the next-generation Duet:

                                I think option 3 is by far the cleanest. If labelling is added too, it becomes even more clear, e.g. if you set the label of expansion board 1 to "MyAwesomeExpansion" and one of it's drives to "ZAxis", you get super easy to visually parse
                                M569 S1 PMyAwesomeExapnsion.ZAxis

                                Some sort of device tree overlay could be used to make the labeling...

                                FrΓ©dΓ©ric

                                keyz182undefined 1 Reply Last reply Reply Quote 0
                                • gtj0undefined
                                  gtj0 @dc42
                                  last edited by

                                  @dc42 said in GCodes for the next-generation Duet:

                                  @gtj0 said in GCodes for the next-generation Duet:

                                  Oh yeah @dc42, on the new boards you'd better make sure the silkscreen labels match the physical designator scheme. πŸ™‚ Labelling things with their logical uses on the Duet2 and Duex5 was very confusing for me when I started out.

                                  Labelling them with their physical capabilities would be the best option.
                                  drive
                                  2 pin pwm out (2PO)
                                  3 pin in (3IN)
                                  low power mosfet (LPM)
                                  high power mosfet (HPM)
                                  etc.

                                  We're planning to label the connectors Motor0, Motor1, Out0, Out1 etc. Some of the Out ports will have a higher power capability than others, but all will be configurable as motors, fans or general purpose output.

                                  YAY! πŸ™‚ πŸ™‚ πŸ™‚

                                  1 Reply Last reply Reply Quote 0
                                  • keyz182undefined
                                    keyz182 @fma
                                    last edited by

                                    @fma Could be an interesting idea, especially it the DTO is stored on the expansion (seeing as they're getting more intelligent, with CanBus). Plug'n'Play πŸ˜›

                                    1 Reply Last reply Reply Quote 0
                                    • Danalundefined
                                      Danal
                                      last edited by

                                      Another vote for option 3.

                                      And another vote for neutral naming on the silkscreen, and exactly matching the silkscreen number to the gcode number.

                                      And... EVERYTHING should use a CONSISTENT index origin. The first thingie should always be the zero-eth thingie. Always. In a all silkscreen, configuration addressing, documentation, DWC text, etc, etc.

                                      Delta / Kossel printer fanatic

                                      1 Reply Last reply Reply Quote 0
                                      • pawPrinterundefined
                                        pawPrinter
                                        last edited by

                                        I like #3, but could a 4th idea be an additional parameter? eg. P for board, Q for it's driver. Maybe that complicates it more...

                                        deckingmanundefined 1 Reply Last reply Reply Quote 0
                                        • fcwiltundefined
                                          fcwilt
                                          last edited by

                                          Hi,

                                          #3 for sure.

                                          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
                                          • Pilotltdundefined
                                            Pilotltd @dc42
                                            last edited by

                                            We're planning to label the connectors Motor0, Motor1, Out0, Out1 etc. Some of the Out ports will have a higher power capability than others, but all will be configurable as motors, fans or general purpose output.

                                            Labelling as you are planning - Option 3 is fine if this is aimed at CNC machining users but not sure how a slicer would cope - post processors seem to be sadly missing from the usable ones.

                                            Steve

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