Kevin O'Connor bf5c4daf86 usb_cdc: Avoid ending a transmission with a max size usb packet
It seems the Linux kernel will consider a maximum size usb packet to
be a transaction that will continue into the next usb packet.  It will
thus hold on to the traffic from the first packet until it gets the
next packet.  However, if the mcu has no further data to send after
the first packet then the data could get delayed for an extended
period of time.

To avoid this, check for transmissions that could end on a maximum
sized packet and send that data in two packets instead.  This avoids
this unusual corner case.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-02-15 18:22:45 -05:00
2025-01-10 12:20:13 -05:00

Welcome to the Klipper project!

Klipper

https://www.klipper3d.org/

The Klipper firmware controls 3d-Printers. 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 the Klipper software.

Start by installing Klipper software.

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

Description
No description provided
Readme 57 MiB
Languages
C 96.7%
Python 2.9%
C++ 0.2%