Клиппер
Go to file
Kevin O'Connor e9bf2d4c5c 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>
2023-09-21 14:52:55 -04:00
.github github: Fix regression due to update of actions/stale 2023-08-21 13:15:53 -04:00
config config: Add MKS Monster 8 generic config (#6336) 2023-09-10 13:55:37 -04:00
docs tmc2240: Adding UART interface support to tmc2240 (#6305) 2023-09-10 14:41:59 -04:00
klippy mcu: Enhance RetryAsyncCommand to handle low-level retransmits 2023-09-21 14:52:55 -04:00
lib rp2040_flash: Fix the type when printing num_blocks (#6279) 2023-07-27 20:34:32 -04:00
scripts spi_flash: Update board_defs.py (#6318) 2023-08-15 14:11:51 -04:00
src Kconfig: Support Enable/Disable lis2dw on chips with small flash size 2023-08-21 14:26:46 -04:00
test config: Add MKS Monster 8 generic config (#6336) 2023-09-10 13:55:37 -04:00
.gitignore
COPYING COPYING: Update GPLv3 license to latest text (uses https instead of http) 2022-06-03 11:28:44 -04:00
Makefile makefile: disable null pointer checks 2022-06-08 12:17:12 -04:00
README.md docs: Add a Sponsors.md file 2022-07-16 10:48:10 -04:00

README.md

Welcome to the Klipper project!

Klipper

https://www.klipper3d.org/

Klipper is a 3d-Printer firmware. It combines the power of a general purpose computer with one or more micro-controllers. See the features document for more information on why you should use Klipper.

To begin using Klipper start by installing it.

Klipper is Free Software. See the license or read the documentation. We depend on the generous support from our sponsors.