Weid stuff when homing.
-
Printter does not home, just mooves abit towards the endstops when told to home all.
; General
G90 ; absolute coordinates
M83 ; relative extruder moves
M550 P"Duet 3" ; set hostname; Smart Drivers
M569 P0.0 S1 D3 V2000 ; driver 0.0 goes forwards (extruder 0)
M569 P0.1 S1 D3 V2000 ; driver 0.1 goes forwards (Z axis)
M569 P0.2 S1 D3 V2000 ; driver 0.2 goes forwards (Z axis)
M569 P0.3 S1 D3 V2000 ; driver 0.3 goes backwards (X axis)
M569 P0.4 S1 D3 V2000 ; driver 0.4 goes backwards (Y axis); Motor Idle Current Reduction
M906 I30 ; set motor current idle factor
M84 S30 ; set motor current idle timeout; Axes
M584 X0.3 Y0.4 Z0.1:0.2 ; set axis mapping
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M906 X1040 Y1040 Z1040 ; set axis driver currents
M92 X80 Y80 Z800 ; configure steps per mm
M208 X0:400 Y0:400 Z0:220 ; set minimum and maximum axis limits
M566 X900 Y900 Z12 ; set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z360 ; set maximum speeds (mm/min)
M201 X500 Y500 Z20 ; set accelerations (mm/s^2); Kinematics
M669 K1 ; configure CoreXY kinematics; Endstops
M574 X1 P"io1.in" S0 ; configure X axis endstop
M574 Y1 P"io2.in" S0 ; configure Y axis endstop
M574 Z1 P"io3.in" S0 ; configure Z axis endstop
(Normal open switches); homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.5.10 on Sat Feb 15 2025 02:19:33 GMT+0200 (Itä-Euroopan normaaliaika); increase Z
G91 ; relative positioning
G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home XY
var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm
var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
G91 ; relative positioning
G1 H1 X{-var.xTravel} Y{-var.yTravel} F600 ; coarse home
G1 H1 X{-var.xTravel} F600 ; coarse home in the -X direction
G1 H1 Y{-var.yTravel} F600 ; coarse home in the -Y direction
G1 X5 Y5 F6000 ; move back 5mm
G1 H1 X{-var.xTravel} Y{-var.yTravel} F300 ; fine home
G1 H1 X{-var.xTravel} F300 ; fine home in the -X direction
G1 H1 Y{-var.yTravel} F300 ; fine home in the -Y direction
G90 ; absolute positioning; home Z
var zTravel = move.axes[2].max - move.axes[2].min + 5 ; calculate how far Z can travel plus 5mm
G91 ; relative positioning
G1 H1 Z{-var.zTravel} F600 ; coarse home in the -Z direction
G1 Z5 F6000 ; move back 5mm
G1 H1 Z-10 F300 ; fine home in the -Z direction
G90 ; absolute positioning; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v3.5.10 on Sat Feb 15 2025 02:19:33 GMT+0200 (Itä-Euroopan normaaliaika); increase Z
G91 ; relative positioning
G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home X
G91 ; relative positioning
var maxTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm
G1 H1 X{-var.maxTravel} F600 ; coarse home in the -X direction
G1 X5 F6000 ; move back 5mm
G1 H1 X{-var.maxTravel} F300 ; fine home in the -X direction
G90 ; absolute positioning; decrease Z again
G91 ; relative positioning
G1 H2 Z-5 F6000 ; move Z relative to current position
G90 ; absolute positioning; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v3.5.10 on Sat Feb 15 2025 02:19:33 GMT+0200 (Itä-Euroopan normaaliaika); increase Z
G91 ; relative positioning
G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
G90 ; absolute positioning; home Y
G91 ; relative positioning
var maxTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
G1 H1 Y{-var.maxTravel} F600 ; coarse home in the -Y direction
G1 Y5 F6000 ; move back 5mm
G1 H1 Y{-var.maxTravel} F300 ; fine home in the -Y direction
G90 ; absolute positioning; decrease Z again
G91 ; relative positioning
G1 H2 Z-5 F6000 ; move Z relative to current position
G90 ; absolute positioning; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.5.10 on Sat Feb 15 2025 02:19:33 GMT+0200 (Itä-Euroopan normaaliaika); home Z
G91 ; relative positioning
var maxTravel = move.axes[2].max - move.axes[2].min + 5 ; calculate how far Z can travel plus 5mm
G1 H1 Z{-var.maxTravel} F600 ; coarse home in the -Z direction
G1 Z5 F6000 ; move back 5mm
G1 H1 Z{-var.maxTravel} F300 ; fine home in the -Z direction
G90 ; absolute positioning -
@Snippy if they are NO switches, add a ! to each pin name. E.g.
M574 X1 P"!io1.in" S0 ; configure X axis endstop
-
@jay_s_uk
No difference -
@Snippy how do you have them wired? can you post photos of the wiring?
-
-
@Snippy just noticed you've also configured them as
S0
in M574. You should be usingS1
for switches -
@jay_s_uk
Lol thanks, allso it was homing in the wrong direction
M569 P0.1 S1 D3 V2000 ; driver 0.1 goes forwards (Z axis)
M569 P0.2 S1 D3 V2000 ; driver 0.2 goes forwards (Z axis)
M569 P0.3 S1 D3 V2000 ; driver 0.3 goes backwards (X axis)
M569 P0.4 S1 D3 V2000 ; driver 0.4 goes backwards (Y axis)
So S1 to S0 -
@Snippy all working now?