@dc42 - I just want you to remember, as you look through my crufty, constantly-noodled, experimental config.g, that you asked for this pain >:) hehehe
config.g:
; Configuration file for My Printer
; Communication and general
M111 S0 ; Debug off
M550 PRailCore2 ; Machine name and Netbios name (can be anything you like)
;M551 Pmyrap ; Machine password (used for FTP)
;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xEE ; MAC Address
;*** Wifi Networking
M552 S1 ; Enable WiFi
M555 P2 ; Set output to look like Marlin
M575 P1 B57600 S1 ; Comms parameters for PanelDue
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
;M83 ; ...but relative extruder moves
; Axis and motor configuration
M584 X0 Y1 Z5:6:7 E3:4:8:9 ; Map Z to drivers 5, 6, 7 ; Define unused drivers 3,4,8 and 9 as extruders
;M584 X11 Y10 Z5:6:7 E3:4:8:9 ; Map Z to drivers 5, 6, 7 ; Define unused drivers 3,4,8 and 9 as extruders (servos)
; M584 X11 Y10 ; (smartsteppers)
M667 S1
M569 P0 S0 ; Drive 0 goes forwards (change to S0 to reverse it)
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwards
M569 P4 S1 ; Drive 4 goes forwards
M569 P5 S1 ; Drive 5 goes backwards
M569 P6 S1 ; Drive 6 goes backwards
M569 P7 S0 ; Drive 7 goes backwards
;M569 P10 S1
;M569 P11 S0
;Leadscrew Locations:
M671 X-10:-10:273 Y24:228:122 S7.5 ; Calibrated Front left, Rear Left, Right S7.5 is the max correction
M92 X160 Y160 Z1600 ; set steps/mm for 1/16; later changes in M350 will be adjust0d
M92 E800:800 ; set steps/mm for 1/16; later changes in M350 will be adjusted.
;M350 X32 Y32 Z32 E16 I1 ; set 16x microstepping with interpolation
;M350 X64 Y64 Z128 E16 I1 ; set 128 microstepping for axes, 64 for extruder "with interpolation
M350 X16 Y16 Z16 E16:16 I1 ; set everything to 1/16, with interpolation.
M574 X1 Z0 S0 ; set homing switch configuration (x,y at min, z at max)
M574 Y1 S1
M906 X1500 Y1500 Z800 E1000:800 ; Set motor currents (mA)
;M906 X1200 Y1200 Z1000 E1200:1200 ; old NEMA23
;M906 X580 Y580 Z1000 E1200 ; new 0.9 NEMA23
M201 X2500 Y2500 Z60 E1000:1000 ; Accelerations (mm/s^2)
M203 X24000 Y24000 Z1200 E3600:3600 ; Maximum speeds (mm/min)
M566 X500 Y500 Z120 E600:600 ; Maximum jerk speeds mm/minute
M208 X242 Y240 Z245 ; set axis maxima and high homing switch positions (adjust to suit your machine)
M208 X0 Y0 Z-0.5 S1 ; set axis minima and low homing switch positions (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
; Thermistors
M305 P0 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
;M305 P1 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
;M305 P2 T100000 B4240 R4700 H0 L0
M305 P1 T500000 B4723 C1.196220e-7 R4700; Set thermistor + ADC parameters for heater 1 (Slice Engineering)
;M305 P2 T100000 B4240 R4700 H0 L0
M305 P103 X6 S"Chamber" ; virtual heater to show chamber temp
;M301 H1 P26.5370 I1.4191 D124.0605 T0.50 S1.0
;M307 H1 A587 C47.9 D3.1 B0 S1.0 ; auto-tune values from M303 H1 P0.4 S265 with fan on S200 for deltaprintr.mini
;M307 H1 A516 C180 D12.4 B0 S1.0 ; auto-tune values from M303 for fake B3
;M307 H1 A468 C150.1 D6.5 B0 S1.0 ; fake B3 also
;M307 H1 A479.0 C108.6 D5.6 B0 S1.0 ; stubby
;M307 H1 A270.7 C90.4 D6.7 B0 S1.0 ;Heater 1 model: gain 270.7, time constant 68.4, dead time 6.7, max PWM 1.00, in use: yes, mode: PID
M307 H1 A569.0 C285 D4.5 B0 S1.0 ;Heater 1 model: gain 559.4, time constant 283.4, dead time 4.5, max PWM 1.00, calibration voltage 24.4, mode PID, inverted no, frequency default
M307 H0 A90 C700 D10 B0 S1.0
M307 H2 A270.7 C90.4 D6.7 B0 S1.0
;M307 H1 A388.8 C168.7 D12.0 S1.00 B0 ;
M307 H3 A-1 C-1 D-1 ; set duex4 "heater 3" to control the BLTouch
M570 S360 ; Hot end may be a little slow to heat up so allow it 180 seconds
M143 S285
; Fans
M106 P0 H-1 ; disable thermostatic mode for fan 0
M106 P1 T45 H1 ; Turns on fan 45C
M106 P0 S0 ; turn off fans
;M106 P1 S0
M106 P2 S0
; Tool definitions
M563 P0 D0 H1 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
;M563 P1 D1 H2
;G10 P0 S0 R0
;*** If you have a single-nozzle build, comment the next 2 lines
;M563 P1 D1 H2 ; Define tool 1
;G10 P1 S0 R0 X0 Y17 ; Set tool 1 operating and standby temperatures
;M92 E837 ;titan steps/mm
;M92 E663:663 ; Set extruder steps per mm
; Z probe and compensation definition
;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
;M558 P1 X0 Y0 Z1 F900 ; Z probe is an IR probe and is used for homing Z
;M558 P4 X0 Y0 Z1 I1 F900 ; inductive Z probe, inverted
;M558 P9 X0 Y0 Z1 H5 F400 T6000 ; bl-touch
M558 P4 C8 I1 ; OptiCon
M307 H4 A-1 C-1 D-1 ; reserve heater 4 for BLTOUCH
M307 H5 A-1 C-1 D-1
M557 X30:210 Y30:210 S180 ; set mesh size
;*** If you are using axis compensation, put the figures in the following command
;M556 S78 X0 Y0 Z0 ; Axis compensation here
M208 S1 Z-5 ; set minimum Z
;
T0 ; select first hot end
;G31 X0 Y30 Z0.0 P1 ; Set the zprobe height and threshold (put your own values here)
G31 X-4 Y30 Z0 P1 ; set Z offset for use with tool offset
M564 H0
M501 ; load config-override
homez.g:
G91 ; Relative coordinates
G1 Z8 F200 ; Lower bed.
G4 P500 ; Dwell for 500ms - to ensure bed is down
G90 ; Absolute positioning
G1 X125 Y125 F3000 ; Go to center of bed and probe Z height
M401 ; Lower Z probe (BLTouch)
G30 ; Calibrate Z-axis
M402 ; Retract Probe
;G1 Z1 F200 ; Raise bed to 1mm.
homeall.g:;
homeall by executing individual axes homing macros
M98 Phomex.g
M98 Phomey.g
M98 Phomez.g