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

    Extruder parameter format question

    Scheduled Pinned Locked Moved Solved
    General Discussion
    3
    18
    579
    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
      last edited by

      I am trying to reorganize my config file by physical device instead of by resource. Here is an example:

      ; *** X axis *****
      M584 X0 ; custom drive map
      M569 P0 S0 ; Drive 0
      M574 X1 S1 P"x_stop" ; End stop
      M566 X400 ; Set maximum instantaneous speed changes (mm/min)
      M203 X35000 ; Set maximum speeds (mm/min)
      M201 X6000 ; Set accelerations (mm/s^2)
      M208 X-35:328.5 ; Set axis maxima & minima
      M92 X100 ; Set steps per mm at default 1/16 microstepping
      M350 X16 I1 ; Configure microstepping with interpolation
      M906 X1400 I30 ; Set motor currents (mA) and motor idle factor in percent

      For the axes, it works.

      When I try to define my tools similarly, I run into trouble with the extruders because I don't know how to set a value for the nth extruder (other than the first). For example, if I want to set a microstepping value for only the third extruder and I enter:

      M350 E::8:

      it is interpreted as

      M350 E0:0:8:0

      Is there a way to skip over the extruders I do not want to specify ?

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

        @GeneRisi

        I don't think so.

        I would suggest you stick with the more typical approach.

        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
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          Order dependence

          M584 must come earlier in config.g than any M350 and M906 commands. If it creates new axes, it must also be earlier than any M92, M201, M203, M208, M350, M566, M574, M667 and M669 commands.

          Z-Bot CoreXY Build | Thingiverse Profile

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

            @Phaedrux I think I didn't make my question clear. Is there a way to set a single extruder (other than the first in the list)? If I want to set extruder 2 and don't want to change extruder 0 or 1, what is the gcode syntax?

            Thanks!

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

              @GeneRisi said in Extruder parameter format question:

              @Phaedrux I think I didn't make my question clear. Is there a way to set a single extruder (other than the first in the list)? If I want to set extruder 2 and don't want to change extruder 0 or 1, what is the gcode syntax?

              Thanks!

              You do realize that the required order of things, as mentioned, renders your approach unworkable?

              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

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

                @fcwilt , I don't see it yet. This is what I have so far:
                ; *** Tool 0 ***
                M308 S1 P"spi.cs1" Y"rtd-max31865" A"T0" F60 ; PT100
                M950 H1 C"e0_heat" T1 ; Heater
                M143 H1 S390 ; Set temperature limit to 390C
                ;
                M950 F1 C"fan_1" ; HE fan
                M106 P1 S255 H1 T70
                M950 F2 C"fan_2" ; PCF fan
                M106 P2 S0
                ;
                M563 P0 S"T0" D0 H1 F2 ; Define tool
                G10 P0 X0 Y0 Z0 ; Reset tool axis offsets
                G10 P0 R0 S0 ; Reset initial tool active and standby temperatures to 0C

                I would now like to set the microstepping and steps/mm for the extruder associated with "Tool 0". What am I doing wrong?

                Thanks!

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

                  @GeneRisi said in Extruder parameter format question:

                  @fcwilt , I don't see it yet. This is what I have so far:

                  Thanks!

                  Consider your example for configuring the X axis:

                  ; *** X axis *****
                  M584 X0 ; custom drive map
                  M569 P0 S0 ; Drive 0
                  M574 X1 S1 P"x_stop" ; End stop
                  M566 X400 ; Set maximum instantaneous speed changes (mm/min)
                  M203 X35000 ; Set maximum speeds (mm/min)
                  M201 X6000 ; Set accelerations (mm/s^2)
                  M208 X-35:328.5 ; Set axis maxima & minima
                  M92 X100 ; Set steps per mm at default 1/16 microstepping
                  M350 X16 I1 ; Configure microstepping with interpolation
                  M906 X1400 I30 ; Set motor currents (mA) and motor idle factor in percent
                  

                  As an example since M584 must come before M350 how would you configure the Y axis?

                  With your approach it would start with another M594 which would be after the M350 which according to the docs is not allowed.

                  You should enter a complete configuration for both X and Y using your approach into a config_test.g file and see what happens when execute M98 P"config_test.g".

                  We will see if the docs are correct or not. It should be interesting.

                  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
                  • GeneRisiundefined
                    GeneRisi
                    last edited by

                    OK, now I see what you are saying. I read the documentation to mean that the M584 for a given axis had to come before the M350 for that same axis, not that the gcode needed to have all M584s before all M350s.

                    I'll give it a try!

                    GeneRisiundefined 3 Replies Last reply Reply Quote 0
                    • GeneRisiundefined
                      GeneRisi
                      last edited by

                      I just created SeqTest.g which contains this:

                      M584 X0
                      M350 X16
                      M584 Y1
                      M350 Y16

                      It runs fine. Did it do the right thing? I don't know yet.

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

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • GeneRisiundefined
                          GeneRisi @GeneRisi
                          last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • GeneRisiundefined
                            GeneRisi @GeneRisi
                            last edited by

                            @GeneRisi said in Extruder parameter format question:

                            OK, now I see what you are saying. I read the documentation to mean that the M584 for a given axis had to come before the M350 for that same axis, not that the gcode needed to have all M584s before all M350s.

                            So, @dc42 , which is true?

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

                              I think the problem is that M584 isn't empty by default. So when you set a single axis, the other axis are also defined as the defaults. This can lead to some unintended consequences.

                              There are only a few order dependencies in RRF and M584 is one of them.

                              Z-Bot CoreXY Build | Thingiverse Profile

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

                                @Phaedrux , I think my situation now could be a cautionary tale. I went to the printer and smelled something acrid burning. The hemera hot end turned on and the cooling fan did not, so it burned and melted.

                                When I disconnect the hemera, reinsert the sd card with version 2.x on it, I now get an error message after it asks me to do a manual bed leveling, which it never did before. How do I diagnose what's wrong? I am guessing it is hardware unless version 3.2.2 installed something into a non-volatile memory somewhere.

                                I get this error message now:

                                SetPositions called when DDA ring not empty

                                Also, all of my heater settings and temperature reading are -273 ... so strange

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

                                  Post your config.g and the results of sending M122.

                                  Z-Bot CoreXY Build | Thingiverse Profile

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

                                    @Phaedrux I think I know what this problem is now. When I re-insert the sdcard used for RRF2 after the failure, it didn't automatically install RRF2 firmware back on the board, so of course it doesn't work now.

                                    Since my goal is to get RRF3 working, I will redo the config file to the more standard approach.

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

                                      That's correct. The firmware is flashed to the board itself. The SD card is just a storage medium for the config files.

                                      The easiest way to switch between firmware for RRF2 and RRF3 is to upload the full release zip files for the version you want, and then upload your config files for that version.

                                      Z-Bot CoreXY Build | Thingiverse Profile

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

                                        @Phaedrux Thank you!

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