Hey
As you did dig everything what you could
I did try to analyze your logs and try to find at least something.
I see that you have TTC error (Timer Too Close) on Can0, it seems weird because I didn’t spot anything unusual before you get that error, seems everything was fine and spontaneously you did get that error.
As you know TTC error indicate that some issue appeared when communicating with MCU, so I start looking at DUMPs of can0
MCU.
There I found Send logs
which indicate that klipper was not sending any data via Can0 in some period but was receiving data from can0
MCU
Sent 95 4861.392973 4861.392668 21: seq: 13, .......
Sent 96 4863.072633 4863.072415 16: seq: 14, .......
As you can see there is a 1.68 second gap - which is weird during print sequence, so I checked dump of main MCU - there I found similar 1.5s time gap in same period in Sent log
.
This data is telling me that klipper was doing something and didn’t send data at all and after that registered TTC error.
To understand what Klipper was doing I did analyze dump of Virtual sdcard
which contain latest G-Code commands.
There I found very weird G-Code sequence, basically there is extrusion path - which is normal, but additionally G-Code contains 73 calls of M107 command.
I think it’s overkill, your G-Code is requesting to turn off a FAN 73 times while it extruded just 0.11mm of a filament.
Also your config have custom M107 command which will call a M106 command.
M106 command is also custom and calling SET_FAN_SPEED in the end,
but if you have “Dual_cariage” enabled - your M106 command will call SET_FAN_SPEED twice - so in this case it will be 146 calls to a FAN speed.
Why it’s bad idea to call a FAN commands so often: on each call of SET_FAN_SPEED command it will insert a new additional callback in lookahead chain for processing a fan speed, and of course that callback have some logic, if we push too much of code there - then most probably it will create huge delays.
Why you have there so much M107 commands - I don’t know, must probably your Slicer is generating it, I think it’s enough to call M107 only once when we wish to stop a Fan.
Hope this will help you, if I did identify issue correctly - don’t forget to include here how you did resolve issue with a slicer, so others can find a solution.