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

    RepRapFirmware 3.0RC1 released

    Scheduled Pinned Locked Moved
    Beta Firmware
    19
    77
    5.6k
    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.
    • 3dmntbighkerundefined
      3dmntbighker @dc42
      last edited by 3dmntbighker

      @dc42 said in RepRapFirmware 3.0RC1 released:

      @3dmntbighker said in RepRapFirmware 3.0RC1 released:

      Next question...

      After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.

      It's always been that way on CoreXY machines, because G1 H2 moves are individual motor moves.

      Well my homex no longer functions after changing S commands to H commands.

      M400 ; make sure everything has stopped before we make changes
      M913 X70 Y70 ; reduce motor current to 60% to prevent belt slipping
      G91 ; relative positioning
      G1 Z5 H2 F2000 ; drop bed relative to current position ; happens
      G4 P250 ; wait 250msec
      G1 X-300 H1 F3000 ; move quickly to X end stop and stop there (first pass) ; never happens
      G4 P250 ; wait 250msec
      G1 X30 F1000 ; Move Away 5mm X axis ; never happens
      G1 X-35 H1 F2000 ; doesn't happen
      M913 X100 Y100 ; motor current back to normal
      G1 Z-5 H2 F200 ; drop bed relative to current position ; doesn't happen
      G90 ; absolute positioning
      G1 X20 F1000
      M300 S600 P100

      If I run Home X a second time nothing happens and I get a spinner.

      Scratch built CoreXY with Maestro
      Heavily modified Ender 3 with Maestro
      MPCNC work in progress with Duet WiFi

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @3dmntbighker
        last edited by deckingman

        @3dmntbighker That's odd. Homing works for me on my CoreXY using H1. Mine is a bit complicated because it's actually a CoreXYUVAB but the pure X moves are essentially the same as yours. The major difference I see in your file is the use of G4 which I don't bother with. Try taking those out. If that fixes it, you may have found a bug.

        Edit, There is one other difference in my homing files. I don't use H2 in the Z move - I have M564 H0 in my config.g to allow moves prior to homing. So if taking out the G4 commands doesn't fix it, try using M564 H0 instead of the H2 Z move and report back (in case you've unearthed a bug).

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
        • 3dmntbighkerundefined
          3dmntbighker @deckingman
          last edited by

          @deckingman said in RepRapFirmware 3.0RC1 released:

          @3dmntbighker That's odd. Homing works for me on my CoreXY using H1. Mine is a bit complicated because it's actually a CoreXYUVAB but the pure X moves are essentially the same as yours. The major difference I see in your file is the use of G4 which I don't bother with. Try taking those out. If that fixes it, you may have found a bug.

          Edit, There is one other difference in my homing files. I don't use H2 in the Z move - I have M564 H0 in my config.g to allow moves prior to homing. So if taking out the G4 commands doesn't fix it, try using M564 H0 instead of the H2 Z move and report back (in case you've unearthed a bug).

          Now X doesn't move at all after the Z move...

          M400 ; make sure everything has stopped before we make changes
          M913 X70 Y70 ; reduce motor current to 60% to prevent belt slipping
          G91 ; relative positioning
          G1 Z5 F2000 ; drop bed relative to current position
          G1 X-300 H1 F3000 ; move quickly to X end stop and stop there (first pass)
          G1 X30 F1000 ; Move Away 5mm X axis
          G1 X-35 H1 F2000
          M913 X100 Y100 ; motor current back to normal
          G1 Z-5 F200 ; drop bed relative to current position
          G90 ; absolute positioning
          G1 X20 F1000
          M300 S600 P100

          config.g

          M111 S0 ; Debug off

          ; Network
          M550 P"5Rails" ; Set machine name
          M552 P192.168.1.100 S1 ; Enable network set IP
          M553 P255.255.255.0 ; Netmask
          M554 P192.168.1.1 ; Gateway
          M586 P0 S1 ; Enable HTTP
          M586 P1 S0 ; Disable FTP
          M586 P2 S0 ; Disable Telnet

          M555 P2 ; Set output to look like Marlin

          ; *** Machine configuration
          M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)
          M569 P1 S1 ; Drive 1 goes forwards
          M569 P2 S0 ; Drive 2 goes backwards
          M569 P3 S1 ; Drive 3 goes forwards
          M569 P4 S1 ; Drive 4 goes forwards

          ; Endstops
          M574 X1 S0 P"xstop" ; X min active low endstop switch
          M574 Y1 S0 P"ystop" ; Y min active low endstop switch
          M574 Z1 S0 P"zstop" ; Z min active low endstop switch
          M591 D0 P2 C"e0_stop" S1 ; E0 filament sensor active high

          M669 K1 ; set CoreXY mode
          M564 H0 ; Allow moves prior to homing
          M92 X100 Y100 Z1000 ; Set axis steps/mm
          M92 E415 ; Set extruder steps/mm
          M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
          M906 X1000 Y1000 Z800 E800 I50 ; Set motor currents (mA)
          M201 X1000 Y1000 Z100 E900 ; Accelerations (mm/s^2)
          M203 X40000 Y30000 Z800 E1800 ; Maximum speeds (mm/sec)
          M566 X800 Y800 Z50 E800 ; Maximum jerk speeds mm/sec

          M208 X300 Y275 Z330 ; set axis maxima (adjust to suit your machine)
          M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
          G21 ; Work in millimetres
          G90 ; Send absolute coordinates...
          M83 ; ...but relative extruder moves

          ; Z probe type
          M558 P8 I1 R2 A5 F400 T3000 H5 ; Peizo Z probe, also used for homing the Z axis

          G31 Z0.2 P600 ; Set the probe height and threshold (put your own values here)
          M557 X25:275 Y15:265 S50 ;
          M375 ; Load heightmap.csv
          M376 H10 ; Taper off bed compensation up to 10mm

          M308 S0 P"bed_temp" Y"thermistor" R2200 T100000 B3950 ; Put your own H and/or L values here to set the bed thermistor ADC correction
          M308 S1 Y"rtd-max31865" R400 P"spi.cs1" F60 ; Activate PT100 hotend temp sensor
          M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
          M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
          M501 ; Load config_override.g for 40W Auto tune
          ; M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1

          ; Tool definition
          M563 P0 D0 H1 ; Define tool 0
          G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures

          ; *** If you are using axis compensation, put the figures in the following command
          M556 S78 X0 Y0 Z0 ; Axis compensation here

          T0 ; select first hot end

          Scratch built CoreXY with Maestro
          Heavily modified Ender 3 with Maestro
          MPCNC work in progress with Duet WiFi

          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @3dmntbighker
            last edited by

            @3dmntbighker Sounds like a similar issue to https://forum.duet3d.com/topic/13409/large-core-homing-issue

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            1 Reply Last reply Reply Quote 0
            • 3dmntbighkerundefined
              3dmntbighker
              last edited by

              It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.

              Scratch built CoreXY with Maestro
              Heavily modified Ender 3 with Maestro
              MPCNC work in progress with Duet WiFi

              deckingmanundefined 1 Reply Last reply Reply Quote 0
              • deckingmanundefined
                deckingman @3dmntbighker
                last edited by

                @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.

                To clarify that, are you saying that you can change between S0 and S1 but the axis won't move unless you press the switch? What does M119 give you with and without the switch depressed?

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

                3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                • 3dmntbighkerundefined
                  3dmntbighker @deckingman
                  last edited by 3dmntbighker

                  @deckingman said in RepRapFirmware 3.0RC1 released:

                  @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                  It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.

                  To clarify that, are you saying that you can change between S0 and S1 but the axis won't move unless you press the switch? What does M119 give you with and without the switch depressed?

                  Correct

                  M119
                  Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: at min stop

                  Pressed:

                  M119
                  Endstops - X: not stopped, Y: at min stop, Z: at min stop, Z probe: at min stop

                  Also, after I attempt to home X nothing will move. None of the axis respond to the move buttons in the interface. Changing M574 from S0 to S1 gives the same result.

                  Scratch built CoreXY with Maestro
                  Heavily modified Ender 3 with Maestro
                  MPCNC work in progress with Duet WiFi

                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                  • deckingmanundefined
                    deckingman @3dmntbighker
                    last edited by

                    @3dmntbighker So all the end stops are inverted. In which case changing from S0 to S1 should fix it. Unless you have unearthed a bug..........

                    Try using "!" to invert the end stops instead of the "S" parameter. i.e. M574 X1 S0 P"xstop" should give you one condition and M574 X1 S0 P"!xstop" should invert it. You want M119 to say "not stopped" normally and "at min stop" when the switch is pressed.

                    Ian
                    https://somei3deas.wordpress.com/
                    https://www.youtube.com/@deckingman

                    1 Reply Last reply Reply Quote 0
                    • deckingmanundefined
                      deckingman
                      last edited by

                      Another thought.......you haven't got any M574 commands in your config-overide file which might be overriding config.g have you?

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

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

                        @3dmntbighker Assuming you get the endstops configured, here are my working corexy homing files if they'll help. Notice I don't use H2 at all.

                        ; homex.g
                        G91
                        G1 Z2 F200
                        G1 H1 X-500 F6000
                        G1 X4 F600
                        G1 H1 X-10
                        G1 Z-2 F200
                        
                        ; homey.g
                        G91
                        G1 Z2 F200
                        G1 H1 Y-500 F6000
                        G1 Y4 F600
                        G1 H1 Y-10
                        G1 Z-2 F200
                        
                        ; homexy.g
                        G91
                        G1 Z2 F200
                        G1 H1 X-500 Y-500 F6000
                        G1 H1 X-500 F6000
                        G1 H1 Y-500 F6000
                        G1 X4 Y4 F600
                        G1 H1 X-10
                        G1 H1 Y-10
                        G1 Z-2 F200
                        

                        homexy.g gets called from homeall.g

                        Oops, forgot to mention... If Z isn't already homed, you'll need to add H2 to the Z moves.

                        1 Reply Last reply Reply Quote 0
                        • 3dmntbighkerundefined
                          3dmntbighker @deckingman
                          last edited by

                          @deckingman said in RepRapFirmware 3.0RC1 released:

                          Another thought.......you haven't got any M574 commands in your config-overide file which might be overriding config.g have you?

                          No

                          Scratch built CoreXY with Maestro
                          Heavily modified Ender 3 with Maestro
                          MPCNC work in progress with Duet WiFi

                          1 Reply Last reply Reply Quote 0
                          • 3dmntbighkerundefined
                            3dmntbighker
                            last edited by

                            So, my config.g is shown above. But if I "select all" in the editor and paste into a standard text editor I get the following (ignore the extra stuff I had clipped out):

                            0:/sys/config.g
                            ; *** CoreXY sample config file for dc42 Duet firmware
                            
                            M111 S0				; Debug off
                            
                            ; Network
                            M550 P"5Rails"                     ; Set machine name
                            M552 P192.168.1.100 S1             ; Enable network set IP
                            M553 P255.255.255.0                ; Netmask
                            M554 P192.168.1.1                  ; Gateway
                            M586 P0 S1                         ; Enable HTTP
                            M586 P1 S0                         ; Disable FTP
                            M586 P2 S0                         ; Disable Telnet
                            
                            M555 P2				; Set output to look like Marlin
                            ; M575 P1 B57600 S1		; Comms parameters for PanelDue
                            
                            ; *** Machine configuration
                            M569 P0 S1				; Drive 0 goes forwards (change to S0 to reverse it)
                            M569 P1 S1				; Drive 1 goes forwards
                            M569 P2 S0				; Drive 2 goes backwards
                            M569 P3 S1				; Drive 3 goes forwards
                            M569 P4 S1				; Drive 4 goes forwards
                            ; *** If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
                            
                            ; Endstops
                            M574 X1 S0 P"xstop"   ; X min active low endstop switch
                            M574 Y1 S0 P"ystop"   ; Y min active low endstop switch
                            M574 Z1 S0 P"zstop"   ; Z min active low endstop switch
                            M591 D0 P2 C"e0_stop" S1	; E0 filament sensor active high 
                            ; M915 X Y S5 R0 F0 	; set X and Y to sensitivity 5, do nothing when stall, unfiltered... NOT on Maestro :-(
                            
                            M669 K1					; set CoreXY mode
                            M564 H0					; Allow moves prior to homing
                            M92 X100 Y100 Z1000			; Set axis steps/mm
                            M92 E415				; Set extruder steps/mm
                            ; M203 X15000 Y15000 Z1500 E3600	; Maximum speeds (mm/sec)
                            ; M566 X600 Y600 Z50 E900		; Maximum jerk speeds mm/sec
                            M350 X16 Y16 Z16 E16 I1			; Configure microstepping with interpolation
                            M906 X1000 Y1000 Z800 E800 I50	        ; Set motor currents (mA)
                            M201 X1000 Y1000 Z100 E900		; Accelerations (mm/s^2)
                            ; M203 X40000 Y30000 Z800 E1800		; Maximum speeds (mm/sec)
                            M203 X4000 Y3000 Z800 E1800		; Maximum speeds (mm/sec)
                            M566 X800 Y800 Z50 E800			; Maximum jerk speeds mm/sec
                            
                            M208 X300 Y275 Z330			; set axis maxima (adjust to suit your machine)
                            M208 X0 Y0 Z0 S1			; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
                            G21					; Work in millimetres
                            G90					; Send absolute coordinates...
                            M83					; ...but relative extruder moves
                            
                            ; Z probe type
                            M558 P8 I1 R2 A5 F400 T3000 H5              ; Peizo Z probe, also used for homing the Z axis
                            
                            G31 Z0.2 P600                      ; Set the probe height and threshold (put your own values here)
                            ; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
                            ; *** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
                            M557 X25:275 Y15:265 S50                      ;
                            M375                                        ; Load heightmap.csv
                            M376 H10                                    ; Taper off bed compensation up to 10mm
                            
                            ; Thermistors and heaters
                            ; *** If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands
                            ; You can also use S and B parameters to define the parameters of the thermistors you are using
                            M308 S0 P"bed_temp" Y"thermistor" R2200 T100000 B3950	; Put your own H and/or L values here to set the bed thermistor ADC correction
                            M308 S1 Y"rtd-max31865" R400 P"spi.cs1" F60			; Activate PT100 hotend temp sensor
                            M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
                            M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
                            ; M305 P1 R4700 H0 L0			; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
                            ; M305 P2 R4700 H0 L0			; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
                            ; M301 H1 P10 I0.10 D100 T0.50 S1.0	; PID settings for extruder 0
                            ; M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1 ; Old bed heater PID settings
                            ; M307 H1 A497.3 C234.6 D3.7 B0		; ***Auto tune derived 30W preferred extruder 0 PID settings ***
                            ; M308 P101 X1001 S"DuetDriversTemp"	; Virtual heater to display stepper driver over temp flags
                            M501                                    ; Load config_override.g for 40W Auto tune
                            ; M301 H2 P10 I0.10 D100 T0.50 S1.0	; PID settings for extruder 1
                            
                            ; Tool definition
                            M563 P0 D0 H1				; Define tool 0
                            G10 P0 S0 R0			; Set tool 0 operating and standby temperatures
                            ; *** If you have a dual-nozzle build, un-comment the following 3 lines
                            ; M563 P1 D1 H2				; Define tool 1
                            ; G10 P1 S0 R0				; Set tool 1 operating and standby temperatures
                            
                            ; *** If you are using axis compensation, put the figures in the following command
                            M556 S78 X0 Y0 Z0			; Axis compensation here
                            
                            ; M98 PStartup.g                  ; Play tune
                            
                            T0				; select first hot end
                            5Rails
                            Send code...
                            Status
                            Idle
                            Mode: FFF
                            Tool Position
                            X
                            20.0
                            Y
                            0.0
                            Z
                            0.01
                            Extruder Drives
                            Drive 0
                            0.0
                            Speeds
                            Requested Speed
                            0 mm/s
                            Top Speed
                            0 mm/s
                            Sensors
                            Vin
                            24.2 V
                            MCU Temperature
                            40.5 C
                             Tools
                             Extra
                             Control All
                            Tool	Heater	Current	Active	Standby
                            Tool 0
                            T0 - PLA	Heater 1
                            active	23.2 C	
                            0
                            0
                            Bed	Heater 0
                            off	22.5 C	
                            0
                            0
                            Temperature Chart
                            System Directory
                            

                            Is the extra stuff at the end normal?

                            Scratch built CoreXY with Maestro
                            Heavily modified Ender 3 with Maestro
                            MPCNC work in progress with Duet WiFi

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

                              @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                              I think the stuff after the T0 is just from copying from the DWC web page.

                              In any case, try putting the "M669 K1" at the top of the file. I don't think it'll make a difference but it may.

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

                                This is covered In the upgrade notes. S0 is no longer supported in M574. Use S1 and invert the pin using ! at the start of the pin name.

                                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

                                3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                                • 3dmntbighkerundefined
                                  3dmntbighker @gtj0
                                  last edited by

                                  @gtj0 said in RepRapFirmware 3.0RC1 released:

                                  @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                                  I think the stuff after the T0 is just from copying from the DWC web page.

                                  In any case, try putting the "M669 K1" at the top of the file. I don't think it'll make a difference but it may.

                                  Yeah, looking at the file directly on the SD card it looks normal. I can enter M669 K1 in the console and no difference. It really seems to be an issue with M574? There seems to be no way to change the end stop from active high to active low. Changing M574 it always acts the same.

                                  Scratch built CoreXY with Maestro
                                  Heavily modified Ender 3 with Maestro
                                  MPCNC work in progress with Duet WiFi

                                  1 Reply Last reply Reply Quote 0
                                  • 3dmntbighkerundefined
                                    3dmntbighker @dc42
                                    last edited by

                                    @dc42 said in RepRapFirmware 3.0RC1 released:

                                    This is covered In the upgrade notes. S0 is no longer supported in M574. Use S1 and invert the pin using ! at the start of the pin name.

                                    It's not noted in the M574 section of the RepRap changes document. Nor on the main G-code page. Which does have many notations about RRF3.

                                    Thanks, I'm operational now. I had some issues with the Piezo sensor but I resolved those.

                                    Scratch built CoreXY with Maestro
                                    Heavily modified Ender 3 with Maestro
                                    MPCNC work in progress with Duet WiFi

                                    deckingmanundefined 1 Reply Last reply Reply Quote 1
                                    • deckingmanundefined
                                      deckingman @3dmntbighker
                                      last edited by

                                      @3dmntbighker TBH, I didn't know that S0 had been withdrawn either. I was going by this thread https://forum.duet3d.com/topic/13136/m574-usage-on-rrf-3 where David said his intention was not to withdraw S0.

                                      Ian
                                      https://somei3deas.wordpress.com/
                                      https://www.youtube.com/@deckingman

                                      3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                                      • 3dmntbighkerundefined
                                        3dmntbighker @deckingman
                                        last edited by

                                        @deckingman said in RepRapFirmware 3.0RC1 released:

                                        @3dmntbighker TBH, I didn't know that S0 had been withdrawn either. I was going by this thread https://forum.duet3d.com/topic/13136/m574-usage-on-rrf-3 where David said his intention was not to withdraw S0.

                                        That's what we get for being bleeding edge. I don't ask for apologies 😉

                                        DC is "the man". He's done as much for my 3D printing as anyone.

                                        Scratch built CoreXY with Maestro
                                        Heavily modified Ender 3 with Maestro
                                        MPCNC work in progress with Duet WiFi

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

                                          Yes, I changed my mind. I found an inconsistency in how local and remote endstops configured using S0 were treated, and that led me to decide that providing two ways of doing the same thing was an unecessary complication.

                                          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

                                          deckingmanundefined 1 Reply Last reply Reply Quote 1
                                          • deckingmanundefined
                                            deckingman @dc42
                                            last edited by

                                            @dc42 said in RepRapFirmware 3.0RC1 released:

                                            Yes, I changed my mind. I found an inconsistency in how local and remote endstops configured using S0 were treated, and that led me to decide that providing two ways of doing the same thing was an unecessary complication.

                                            Fair enough. @droftarts or someone needs to update the Gcode documentation to reflect that. https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3

                                            Ian
                                            https://somei3deas.wordpress.com/
                                            https://www.youtube.com/@deckingman

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