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

    user array variables?

    Scheduled Pinned Locked Moved
    Gcode meta commands
    8
    21
    1.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.
    • Diamondbackundefined
      Diamondback @dc42
      last edited by

      @dc42 user declared arrays would be really helpful 🙂

      DonStaufferundefined 1 Reply Last reply Reply Quote 0
      • Diamondbackundefined
        Diamondback
        last edited by

        My use case would be storing tool specific PA, DAA, retraction etc settings for easier access. Currently this looks like this:

        M302 S220 R150			;Cold extrusion settings
        
        var retractionDistance = 0.6
        var retractionSpeed = 2100
        var pressureAdvance = 0
        
        if state.currentTool == 0
        	if global.tool0NozzleSize == 0.25
        		;set var.pressureAdvance = 0.11
        	elif global.tool0NozzleSize == 0.4
        		set var.pressureAdvance = 0.11
        	elif global.tool0NozzleSIze == 0.8
        		;set var.pressureAdvance = 0.11
        elif state.currentTool == 1
        	if global.tool1NozzleSize == 0.3
        		;set var.pressureAdvance = 0.11
        	elif global.tool1NozzleSize == 0.4
        		set var.pressureAdvance = 0.11
        elif state.currentTool == 2
        	if global.tool2NozzleSize == 0.3
        		;set var.pressureAdvance = 0.11
        	elif global.tool2NozzleSize == 0.4
        		set var.pressureAdvance = 0.11
        elif state.currentTool == 3
        	if global.tool3NozzleSize == 0.3
        		;set var.pressureAdvance = 0.11
        	elif global.tool3NozzleSize == 0.4
        		set var.pressureAdvance = 0.11
        	
        if state.currentTool >= 0
        	M207 S{var.retractionDistance} F{var.retractionSpeed} Z0.0	;firmware retraction settings for PETG
        	M572 D{tools[state.currentTool].extruders[0]} S{var.pressureAdvance}
        

        This would be so much nicer with a lookup table like format.

        fcwiltundefined 1 Reply Last reply Reply Quote 0
        • DonStaufferundefined
          DonStauffer @Diamondback
          last edited by

          @diamondback Agreed. I'm working around the lack of arrays and it's complicating things a bit.

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

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • Diamondbackundefined
              Diamondback
              last edited by

              Any news on the feasibility of this? @dc42
              Would still love to get support for this and clean up my tool/filament configuration by putting it all in a nice array instead of many many files distributed across /macros

              Marcossfundefined 1 Reply Last reply Reply Quote 0
              • Marcossfundefined
                Marcossf @Diamondback
                last edited by

                @dc42 @chrishamm

                Any update about the implementation of this topic?

                May the 3.4 stable version have this feature?

                Thanks!

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

                  @marcossf it's unlikely to be included in 3.4 stable.

                  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

                  Marcossfundefined 1 Reply Last reply Reply Quote 2
                  • Marcossfundefined
                    Marcossf @dc42
                    last edited by

                    @dc42 Thanks David.

                    1 Reply Last reply Reply Quote 0
                    • Diamondbackundefined
                      Diamondback
                      last edited by Diamondback

                      @dc42 Seeing that there is some work happening on this topic, are there likely gonna be hardware restrictions to user arrays? (Like only being available on Duet 3 hardware etc)
                      If so, I'd like to know early, I'd happily switch to 3 hardware just for this one feature alone 😄

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

                        @diamondback current plans are to include support for array variables in RRF 3.5 for Duet 2, but to remove some of the kinematics options from the standard build, for example Rotary Delta and Hangprinter.

                        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

                        Diamondbackundefined 2 Replies Last reply Reply Quote 1
                        • Diamondbackundefined
                          Diamondback @dc42
                          last edited by

                          @dc42 Many thanks, your awesome work keeps taking away my arguments to finally switch to Duet 3 hardware 😄

                          1 Reply Last reply Reply Quote 0
                          • Diamondbackundefined
                            Diamondback @dc42
                            last edited by

                            @dc42 Just out of interest, will nested arrays be possible? Not strictly needed for my use case, but would certainly further clean up the meta gcode.

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

                              @diamondback yes.

                              f602bc06-1d72-4390-bc35-2a88b4db5341-image.png

                              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

                              Diamondbackundefined OwenDundefined 2 Replies Last reply Reply Quote 3
                              • Diamondbackundefined
                                Diamondback @dc42
                                last edited by

                                @dc42 🎊 Awesome!

                                1 Reply Last reply Reply Quote 0
                                • OwenDundefined
                                  OwenD @dc42
                                  last edited by

                                  @dc42
                                  That's very cool 😎
                                  May be too early for details, but...
                                  Out of interest, how would one address the individual values of the multi dimensional array?

                                  {MyArray[3[2]]} ?

                                  while iterations < {#MyArray[3]}
                                  echo {MyArray[3[iterations]]}

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

                                    @owend it would be: MyArray[3][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
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA