Klipper3d / klipper

Klipper is a 3d-printer firmware
GNU General Public License v3.0
8.99k stars 5.17k forks source link

Improve scheduling of multi-mcu homing "trsync" messages #6453

Closed KevinOConnor closed 5 months ago

KevinOConnor commented 5 months ago

When homing involves multiple micro-controllers the Klipper code arranges for all the micro-controllers to generate "keep-alive" messages. This is designed to avoid an endstop signal not propagating due to a communication outage.

However, the existing code scheduled all of the micro-controllers to send their keep-alive message at the same time. It's a little more optimal to stagger the updates so as to reduce instantaneous bandwidth and processing load. This PR also slightly increases the rate of keep-alive messages to better handle some "corner cases" with lost messages.

This was also discussed at https://klipper.discourse.group/t/configurable-timeout/12032

-Kevin