Intermittent TMC UART weirdness

If you’re comfortable making code changes, you could try something like this in klippy/extras/tmc_uart.py:

--- a/klippy/extras/tmc_uart.py
+++ b/klippy/extras/tmc_uart.py
@@ -220,10 +220,13 @@ class MCU_TMC_uart:
         reg = self.name_to_reg[reg_name]
         if self.printer.get_start_args().get('debugoutput') is not None:
             return 0
-        for retry in range(5):
+        for retry in range(25):
             val = self.mcu_uart.reg_read(self.instance_id, self.addr, reg)
             if val is not None:
                 return val
+            logging.info("TMC read %d fail on '%s' register %s at %.6f",
+                         self.name, retry,
+                         reg_name, self.printer.get_reactor().monotonic())
         raise self.printer.command_error(
             "Unable to read tmc uart '%s' register %s" % (self.name, reg_name))
     def get_register(self, reg_name):

That should increase the retries and log each failure. Maybe that will give further info on how many intermittent failures there are.

Be sure to do a full sudo service klipper restart after any code change.

-Kevin