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

RepRapFirmware 3.0

Scheduled Pinned Locked Moved
General Discussion
35
176
29.9k
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.
  • undefined
    carlosspr
    last edited by carlosspr 20 May 2019, 11:37

    Same here using RepRapFirmware 3.0beta3 (2019-05-16b1) . In my case I have two tools (two extruders and one heater). The following is the configuration of my TOOLS section:

    ;_____ TOOLS
    M563 P0 D0 H1                       ; Define tool 0 to use extruder drive 0 and heater 1
    G10 P0 S0 R0 X0 Y0                  ; set tool 0 temperatures and offsets
    M572 D0 S0.1			    ; Pressure advance enable for extruder 0
    
    M563 P1 D1 H1                       ; Define tool 1 to use extruder drive 1 and heater 1
    G10 P1 S0 R0 X0 Y0                  ; set tool 1 temperatures and offsets
    M572 D1 S0.1			    ; Pressure advance enable for extruder 1
    

    None of the tools would move, neither with temp nor forcing cold extrusion with M302

    1 Reply Last reply Reply Quote 0
    • undefined
      dc42 administrators
      last edited by 20 May 2019, 13:23

      Run M584 and check whether the extruders are mapped to drivers 3 and 4.

      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

      undefined 1 Reply Last reply 20 May 2019, 14:05 Reply Quote 0
      • undefined
        carlosspr @dc42
        last edited by carlosspr 20 May 2019, 14:05

        @dc42 Yes they are mapped to drivers 3 and 4. The result of M584 is : Driver Assignments X0 Y1 Z2 E3:4, 3 axes visible.

        undefined 1 Reply Last reply 20 May 2019, 14:17 Reply Quote 0
        • undefined
          dc42 administrators @carlosspr
          last edited by 20 May 2019, 14:17

          Thanks, I will look into 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
          • undefined
            Sytac072
            last edited by Sytac072 22 May 2019, 20:52

            Hello, I have a single extruder configuration. I just tried to install the RepRap firmware 3 and I had had the same problem, no way to move the extruder motor.

            undefined 1 Reply Last reply 23 May 2019, 14:38 Reply Quote 0
            • undefined
              dc42 administrators @Sytac072
              last edited by 23 May 2019, 14:38

              I will do a new RRF3 beta release next week. I need to do another 2.03RC release first.

              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
              • undefined
                dc42 administrators
                last edited by 27 May 2019, 11:13

                I am planning a new build of RRF 3 later this week, incorporating the recent improvements in RRF 2.03RC3. Meanwhile, I think you can probably get extrusion working if you use M584 to assign extruder drives explicitly. Although M584 appears to shows the correct extruder drive mapping by default, in reality the extruder data has not been set up fully.

                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
                • undefined
                  MoczikGabor @Veti
                  last edited by 27 May 2019, 15:30

                  @veti said in RepRapFirmware 3.0:

                  @dc42 said in RepRapFirmware 3.0:

                  The current plan is 30V or perhaps 36V. It's difficult to find 5V buck regulator chips that accept higher than 40V input.

                  why not says that for input above 30V the 5V line has to be supplied via the ext 5V?

                  I think that the board could have separate V_MOT and V_IN terminals.
                  The V_MOT could accept higher voltage which would go solely to the motor drivers.
                  The V_IN could accept 25-30V max as you will probably need 12/24V for the hotends or fans anyway, or for other automation purposes in CNC. This is how I usually do in custom machines I design.

                  Those who don't need higher voltage or anything special just have to connect the V_MOT and V_IN parallel, those who need it could use two power supplies.

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Alexander Mundy
                    last edited by 27 May 2019, 20:17

                    @dc42 Sorry for my confusion but if you (or anyone) could help me I would appreciate it. I just got the delta endstops and homing working but I do have 2 things remapped. My bed heat SSR's are connected to E1 and my part fan is connected to H0.

                    I managed to get the part fan working with:
                    M950 F0 C"bedheat" Q25500

                    Autotuned the hotend but the bed is the problem.
                    For the bed I am trying:

                    M140 H2 (without this the thermistor shows 2000 in web)
                    M950 H0 C"e1heat" Q10

                    And when I try autotune I get:
                    M303 H0 S110
                    Error: heater 0 reported error 'unknown temperature sensor channel' at start of auto tuning

                    The web interface shows the bed temp
                    alt text

                    What am I doing wrong?

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Alexander Mundy
                      last edited by 27 May 2019, 21:09

                      A little further testing.

                      M950 H2 C"nil"
                      M950 H0 C"e1heat" Q10

                      Sending "M950 H0"
                      I receive "Heater 0 pin e1heat, frequency 10Hz"

                      However the bed temp in the web interface shows 2000 with the thermistor plugged into either the board bed heat or E1 spots.

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Alexander Mundy
                        last edited by 27 May 2019, 23:35

                        Nevermind, I went back through this thread and found that I needed to explicitly release all 3 pins before remapping. 🤦

                        M950 H0 C"nil"
                        M950 H2 C"nil"
                        M950 F0 C"nil"
                        M950 H0 C"e1heat" Q10
                        M950 F0 C"bedheat" Q25500

                        Now when I plug the bed thermistor into the standard bed heat jack it reports in the web interface and bed heat appears to work.

                        undefined 1 Reply Last reply 28 May 2019, 08:31 Reply Quote 0
                        • undefined
                          gnydick
                          last edited by gnydick 28 May 2019, 04:38

                          @dc42 as you know, I've pointed a number of issues around implicit logic vs explicit logic and my desire for there to be no implementation of implicit logic because it is not possible for an opinionated system to fit everyone's needs without requiring extra work by anyone who doesn't use the majority case.

                          I've been thinking about this after reading some of posts on this thread that demonstrate the coming complexity and others that propose implicit logic. That seemed like a bad idea, at first...

                          I have the beginnings of a concept, but not a concrete example yet. Maybe I can do a sufficient job in conveying my concept.

                          Some observation: I know the board is a CNC board. It is controlled by g-code. The current complex behavior co-opts g-code for the purpose of configuration.

                          Some opinion: I believe not all configuration should be in g-code. Assigning pins, for example. These are lower level than other configs because they change how the board presents itself to the things connected to it as well as what connection contract it's expecting.

                          I was thinking that since there is added complexity, a tiered configuration may make more sense.

                          My idea is to have personalities.

                          • 5-axis CNC
                          • 3-axis CNC
                          • CoreXY printer
                          • H-bot printer
                            Etc.

                          I think this separation cleans up the organization and presentation of configuration. It also allows for MORE implicit logic.

                          It'd be awesome to go to https://configurator.reprapfirmware.org/ and have a choice to pick from these personalities to begin the process and you input the high level configuration that seems appropriate for g-code like dimensions, tools, etc. All of those configs actually depend on the lower level config.

                          This would allow for a more concise g-code that isn't polluted with things that machine itself doesn't care about once it's personality is set.

                          undefined 1 Reply Last reply 28 May 2019, 08:56 Reply Quote 0
                          • undefined
                            dc42 administrators @Alexander Mundy
                            last edited by dc42 28 May 2019, 08:31

                            @alexander-mundy said in RepRapFirmware 3.0:

                            Nevermind, I went back through this thread and found that I needed to explicitly release all 3 pins before remapping. 🤦

                            M950 H0 C"nil"
                            M950 H2 C"nil"
                            M950 F0 C"nil"
                            M950 H0 C"e1heat" Q10
                            M950 F0 C"bedheat" Q25500

                            Now when I plug the bed thermistor into the standard bed heat jack it reports in the web interface and bed heat appears to work.

                            I'm glad you got it working. A slight simplification should be possible, because assigning a pin to a device releases the existing pin used by that device. So the following should also work:

                            M950 H2 C"nil"
                            M950 H0 C"e1heat" Q10
                            M950 F0 C"bedheat" Q25500

                            The first command is needed to make pin "e1heat" available to use in the second command. The second command free up the "bedheat" pin, making to available in the third 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
                            • undefined
                              dc42 administrators @gnydick
                              last edited by 28 May 2019, 08:56

                              @gnydick said in RepRapFirmware 3.0:

                              Some observation: I know the board is a CNC board. It is controlled by g-code. The current complex behavior co-opts g-code for the purpose of configuration.

                              Some opinion: I believe not all configuration should be in g-code. Assigning pins, for example. These are lower level than other configs because they change how the board presents itself to the things connected to it as well as what connection contract it's expecting.

                              There are two separate issues here: whether CNC mode/FDM mode should be controlled by GCode, and whether pin assignments should be controlled by GCode.

                              For CNC vs FDM mode, the choice was easy, because the M450 thru M453 commands has already been defined, documented, and implemented by Repetier firmware.

                              For pin configuration, I did consider using an alternative syntax, possibly related directly to the (not yet complete) object model. But it turned out that only one additional GCode command was needed (M950), and it was simpler to add it than to write a separate parser to handle a new syntax for configuring pin functions. Also, during development it is a huge advantage that I can reallocate pin functions on the fly, without needing to reboot the Duet each time I make a change.

                              I have considered whether some GCode commands such as M950 and M669 should be restricted to being recognised in config.g only. Or we could introduce a new GCode that disables recognition of M950, M669 and other potentially dangerous commands, and have configtool add that command to the end of config,g by default..

                              I was thinking that since there is added complexity, a tiered configuration may make more sense.

                              My idea is to have personalities.

                              • 5-axis CNC
                              • 3-axis CNC
                              • CoreXY printer
                              • H-bot printer
                                Etc.

                              I think this separation cleans up the organization and presentation of configuration. It also allows for MORE implicit logic.

                              It'd be awesome to go to https://configurator.reprapfirmware.org/ and have a choice to pick from these personalities to begin the process and you input the high level configuration that seems appropriate for g-code like dimensions, tools, etc. All of those configs actually depend on the lower level config.

                              There is certainly a lot more that could be done in configtool. But however much we do, there will be some configurations that it doesn't cater for. I think most users who build more advanced machines such as CoreXY and CNC machines are also the sorts of users who maintain their config.g and homing files by hand. However, it wouldn't be hard to create a number of generic machine profiles that can be imported to provide useful starting points.

                              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 undefined 2 Replies Last reply 28 May 2019, 15:56 Reply Quote 0
                              • gtj0undefined
                                gtj0 @dc42
                                last edited by 28 May 2019, 15:56

                                @dc42 said in RepRapFirmware 3.0:

                                However, it wouldn't be hard to create a number of generic machine profiles that can be imported to provide useful starting points.

                                Sounds like an opportunity for community participation.
                                Maybe a page on the wiki with machine descriptions and associated config.g?
                                Or maybe a moderated forum section where folks could post theirs?

                                ? 1 Reply Last reply 28 May 2019, 18:11 Reply Quote 0
                                • undefined
                                  gnydick @dc42
                                  last edited by gnydick 28 May 2019, 16:49

                                  @dc42 I think there may be a little disconnect.

                                  I wasn't suggesting CNC mode vs FDM mode, those just happen to be examples of types of machines, there could be laser engraver, etc. Technically, they are all CNC.

                                  Also, my examples, like pins, were not meant to be an exhaustive list, are there no other config options that are low level?

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @gtj0
                                    last edited by 28 May 2019, 18:11

                                    @gtj0 said in RepRapFirmware 3.0:

                                    Maybe a page on the wiki with machine descriptions and associated config.g?

                                    "Templates" for use with the online firmware configurator is already possible by means of the config.json file that can be loaded and changed as needed (as long as the configurator support making the neccecary changes or they can fit in the custom g-codes section at the end).

                                    1 Reply Last reply Reply Quote 1
                                    • undefined
                                      dc42 administrators @dc42
                                      last edited by 12 Jun 2019, 13:49

                                      I have put a new RepRapFirmware 3 binary for Duet 2 at https://www.dropbox.com/s/fyvibzm0zl92hiy/Duet2CombinedFirmware.bin?dl=0. This restores support for M577, M581 and M582. See https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview for details of changes to those commands.

                                      The only RRF 2 feature not yet supported in RRF 3 is now the ability to use stall detection to terminate an extruder move.

                                      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 2
                                      • undefined
                                        smoki3
                                        last edited by smoki3 13 Jun 2019, 08:44

                                        Today I switched to the 3.0.

                                        @dc42 So I got everything to work besides the Z-Probe.

                                        I use a normal mircoswitch connected to zstop pin on the duet2wifi.

                                        But it tells me that it it always triggered.

                                        I used this according to the documentation:

                                        M574 Z0 C"nil" 				       ; no Z endstop switch, free up Z endstop input
                                        M558 P5 C"zstop" H3 F180 T25000 I1 	       ; Z probe connected to Z endstop input
                                        

                                        I also tried to remove the inversion "I1" and put an "!zstop" in the C command. But it doesnt help.

                                        In DWC I see the probe value changes from 0 to 1000 if I press the switch. But the background of the value is always read

                                        I played alot now with all the parameters. Looks like the probe is always trigged no matter which pin is selected. But I can not test an older build because the files in dropbox is replaced.

                                        Here are some console outputs:

                                        M119
                                        Endstops - X: not stopped, Y: not stopped, Z: not stopped, Z probe: at min stop
                                        
                                        M574
                                        Endstop configuration: X: low end motor stall (any motor), Y: low end motor stall (any motor), Z: none
                                        
                                        M558
                                        Z Probe 0: type 5, input pin zstop, output pin nil, invert yes, dive height 3.0mm, probe speed 180mm/min, travel speed 25000mm/min, recovery time 0.00 sec, heaters normal, max taps 1, max diff 0.03
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          dc42 administrators
                                          last edited by 13 Jun 2019, 11:50

                                          @smoki3 said in RepRapFirmware 3.0:

                                          I use a normal mircoswitch connected to zstop pin on the duet2wifi.
                                          But it tells me that it it always triggered.

                                          What does - the M119 report, or something else? Are you saying that DWC shows the correct Z probe status, but M119 does not?

                                          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