So basically like it will just randomly disconnect from my klipper mid-print, I also noticed a while ago that it would also disconnect if I just left everything idle for a while, however I did do a lot of changes since then.
Here is what I’ve done so far:
Proper PSU *I was previously running a phone charger on pi but I fixed that, still idles out at like 90’ish %*
Different Cables (Specifically for data connection from ender 3 to rpi3)
Different USB ports on pi
Complete reinstallation of Both OS and Printer firmware (But I did keep my same configs)
Very strange. The main error appears to be a MCU 'mcu' shutdown: Missed scheduling of next digital out event error. This occurs when the micro-controller detects that a heater has been enabled and the host unexpectedly stops sending updates for that heater.
It also appears that the host incorrectly stopped sending these heater updates. (Specifically, both the nozzle and bed heaters were active at the time, but the host was only sending updates for one heater.) The micro-controller correctly responded to this host problem by shutting down (and thus turning off the heaters).
Unfortunately, I am not seeing any clues in the log why the host code did not function correctly. This makes it difficult to give advice. You might want to try reinstalling the host klipper code and make sure you have no local code modifications. If the issue continues, try collecting more logs (and post them here) as that may help provide additional troubleshooting clues.
Seems to be only 100us between oid=19 and the shutdown.
There is no data in the short frame (13392.25 - 13391.35 = 0.9s) from oid=19.
And with the current MAX_HEAT_TIME and the next_pwm_time: 3 * 0.75 = 2.25.
It is possible that 0.9s are just larger than the 0.75s window when the host wants to send the update.
I suspect this just happened. Intermediate connection issue, not able to deliver ADC, not able to trigger PWM heater update → death.
Good catch! That does give a good explanation for the fault.
So, the error actually resulted from lost messages between MCU and host. Two consecutive temperature updates from the extruder were lost, and that resulted in a sufficient gap in heater updates to cause the MCU to shutdown.
There should not have been lost messages from MCU to host. Unfortunately, that could be indicative of a failing USB-to-serial chip on the mainboard.