Go to file
Kevin O'Connor 02ae2ab984 clocksync: Rework multi-mcu adjust to better handle long moves
The multi-mcu clock syncing code relies on the ability to periodically
update the mcu clock adjustments.  If a series of very long moves are
submitted then it is possible the adjustments could become unstable.
For example, if an adjustment is made to reduce a clock error over the
next couple of seconds, but it is applied to a longer period because
the next move lasts many seconds, then this would result in a bigger
adjustment for the following move, which would result in an even
bigger error when that move lasts many seconds.  This can repeat until
the system destabilizes.

Check for cases where the print_time is far in the future of the
current estimated print time and average over a longer period in that
case.  That should reduce the possibility of the adjustment code
becoming unstable.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-02-19 22:13:28 -05:00
config config: Expand homing_override description in sample-bltouch.cfg 2018-02-13 15:29:49 -05:00
docs docs: Add tips for porting to new kinematics to Code_Overview.md 2018-02-17 13:48:53 -05:00
klippy clocksync: Rework multi-mcu adjust to better handle long moves 2018-02-19 22:13:28 -05:00
lib sched: Introduce sched_wake_tasks() function to wake up tasks 2017-08-08 00:27:28 -04:00
scripts graphstats: Set size on frequency graph 2018-02-18 20:42:28 -05:00
src avr: Round hardware pwm clock ticks to nearest divisor 2018-01-29 11:54:15 -05:00
.gitignore Initial commit of source code. 2016-05-25 11:37:40 -04:00
COPYING Initial commit of source code. 2016-05-25 11:37:40 -04:00
Makefile build: Add gcc and binutils version to mcu data dictionary 2017-12-21 20:32:10 -05:00
README.md docs: Add a features document 2016-12-20 22:31:46 -05:00

README.md

Welcome to the Klipper project!

This project implements a 3d-printer firmware. There are two parts to this firmware - code that runs on a micro-controller and code that runs on a host machine. The host software does the work to build a schedule of events, while the micro-controller software does the work to execute the provided schedule at the specified times.

See the features document to find out why you should use Klipper. To begin using Klipper start by installing it.

There is also developer documentation available.

License

Klipper is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Klipper is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Klipper. If not, see http://www.gnu.org/licenses/.