Stall guard Endstop not working after upgrade to RRF3



  • Hi all,

    long time no see... After a job-forced hiatus I have again time for my hobbies. Today I upgraded my 3 Duet-powered printers to the RRF3. It's been easier than I anticipated, but on the last printer I ran with an issue. The printer is a cartesian i3 style. The X and Y endstops are stall guard and they used to work just fine with the RRF2. After upgrading to RRF3, the Y axis won't home, and it will throw the following error:

    G28 Y
    Error: Failed to enable endstops
    

    I've rechecked everything but I don't see what could be wrong. Surely my brain has given up already. The other 2 printers work just fine.

    The config and homing files are as follows:

    config.g

    ; Configuration file for Duet WiFi (firmware version 3.11)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Feb 04 2019 17:03:09 GMT+0100 (Central European Standard Time)
    
    ; General preferences
    
    G90                                                ; Send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    
    ;Panel Due Setup
    
    M575 P1 B57600 S1
    
    ; Network
    M550 P"Steel"                                      ; Set machine name
    M552 S1                                            ; Enable network
    
    M586 P0 S1                                         ; Enable HTTP
    M586 P1 S0                                         ; Disable FTP
    M586 P2 S0                                         ; Disable Telnet
    
    ; Drives
    
    M569 P0 S0                                         ; Drive 0 goes backwards
    M569 P1 S0                                         ; Drive 1 goes backwards
    M569 P2 S1                                         ; Drive 2 goes forwards
    M569 P3 S0                                         ; Drive 3 goes backwards
    
    M350 X16 Y16 Z16 E16 I1                            ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E428.7                   ; Set steps per mm
    M566 X600.00 Y600.00 Z18.00 E300.00                ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z480.00 E3600.00            ; Set maximum speeds (mm/min)
    M201 X1500.00 Y1500.00 Z100.00 E10000.00           ; Set accelerations (mm/s^2)
    M906 X650.00 Y800.00 Z800.00 E800.00 I30           ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 
    
    ; Axis Limits
    M208 X-20.8 Y-26.0 Z0 S1                           ; Set axis minima
    M208 X220 Y220 Z200 S0                             ; Set axis maxima
    
    ; Endstops
    M574 X1 S3                                         ; Motor Stall X Endstop
    M574 Y1 S3                                         ; Motor Stall Y Endstop
    
    M915 X Y S30 F0 R0				   ; Stall guard config when not homing
    
    
    M574 Z1 S2 	                                   ; Set endstops controlled by probe
    M558 P5 C"zprobe.in" I1 H5 F300 T6000   	   ; Set Z probe type to switch and the dive height + speeds
    
    G31 P500 X-25 Y7 Z1.36                             ; Set Z probe trigger value, offset and trigger height
                                                       ; The larger the number the closest it gets to the bed
                                                       ; i.e.  1.50 puts the nozzle closer to the bed than 1.20
    M557 X40:210 Y5:190 S20                            ; Define mesh grid
    
    
    ; Bed Heaters/Thermistors
    
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 C0 R4700 	; Define thermistor
    M950 H0 C"bedheat" T0                                           ; Link pin name with heater
    M307 H0 B0 S1.00				                ; Disable bang-bang mode for the bed heater and set PWM limit
    M140 H0								; Links everything on the GUI
    M143 H0 S95                                       		; Set temperature limit for heater 0 to 95C
                                    
    
    ; HotEnd Heaters/Thermistors
    
    M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 R4725 	  ; Define thermistor
    M950 H1 C"e0heat" T1						                      ; Link pin name with heater
    M143 H1 S260
    
    
    ; Bed / HotEnd Autotunes
    
    M307 H1 A667 C208.6 D8.1 V24.2 B0                  ; Hotend Autotune  //Changed
    M307 H0 A165 C313.5 D1.2 V0.0                      ; Bed Autotune //Changed. Silicone heated bed.
    
    ; Fans
    M950 F0 C"fan0" Q500
    M106 P0 S0 H-1                        		   ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    
    M950 F1 C"fan1" Q500
    M106 P1 S1 H1 T45                         	   ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                                                       ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1                                      ; Define tool 0
    G10 P0 X0 Y0 Z0                                    ; Set tool 0 axis offsets
    G10 P0 R0 S0                                       ; Set initial tool 0 active and standby temperatures to 0C
    
    ; Automatic power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
    
    ; Custom settings are not configured
    
    T0
    

    homeall.g

    ; homeall.g
    ; called to home all axes
    
    
    
    G91			; set relative mode
    G1 H2 Z5 F1200 		; lift Z
    G29 S2                  ; to clear the height map before Z homing
    M561                    ;reset bed compensation
    
    
    ; homex.g
    
    G1 H2 X0.2              ; Move X by 0.2 mm, clear stall status
    
    M400 			; make sure everything has stopped before we make changes
    M913 X70 		; X motor % current
    M915 X S2 R0 F0 	; set X sensitivity, do nothing when stall, unfiltered
    M574 X1 S3 		; set endstops to use motor stall
    G1 H1 X-260 F3600 	; move X back, stopping at the end stop
    
    M400 			; make sure everything has stopped
    M913 X100 		; XY motors to 100% current
    
    M915 X S30 R0 F0 	; set X sensitivity high, do nothing when stall, unfiltered
    
    M400; 			; make sure everything has stopped
    
    
    
    
    ; homey.g
    
    
    G1 H2 Y0.2              ; Move Y by 0.2 mm, clear stall status
    
    M913 Y75 		; Y motor % current
    M915 Y S3 R0 F0 	; set X sensitivity, do nothing when stall, unfiltered
    M574 Y S3 		; set endstops to use motor stall
    
    G1 H1 Y-260 F3600 	; move X back, stopping at the end stop
    
    M400 			; make sure everything has stopped
    M913 Y100 		; XY motors to 100% current
    
    M915 Y S30 R0 F0 	; set Y sensitivity high, pause when stall, filtered
    
    M400		        ; make sure everything has stopped
    
    
    
    
    ;homez.g
    
    
    G90         	         ; absolute positioning
    G1 X110 Y110 F6000 	 ; go to first probe point
    G30              	 ; home Z by probing the bed
    
    
    

    homex.g

    ; homex.g
    ; called to home the X axis
    
    
    
    G91			; set relative mode
    G1 H2 X0.2              ; Move X by 0.2 mm, clear stall status
    G29 S2                  ; to clear the height map before Z homing
    M561                    ;reset bed compensation
    
    M400 			; make sure everything has stopped before we make changes
    M913 X70 		; X motor % current
    M915 X S2 R0 F0 	; set X sensitivity, do nothing when stall, unfiltered
    M574 X1 S3 		; set endstops to use motor stall
    G1 H2 Z5 F1200 		; lift Z
    G1 H1 X-260 F3600 	; move X back, stopping at the end stop
    
    M400 			; make sure everything has stopped
    M913 X100 		; XY motors to 100% current
    
    M915 X S30 R0 F0 	; set X sensitivity high, do nothing when stall, unfiltered
    
    G1 H2 Z-5 F1200         ; reset Z
    G90 			; back to absolute mode
    

    homey.g

    ; homey.g
    ; called to home the Y axis
    
    
    G91			; set relative mode
    G1 H2 Y0.2              ; Move Y by 0.2 mm, clear stall status
    G29 S2                  ; to clear the height map before Z homing
    M561                    ; reset bed compensation
    
    M400 			; make sure everything has stopped before we make changes
    M913 Y75 		; Y motor % current
    M915 Y S3 R0 F0 	; set X sensitivity, do nothing when stall, unfiltered
    M574 Y S3 		; set endstops to use motor stall
    G1 H2 Z5 F1200 		; lift Z
    G1 H1 Y-260 F3600 	; move X back, stopping at the end stop
    
    M400 			; make sure everything has stopped
    M913 Y100 		; XY motors to 100% current
    
    M915 Y S30 R0 F0 	; set Y sensitivity high, pause when stall, filtered
    
    G1 H2 Z-5 F1200         ; reset z
    G90 			     ; back to absolute mode
    

  • Moderator

    Do you get the same endstop error message if you run M98 P"config.g"?

    You already have the M574 in your config.g so you don't need them in the homing files as well. Can you remove them?

    Can you post the results of M122 as well?



  • @Phaedrux Thanks a lot, you were right on the money.

    On the homey.g file the command M574 was declared as

    M574 Y S3
    

    without any argument on the Y (Y1 or Y2). And that seemed to be causing the problem.

    I commented it out and everything is back to normal. I wonder why did it work previously.

    Thanks a lot again!


Log in to reply