aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2024-01-02 20:20:55 -0500
committerKevin O'Connor <kevin@koconnor.net>2024-01-16 14:19:11 -0500
commit1ea9f3aa35d7232ee5d106541c5a98c4348c6e47 (patch)
treea874be3bb10ae27d47ff8e66e95e5d65a5102dfe
parentdab39c02cd5681d530388fbaa82d0dc7f31d2e26 (diff)
downloadkutter-1ea9f3aa35d7232ee5d106541c5a98c4348c6e47.tar.gz
kutter-1ea9f3aa35d7232ee5d106541c5a98c4348c6e47.tar.xz
kutter-1ea9f3aa35d7232ee5d106541c5a98c4348c6e47.zip
mcu: Increase trsync_state reporting during multi-mcu homing
The current code has the mcu report a trsync_state message every 10ms and expects a time extension within 25ms. However, this means that if a single mcu->host report is lost then 20ms would elapse until the next report, which would allow for only a 5ms round-trip time before a timeout error is reported. Increase the trsync_state timing so that a message is sent every 7.5ms. This increases the total number of messages per second sent from mcu to host to 133 (from 100). With this change, a single lost message would still allow for up to a 10ms round-trip time. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--klippy/mcu.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/klippy/mcu.py b/klippy/mcu.py
index 1c824588..6318ff7f 100644
--- a/klippy/mcu.py
+++ b/klippy/mcu.py
@@ -192,9 +192,9 @@ class MCU_trsync:
clock = self._mcu.print_time_to_clock(print_time)
expire_ticks = self._mcu.seconds_to_clock(expire_timeout)
expire_clock = clock + expire_ticks
- report_ticks = self._mcu.seconds_to_clock(expire_timeout * .4)
+ report_ticks = self._mcu.seconds_to_clock(expire_timeout * .3)
report_clock = clock + int(report_ticks * report_offset + .5)
- min_extend_ticks = self._mcu.seconds_to_clock(expire_timeout * .4 * .8)
+ min_extend_ticks = int(report_ticks * .8 + .5)
ffi_main, ffi_lib = chelper.get_ffi()
ffi_lib.trdispatch_mcu_setup(self._trdispatch_mcu, clock, expire_clock,
expire_ticks, min_extend_ticks)