MCU 'mmboard' shutdown: Timer too close

I have two printers. On each printer I have Klipper running two SKR 1.4 turbo boards. One board (“mcu”) is driving x,y,z, and the extruder. The other board (“mmboard”) is driving a multimaterial unit (3 steppers). Both printers are experiencing “MCU ‘mmboard’ shutdown: Timer too close” at some point in a print. So far each printer has been failing on a specific print - although different points in the print - so I don’t know if it is only these prints. Initially both prints that were failing were converted in Arc Welder but I have run the prints again with no conversion and still get the failure. I have been able to print other items on each printer. I was initially running Klipper on both printers on a RPI 3b. I upgraded one printer to a RPI 4 but that didn’t change anything. I have attached the klippy.log file for two of the failures.

Does the “mmboard” shutdown mean the SKR board driving the MMU was the problem or just that Klipper had problems controlling it? Anything I can do to stop the “Timer too close” issue? (1.9 MB)

Unfortunately, using SYNC=0 with manual_stepper is fragile today. Specifically, it looks like the host failed to properly flush all the steps from its internal buffer.

If you can implement your code without using SYNC=0 that is probably the best short term solution.

Otherwise, as an experiment, you could try adding a small delay (eg, G4 P10) after each SYNC=1 command.

This does look like something Klipper could do better at. However, I’m not sure when someone will be able to set aside time to look at this area of the code.


Thank you for looking into this and providing steps for possible resolution.