aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/kinematics/idex_modes.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2023-09-21 14:42:44 -0400
committerKevin O'Connor <kevin@koconnor.net>2023-09-21 14:52:55 -0400
commite9bf2d4c5c02e8fbf1130928bf08f8de37e6ee79 (patch)
tree85a1d61b1e0d83289b2cebb33e7b8fc4cf02a875 /klippy/kinematics/idex_modes.py
parent8ef0f7d7e3d3b2ac7bc1e80ed3295ceca6bba4e7 (diff)
downloadkutter-e9bf2d4c5c02e8fbf1130928bf08f8de37e6ee79.tar.gz
kutter-e9bf2d4c5c02e8fbf1130928bf08f8de37e6ee79.tar.xz
kutter-e9bf2d4c5c02e8fbf1130928bf08f8de37e6ee79.zip
mcu: Enhance RetryAsyncCommand to handle low-level retransmits
The RetryAsyncCommand code needs to ensure that any response messages are not from a previous (unrelated) query. To do that it compares the '#sent_time' from potential responses to ensure they are not from a previous session. However, if there are any low-level serial retransmits then the low-level code sets the '#sent_time' to zero (to indicate that the query send time is not strictly known). That could result in a valid response not being accepted by RetryAsyncCommand. If a low-level connection is experiencing a small amount of periodic retransmits it could result in multiple high-level retry attempts failing to the point that there is a user-facing error. This could result in "Timeout on wait for 'tmcuart_response' response" errors. Fix by accepting responses even if there is a low-level retransmit once the code can confirm that there can be no previous query still in progress. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/kinematics/idex_modes.py')
0 files changed, 0 insertions, 0 deletions