I have an E3D Tool Changer that was working fine on an earlier RRF3.2 revision and now I can't select any of my tools or activate any heaters. Every time I run T0-4 and follow up with T it tells me no tool is selected.
I'm not getting any errors when loading config.g or during any of my manual run of tpre, tpost, and tfree macros aside from extruding without a tool selected, as you might expect. Running T0-4 or attempting to activate a heater seems to just run tpre and then nothing happens.
I've tried erasing the fw from the board and reloading via Bossa but I'm right back where I was.
I have no issues with kinematics or homing and my sensors are working normally.
I'm hoping I just missed something in the documentation but the Gcode reference doesn't seem to mention anything.
Any help is appreciated. Thank you.
; General preferences
G90; send absolute coordinates...
M83; ...but relative extruder moves
M550 P"Tool Changer"; set printer name
M667 S1; select CoreXY mode
; Network
M552 S1 ; Enable WiFi Networking
M586 P0 S1 ; enable HTTP
M586 P1 S1 ; enable FTP
M586 P2 S1 ; enable Telnet
; Drives
M569 P0 S0 ; Drive 0 X
M569 P1 S0 ; Drive 1 Y
M569 P2 S1 ; Drive 2 Z
M569 P3 S0 ; Drive 3 E0
M569 P4 S1 ; Drive 4 E1
M569 P5 S0 ; Drive 5 E2
M569 P6 S0 ; Drive 6 E3
M569 P7 S0 ; Drive 7 COUPLER
M569 P8 S0 ; Drive 8 UNUSED
M569 P9 S0 ; Drive 9 UNUSED
M584 X0 Y1 Z2 C7 E3:4:5:6 ; set drive mapping
M350 C8 E64:8:8:8 I0 ; configure microstepping without interpolation
M350 X64 Y64 Z64 I0 ; configure microstepping with interpolation
M92 X400 Y400 Z6419.2 C100.00 E1588:207.5:207.5:207.5 ; set steps per mm
M205 X30 Y30 Z2.5 C2 E25:25:25:25 ; Set maximum instantaneous speed changes (mm/s)
M203 X27000 Y27000 Z800 C5000 E6000:6000:6000:6000 ; Set maximum speeds (mm/min)
M201 X10000 Y10000 Z1000 C500 E3000:3000:3000:3000 ; Set accelerations (mm/s^2)
M204 P800 T10000 ; Set print and travel accellerations (mm/s^2)
M906 X1800 Y1800 Z1500 C600 E1100:1400:1400:1400 I25 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X-31.6:332 Y-49.5:247 Z0:290 C0:250 ; Set axis maxima & minima
; Endstops
M574 X1 S3 ; configure sensorless endstop for low end on X
M574 Y1 S3 ; configure sensorless endstop for low end on Y
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
; Z-Probe
M558 P5 C"zprobe.in+zprobe.mod" H1 F100 T24000 A20 S.005 ; set Z probe type to switch and the dive height + speeds
G31 P200 X0 Y0 Z-0.05 ; set Z probe trigger value, offset and trigger height
M557 X10:290 Y10:190 S30 ; define mesh grid
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs1
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S320 ; set temperature limit for heater 1 to 280C
M307 H1 B0 S1.00 ; disable bang-bang mode for heaterand set PWM limit
M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as thermocouple via CS pin spi.cs2
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M143 H2 S320 ; set temperature limit for heater 2 to 280C
M307 H2 B0 S1.00 ; disable bang-bang mode for heaterand set PWM limit
M308 S3 P"spi.cs3" Y"rtd-max31865" ; configure sensor 3 as thermocouple via CS pin spi.cs3
M950 H3 C"duex.e2heat" T3 ; create nozzle heater output on duex.e2heat and map it to sensor 3
M143 H3 S320 ; set temperature limit for heater 3 to 280C
M307 H3 B0 S1.00 ; disable bang-bang mode for heaterand set PWM limit
M308 S4 P"spi.cs4" Y"rtd-max31865" ; configure sensor 4 as thermocouple via CS pin spi.cs4
M950 H4 C"duex.e3heat" T4 ; create nozzle heater output on duex.e3heat and map it to sensor 4
M143 H4 S320 ; set temperature limit for heater 4 to 280C
M307 H4 B0 S1.00 ; disable bang-bang mode for heaterand set PWM limit
; Fans
M950 F0 C"fan0" Q25000 ; create fan 0 on pin fan0 and set its frequency
M106 P0 C"Unused" S0 H0 ; set fan 0 name and value. Thermostatic control is turned on
M950 F1 C"fan1" Q25000 ; create fan 1 on pin fan1 and set its frequency
M106 P1 C"T0 HS" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on
M950 F2 C"fan2" Q25000 ; create fan 2 on pin fan2 and set its frequency
M106 P2 C"T0 PCF" S0 H-1 ; set fan 2 name and value. Thermostatic control is turned off
M950 F3 C"duex.fan3" Q25000 ; create fan 3 on pin duex.fan3 and set its frequency
M106 P3 C"T1 HS" S1 H2 T45 ; set fan 3 name and value. Thermostatic control is turned on
M950 F4 C"duex.fan4" Q9000 ; create fan 4 on pin duex.fan4 and set its frequency
M106 P4 C"T1 PCF" S0 H-1 ; set fan 4 name and value. Thermostatic control is turned off
M950 F5 C"duex.fan5" Q25000 ; create fan 5 on pin duex.fan5 and set its frequency
M106 P5 C"T2 HS" S1 H3 T45 ; set fan 5 name and value. Thermostatic control is turned on
M950 F6 C"duex.fan6" Q25000 ; create fan 6 on pin duex.fan6 and set its frequency
M106 P6 C"T2 PCF" S0 H-1 ; set fan 6 name and value. Thermostatic control is turned off
M950 F7 C"duex.fan7" Q25000 ; create fan 7 on pin duex.fan7 and set its frequency
M106 P7 C"T3 HS" S1 H4 T45 ; set fan 7 name and value. Thermostatic control is turned on
M950 F8 C"duex.fan8" Q25000 ; create fan 8 on pin duex.fan8 and set its frequency
M106 P8 C"T3 PCF" S0 H-1 ; set fan 8 name and value. Thermostatic control is turned off
; Tools
;M207 S0.0 F1800 R0 Z0.00 ; Firmware retraction
M563 P0 S"T0" D0 H1 F2 ; define tool 0
M568 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
M563 P1 S"T1" D1 H2 F4 ; define tool 1
M568 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
M563 P2 S"T2" D2 H3 F6 ; define tool 2
M568 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C
M563 P3 S"T3" D3 H4 F8 ; define tool 3
M568 P3 R0 S0 ; set initial tool 3 active and standby temperatures to 0C
;Tool offsets
G10 P0 X20.8 Y43.4 Z-5.30 ; T0
G10 P1 X-8.5 Y39 Z-4.95 ; T1
G10 P2 X-8 Y39.2 Z-4.75 ; T2
G10 P3 X-8 Y39 Z-4.85 ; T3
;Pressure advance
M572 D0 S0.06 ; pressure advance T0
M572 D0 S0.0 ; pressure advance T0
M572 D1 S0.0 ; pressure advance T1
M572 D2 S0.0 ; pressure advance T2
M572 D3 S0.0 ; pressure advance T3
; Custom settings
M302 P0 ; Allow/Disable cold extrudes
;M593 F50 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/)
M564 H1 S1 ; Disllow movement without homing, stay within limits when homed
M501 ; load saved parameters from non-volatile memory
M911 S23.5 R24 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
;T-1 ; select first tool
tpre0:
; tpre0.g
; called before tool 0 is selected
;Ensure no tool is selected
T-1
;Unlock Coupler
M98 P"/macros/Coupler - Unlock"
G1 X-9 Y200 F50000
G1 X-9 Y220 F50000
G1 X-9 Y228 F2500
;Close Coupler
M98 P"/macros/Coupler - Lock"
;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool!
G91
G1 Z10 F1000
G90
;Move Out
G1 X-9 Y150 F4000
M208 X-31.8:320.5
tpost0:
; tpost0.g
; called after tool 0 has been selected
;heatup
M116 P0
;prime nozzle
;M302 P1 S50 R50
M98 P"prime.g"
;M302 P0
;mesh levelling on
G29 S1
;PCF fan on
;M106 P2 S127
tfree0:
; tfree0.g
; called when tool 0 is freed
;Drop the bed
G91
G1 Z4 F1000
G90
;mesh levelling off
G29 S2
;Purge nozzle
;M302 P0 S50 R50
M98 P"purge.g"
;M302 P1
;Move In
G53 G1 X-9 Y150 F50000
G53 G1 X-9 Y200 F50000
G53 G1 X-9 Y220 F50000
G53 G1 X-9 Y228 F5000
;Open Coupler
M98 P"/macros/Coupler - Unlock"
;fan off
M106 P2 S0
;Move Out
G53 G1 X-9 Y175 F5000
M208 X-31.8:332