Updated my E3D tool changer from rrf2.5 to to rrf3.2 as recommended via version 3.00. All looks correct on DWC3.2. However I can't set the heaters to active or select a tool. If I select say T0, it will collect T0 as usual but it has no knowledge it is holding the tool. If I now select T1 it will go and collect T1 without dropping off T0. Sounds horrible. All other aspects work ok.
All worked fine in version2 and I have gone through the rrf3 configuration numerous times but can't see an issue.
Board: Duet 2 WiFi (2WiFi)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2 (2021-01-05)
Duet WiFi Server Version: 1.25
Duet Web Control 3.2.0
; Configuration file for Duet WiFi / Ethernet
; executed by the firmware on start-up
; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
M667 S1 ; Select CoreXY mode
M575 P1 S1 B115200 ; enable support for PanelDue
; Network
; Read https://duet3d.dozuki.com/Wiki/Gcode#Section_M587_Add_WiFi_host_network_to_remembered_list_or_list_remembered_networks
M550 P"ToolChanger" ; Set machine name
M552 S1 ; Enable Networking
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet
M551 Preprap ; Machine password (used for FTP)
; Drive direction
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 S1 ; Drive 8 CLEANING BRUSH (Right)
;M569 P9 S0 ; Drive 9 CLEANING BRUSH (Left)
M584 X0 Y1 Z2 C7 U8 E3:4:5:6 ; Apply custom drive mapping
M208 X-25:325.5 Y-49:250 Z-1:300 C0:260 U0:100 S0 ; Set axis maxima & minima
M350 C8 I0 ; Configure microstepping without interpolation
M350 X16 Y16 Z16 E16:16:16:16 U16 I1 ; Configure microstepping with interpolation
M92 X100 Y100 Z1600 C100 U4000 E800:818:800:804 ; Set steps per mm
M566 X400 Y400 Z8 C2 U2 E2:2:2:2 ; Set maximum instantaneous speed changes (mm/min)
M203 X12000 Y12000 Z1000 C5000 U500 E1000:5000:5000:5000 ; Set maximum speeds (mm/min)
M201 X3000 Y3000 Z100 C400 U400 E2500:2500:2500:2500 ; Set accelerations (mm/s^2)
M906 X1600 Y1600 Z1000 C400 U1000 E1400:1000:1000:1000 I30 ; Set motor currents (mA) and motor idle factor in percent
M84 S30 ; Set idle timeout
; Endstops
M574 Z0 ; Set Z endstop probe
M574 Y1 S1 P"ystop" ; set endstop configuration (Y endstop only, at Low end,
M574 X2 S1 P"xstop" ; set endstop configuration (X endstop only, at High end,
;Z Probe
M558 P8 C"zstop" H5 F120 T10000
G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
M557 X10:290 Y20:180 S40 ; Define mesh grid
;Stall Detection
M915 C S5 F0 H200 ; Coupler
M574 U1 S3 ; Set U endstop stall detection
M915 U S3 F0 H200 R4700 ; U Axes Right Brush
; Heaters
;Bed
M308 S0 P"bedtemp" Y"thermistor" A"Bed" T100000 B4725 C7.06e-8 ; Set thermistor
M950 H0 C"bedheat" T0 ; Bed heater
M140 H0 ; Add heater to bed after RRF3.01 RC10
M143 H0 S120 ; Set temperature limit for heater 0 (Bed)160C
M307 H0 A313.6 C235.3 D1.8 V24.2 S0.5 B0 ; PID
M308 S1 P"e0temp" Y"thermistor" A"T0" T100000 B4725 C7.06e-8 ; Set thermistor
M950 H1 C"e0heat" T1 ; Extruder 0 heater
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
;M307 H1 A414.9 C221.2 D3.8 V24.2 B0 ; PID
M307 H1 R1.753 C217.6 D5.37 S1.00 V24.3 ; Pid values from rrf3
M308 S2 P"e1temp" Y"thermistor" A"T1" T100000 B4725 C7.06e-8 ; Set thermistor
M950 H2 C"e1heat" T2 ; Extruder 1 heater
M143 H2 S280 ; Set temperature limit for heater 2 to 280C
M307 H2 A458.2 C218.0 D4.2 V24.2 B0 ; PID
M308 S3 P"e2temp" Y"thermistor" A"T2" T100000 B4725 C7.06e-8 ; Set thermistor
M950 H3 C"duex.e2heat" T3 ; Extruder 2 heater
M143 H3 S280 ; Set temperature limit for heater 3 to 280C
M307 H3 A484.6 C225.0 D3.6 V24.3 B0 ; PID
M308 S4 P"e3temp" Y"thermistor" A"T3" T100000 B4725 C7.06e-8 ; Set thermistor
M950 H4 C"duex.e3heat" T4 ; Extruder 3 heater
M143 H4 S280 ; Set temperature limit for heater 4 to 280C
M307 H0 A468.2 C284.7 D4.0 V 24.3 B0 ; PID
; Tools
M563 P0 S"T0" D0 H1 F2 ; Define tool 0
G10 P0 X15 Y60 Z-5.6 ; Reset tool 0 axis offsets
G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C
M563 P1 S"T1" D1 H2 F4 ; Define tool 1
G10 P1 X10 Y55 Z-30.77 ; Reset tool 1 axis offsets
G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C
M563 P2 S"T2" D2 H3 F6 ; Define tool 2
G10 P2 X-25 Y55 Z-30.69 ; Reset tool 2 axis offsets
G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0C
M563 P3 S"T3" D3 H4 F8 ; Define tool 3
G10 P3 X-26 Y47 Z-39.38 ; Reset tool 3 axis offsets
G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C
; Fans
M106 P0 S0 ; UNUSED
M950 F1 C"fan1"
M950 F2 C"fan2"
M950 F3 C"duex.fan3"
M950 F4 C"duex.fan4"
M950 F5 C"duex.fan5"
M950 F6 C"duex.fan6"
M950 F7 C"duex.fan7"
M950 F8 C"duex.fan8"
M106 P1 S200 H1 T45 ; T0 HE
M106 P2 S0 ; T0 PCF
M106 P3 S200 H2 T45 ; T1 HE
M106 P4 S0 ; T1 PCF
M106 P5 S200 H3 T45 ; T2 HE
M106 P6 S0 ; T2 PCF
M106 P7 S200 H4 T45 ; T3 HE
M106 P8 S0 ; T3 PCF
M593 F50 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/)
;M376 H15 ; bed compensation taper
T-1 ;deselect tools
;M572 D0 S0.2 ; pressure advance T0
;M572 D1 S0.2 ; pressure advance T1
;M572 D2 S0.2 ; pressure advance T2
;M572 D3 S0.2 ; pressure advance T3
##################################
; tpre3.g
; called before tool 3 is selected
;Ensure no tool is selected
T-1
;Unlock Coupler
G0 Z3 F700
G1 X313.5 Y150 F50000 ; Move to location
G1 X313.5 Y200 F50000 ; Move in
G1 X313.5 Y221 F3500 ; Collect
M98 P/macros/Coupler - Lock ; Close Coupler
;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 Z50 F1000
G90
G1 H2 U70 F1200 ; Reset brush height
G1 X313.5 Y120 F4000 ; Move Out
##############################
09/01/2021, 20:50:16 M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet WiFi 1.02 or later + DueX5
Board ID: 08DLM-996RU-N85S4-7JKD2-3SJ6J-1A9MR
Used output buffers: 3 of 24 (24 max)
=== RTOS ===
Static ram: 23460
Dynamic ram: 76344 of which 60 recycled
Never used RAM 12216, free system stack 95 words
Tasks: NETWORK(ready,163) HEAT(blocked,309) DUEX(blocked,35) MAIN(running,450) IDLE(ready,19)
Owned mutexes:
=== Platform ===
Last reset 00:52:21 ago, cause: software
Last software reset at 2021-01-09 19:57, reason: User, GCodes spinning, available RAM 12216, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x0c
Aux0 errors 0,0,0
MCU temperature: min 38.4, current 38.6, max 39.8
Supply voltage: min 24.2, current 24.3, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: position 11950, standstill, SG min/max not available
Driver 1: position -14050, standstill, SG min/max not available
Driver 2: position 8000, standstill, SG min/max not available
Driver 3: position 120000, standstill, SG min/max not available
Driver 4: position 3300, standstill, SG min/max not available
Driver 5: position 0, standstill, SG min/max not available
Driver 6: position 0, standstill, SG min/max not available
Driver 7: position 0, standstill, SG min/max not available
Driver 8: position 0, standstill, SG min/max not available
Driver 9: position 0, standstill, SG min/max not available
Driver 10: position 0
Driver 11: position 0
Date/time: 2021-01-09 20:50:12
Cache data hit count 3910540218
Slowest loop: 12.55ms; fastest: 0.21ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 4.3ms, write time 1.0ms, max retries 0
=== Move ===
DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 65, completed moves 65, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 201.80ms; fastest: 0.10ms
Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8
- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 1
WiFi firmware version 1.25
WiFi MAC address f4:cf:a2:6e:64:8e
WiFi Vcc 3.37, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 24000
WiFi IP address 172.24.1.106
WiFi signal strength -48dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
=== DueX ===
Read count 0, 0.00 reads/min
09/01/2021, 20:19:01 M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet WiFi 1.02 or later + DueX5
Board ID: 08DLM-996RU-N85S4-7JKD2-3SJ6J-1A9MR
Used output buffers: 3 of 24 (24 max)
=== RTOS ===
Static ram: 23460
Dynamic ram: 76344 of which 60 recycled
Never used RAM 12216, free system stack 95 words
Tasks: NETWORK(ready,163) HEAT(blocked,309) DUEX(blocked,35) MAIN(running,450) IDLE(ready,19)
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:21:07 ago, cause: software
Last software reset at 2021-01-09 19:57, reason: User, GCodes spinning, available RAM 12216, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x0c
Aux0 errors 0,0,0
MCU temperature: min 38.4, current 39.4, max 39.8
Supply voltage: min 24.1, current 24.3, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: position 11950, standstill, SG min/max 0/179
Driver 1: position -14050, standstill, SG min/max 0/1023
Driver 2: position 8000, standstill, SG min/max 0/1023
Driver 3: position 120000, standstill, SG min/max not available
Driver 4: position 3300, standstill, SG min/max not available
Driver 5: position 0, standstill, SG min/max not available
Driver 6: position 0, standstill, SG min/max not available
Driver 7: position 0, standstill, SG min/max 33/543
Driver 8: position 0, standstill, SG min/max 0/394
Driver 9: position 0, standstill, SG min/max not available
Driver 10: position 0
Driver 11: position 0
Date/time: 2021-01-09 20:18:58
Cache data hit count 1571915535
Slowest loop: 22.12ms; fastest: 0.19ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.9ms, write time 2.3ms, max retries 0
=== Move ===
DMs created 83, maxWait 1054604ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 65, completed moves 65, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 36.67ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8
- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.25
WiFi MAC address f4:cf:a2:6e:64:8e
WiFi Vcc 3.37, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 24000
WiFi IP address 172.24.1.106
WiFi signal strength -47dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
=== DueX ===
Read count 1, 0.05 reads/min
09/01/2021, 20:18:35 Upload of config.g successful after 0s
09/01/2021, 19:58:22 T0
Error: G0/G1: insufficient axes homed
09/01/2021, 19:58:05 Connection established
09/01/2021, 19:58:02 Connection interrupted, attempting to reconnect...
HTTP request timed out
09/01/2021, 19:57:50 Upload of config.g successful after 0s
09/01/2021, 19:54:55 Connection established
09/01/2021, 19:54:53 Connection interrupted, attempting to reconnect...
HTTP request timed out
09/01/2021, 19:54:41 Upload of config.g successful after 0s
09/01/2021, 19:52:07 Upload of config.g successful after 0s
09/01/2021, 19:48:59 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:48:07 Auto tuning heater 1 completed after 3 idle and 5 tuning cycles in 445 seconds. This heater needs the following M307 command:
M307 H1 R1.753 C217.6 D5.37 S1.00 V24.3
Edit the M307 H1 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.
09/01/2021, 19:45:50 Auto tune starting phase 3, fan off
09/01/2021, 19:43:52 Auto tune starting phase 2, heater settling
09/01/2021, 19:40:46 Auto tune starting phase 1, heater on
09/01/2021, 19:40:41 M303 H1 S240
Auto tuning heater 1 using target temperature 240.0°C and PWM 1.00 - do not leave printer unattended
09/01/2021, 19:35:15 Connection established
09/01/2021, 19:35:13 Connection interrupted, attempting to reconnect...
09/01/2021, 19:35:04 M25
Cancelled printing file 0:/gcodes/Switchbox lid.gcode, print time was 0h 0m
Resume state saved
Warning: Obsolete use of S parameter on G1 command. Use H parameter instead.
Printing paused at X0.0 Y0.0 Z0.0 U0.0 C0.0
09/01/2021, 19:35:04 Emergency stop, attemping to reconnect...
09/01/2021, 19:34:25 M32 "0:/gcodes/Switchbox lid.gcode"
File 0:/gcodes/Switchbox lid.gcode selected for printing
09/01/2021, 19:28:10 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:28:09 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:28:09 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:28:08 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:28:08 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:28:05 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:28:03 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:28:00 T1
Error: G0/G1: insufficient axes homed
09/01/2021, 19:27:51 Connection established
09/01/2021, 19:27:49 Connection interrupted, attempting to reconnect...
HTTP request timed out
09/01/2021, 19:27:37 Upload of config.g successful after 0s
09/01/2021, 19:26:22 Connected to 172.24.1.106