@Phaedrux
This is a fairly standard corexy setup with dual leadscrew z axis:
config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 15 2021 08:37:37 GMT-0700 (Pacific Daylight Time)
; General preferences
M550 P"rcxy" ; set printer name
; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
; PanelDue
M575 P1 S1 B57600 ; enable support for PanelDue
; Coordinates
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M669 K1 ; select CoreXY mode
; Drives
M569 P0.0 S1 D3 ; physical drive 0.0 goes forwards
M569 P0.1 S1 D3 ; physical drive 0.1 goes forwards
M569 P0.2 S0 D3 ; physical drive 0.2 goes backwards
M569 P0.3 S0 D3 ; physical drive 0.3 goes backwards
M569 P0.4 S0 D3 ; physical drive 0.4 goes backwards
M584 X0.0 Y0.1 Z0.3:0.4 E0.2 ; set drive mapping
M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 Z800.00:800.00 E815.8 ; set steps per mm
M566 X1000.00 Y1000.00 Z20.00 E300.00 ; set maximum instantaneous speed changes (jerk) (mm/min)
M203 X7200.00 Y7200.00 Z500.00 E3000.00 ; set maximum speeds (mm/min)
;Old accelerations 2022-04-15 M201 X2000.00 Y2000.00 Z20.00 E2000.00 ; set accelerations (mm/s^2)
;Old accelerations 2022-04-22 M201 X1800.00 Y1800.00 Z20.00 E1800.00 ; set accelerations (mm/s^2)
M201 X1000.00 Y1000.00 Z40.00 E1000.00 ; accelerations
M906 X1200 Y1200 Z1200:1200 E900 I60 ; set motor currents (mA) and motor idle factor in percent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z-0.5 S1 ; set axis minima
M208 X308 Y218 Z240 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"io1.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y2 S1 P"io2.in" ; configure active-high endstop for high end on Y via pin io1.in
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
; Z-Probe
M950 S0 C"io3.out" ; create servo pin 0 for BLTouch
M558 P9 C"^io3.in" H5 F240:120 T4800 A5 S0.02 ; set Z probe type to bltouch and the dive height, speeds, travel between speed, max probe tries, max deviation between probes
G31 P500 X0 Y26 Z2.26 ; set Z probe trigger value, offset and trigger height
M557 X5:302 Y28:213 P6:4 ; define mesh grid
M376 H8; ; taper mesh compensation over 10mm Z
; Manual bed leveling
;M671 X11.5:296.5:296.5:11.5 Y213.5:213.5:4.0:4.0 P0.5 S3.0 ; screw points for bed thumb screws - define screw points, thread pitch, max correction ammount
M671 X11:296 Y109:109 S8.0 ; lead screw points for automatic Z leveling - this assumes the bed pivots about the mounting point, not the lead screw
; Heaters
; Bed
M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 R0.827 C650.4 D7.42 S1.00 V24.5 ;bed
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
; Hot End
M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
; run this to PID tune: M303 T0 S255 F0.4 tune tool 0 at 255c with part cooling fan at 40%
M307 H1 B0 R1.683 C207.6:194.5 D6.24 S1.00 V24.5 ; pid tuning
M143 H1 S286 ; set temperature limit for heater 1 to 280C
; Chamber temp sensor (passively heated by bed)
M308 S2 A"Chamber" P"temp2" Y"thermistor" T100000 ; add thermistor on pin temp2, 100K,
; Fans
; Hot end
;M950 F0 C"out3" Q220 ; create fan 0 on pin out3 and set its frequency (use this for 2-pin fan)
M950 F0 C"!out3+out3.tach" ; Fan 0 uses out3, but we are using a PWM fan so the output needs to be inverted, and using out3.tach
M106 P0 C"Hotend" S0 X60 H1 T45 ; set fan 0 name and value. Set max power to --%. Thermostatic control is turned on
; Part cooling
M950 F1 C"out4" Q250 ; create fan 1 on pin out4 and set its frequency (part cooling)
M106 P1 C"Part" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off
; LED strips
M950 P1 c"out5" Q500 ;
; Pressure advance for extruder
M572 D0 S0.09 ; set pressure advance on extruder
; Tools
M563 P0 D0 H1 F0:1 ; 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
; Miscellaneous
T0 ; select first tool
; One-time use Wifi setup (delete pw after using)
;M552 S0 ; disable network
;G4 P500 ; wait half a second
;M587 S"ssid" P"pw" ; configure WiFi
;M552 S1 ; enable network
homeall.g:
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 15 2021 08:37:37 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F3000 ; lift Z relative to current position
G1 H1 X-313 Y223 F1800 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-313 ; home X axis
G1 H1 Y223 ; home Y axis
G1 X5 Y-5 F3000 ; go back a few mm
G1 H1 X-313 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y223 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X154 Y83 F3000 ; go to first probe point
G30 ; home Z by probing the bed
G1 X0 Y215 Z10 ; G30 leaves Z value at probe trigger height + 5mm. Resetting to Z10
my homex is where I was seeing the slow movement issue, but I was messing with the script and forgot to save the original. It was essentially what @Nate-Nygren had though.
On homeall.g, the carriage would only move in the x direction until it crashed (normally it would move x and y simultaneously until either hit an endstop). The x homing move did seem to react to the endstop though - if I triggered the endstop by hand while x was homing, it would actually increase its speed towards the x home until it, again, crashed. My homeall.g doesn't use any H2 moves for the x or y axes, but I suspect this is linked to what @Nate-Nygren described, because downgrading to 3.4.4 fixed it.