Printer hanging during tool change with v3.5.1
-
@Gamefanatic3D I've not seen any problems with toolchanging on my e3d toolchanger and 3.5.1, so it is not a really generic problem. Things that may help us work out what is going on...
- What board are you using?
- Can you edit your first post and make sure that it is obvious which script is which, in particular I couldn't work out which one was "active.g" nore could I find "drop".
- If possible can you run M122 when the printer is hanging and post the output from that.
-
Using the Duet2 Wifi + DUEX5. Hopefully, things are updated a bit better. The forum code interpreter seems to be having issues with some of the code I pasted and not giving it proper formatting.
The "tactive.g" file is generated by the "pickup.g" when a tool has been successfully picked up and deleted when it has been successfully returned. I use it in lieu of a switch on the tool to detect if a tool is loaded.
I'll upload an M122 once I get a chance to swap back to the 3.5.1 firmware and run through the paces again.
-
Updated to v3.5.1 again.
I ran the attached sliced file and it makes it all the way through to the second T0 (line 1637). Heaters all reach their nominal temperatures, even though my Macro's M116 is only looking at the T0 before it wants to pick it up. The bed will lower, but will not go further.
10x10x10_Cube-T0T1T2-S3D.gcode
- I cannot pause the print.
- M108 does nothing
- M25 - From Web just hangs waiting for a response from the printer.
- From the Web Control:
- I can navigate around and send some commands IE) M122
- I can upload a Macro and edit files
- I can click the "Emergency Stop"
- From the PanelDue
- I cannot pause the print
- I can move around / navigate
- I can execute Macro's
- I can change the temperatures of all the tools / bed.
- I can click the stop button.
5/5/2024, 2:58:24 PM M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DGM-9T6BU-FG3S8-6J1F8-3SJ6S-1BL7H Used output buffers: 3 of 26 (26 max) === RTOS === Static ram: 23256 Dynamic ram: 78496 of which 28 recycled Never used RAM 7932, free system stack 108 words Tasks: NETWORK(1,ready,12.6%,202) HEAT(3,nWait 5,0.2%,309) Move(4,nWait 5,0.4%,258) DUEX(5,nWait 5,0.0%,24) MAIN(1,running,86.7%,747) IDLE(0,ready,0.1%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:17:34 ago, cause: software Last software reset at 2024-05-05 14:40, reason: User, Gcodes spinning, available RAM 8748, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU temperature: min 41.8, current 46.1, max 46.5 Supply voltage: min 23.8, current 24.2, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/51, heap memory allocated/used/recyclable 2048/1348/140, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 167 Driver 1: standstill, SG min 119 Driver 2: standstill, SG min 0 Driver 3: standstill, SG min 0 Driver 4: standstill, SG min 0 Driver 5: standstill, SG min 0 Driver 6: standstill, SG min n/a Driver 7: standstill, SG min 0 Driver 8: standstill, SG min 0 Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2024-05-05 14:58:23 Cache data hit count 4294967295 Slowest loop: 241.50ms; fastest: 0.16ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.0ms, write time 5.2ms, max retries 0 === Move === DMs created 83, segments created 24, maxWait 497256ms, bed compensation in use: mesh, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.00 no step interrupt scheduled Moves shaped first try 150, on retry 35, too short 65, wrong shape 408, maybepossible 0 === DDARing 0 === Scheduled moves 735, completed 735, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.3 Heater 1 is on, I-accum = 0.5 === GCodes === Movement locks held by File HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 8 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is doing "G10 P0 X-6.71" 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 Q0 segments left 0 Queue 0 has 'G10 P0 Y35.17' for move 735 Queue 0 has 'G10 P0 Z-1.55' for move 735 === Filament sensors === check 7281348 clear 2324874 Extruder 0: pos 2469.73, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 Extruder 1: pos 13973.55, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 Extruder 2: pos 2390.27, errs: frame 0 parity 0 ovrun 0 pol 14549 ovdue 0 === DueX === Read count 1, 0.06 reads/min === Network === Slowest loop: 131.31ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address cc:50:e3:14:e3:17 Module reset reason: Turned on by main processor, Vcc 3.32, flash size 4194304, free heap 39504 WiFi IP address 192.168.0.90 Signal strength -48dBm, channel 2, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
-
-
I tested a bit further tonight on this. I ran a Debug log file and added a "M118 P3" in my Pickup macros so I can tell when they execute. I can confirm that it's not making it to the Pickup macro, but the Debug log shows an M568 P0 A2 which tells me it's executing the tpre0.g file. I cannot say as of yet if it's making it to tpost0.g. Will test further when I get a moment.
-
@Gamefanatic3D from your M122 report I can see that the job is held up waiting for the tpre file to complete, but it hasn't completed because there are three G10 P0 commands pending. These appear to be coming from your tconfig0.g file.
I don't yet know what is causing these commands to remain pending; however if you insert a M400 or G4 P0 command before the M98 P"/sys/tconfig0.g" line at the end of tpre0.g, that may work around the problem.
-
-
@dc42 Wow, thank you for the second pair of eyes on this. Yes, it was stuck in the tconfig0.g. Putting the M400 just before the M98 command to load my configs is working!
-
-
@Gamefanatic3D thanks, I'm glad that workaround worked for you. I've created https://github.com/Duet3D/RepRapFirmware/issues/998.
-
@dc42 Let me know if you need anything from me. I realize I am probably apart a small few experiencing this issue.
-
@Gamefanatic3D please will you test with 3.6beta3:
https://forum.duet3d.com/topic/37289/software-version-3-6-0-beta-3-now-available -
@T3P3Tony I'm in the process of converting that machine from a Duet2 Wifi to Duet3. I'm conceding I've gone beyond the limits of a Duet2 and looking to move to 5 tools, plus filament box sensors and possibly even filament changers. I'll test once I get it FoC, but I can't guarantee when that will be with my hectic schedule.