Go to file
Kevin O'Connor 6d6638826c stepcompress: Fix proactive queue flushing on move with 64K+ steps
Commit e05c6354 changed the internal step compress queue from 64bit
integers to 32bit integers.  However, that commit broke the proactive
flushing of moves that could produce more than 64K steps.  This could
lead to large memory allocations and cpu slow downs on printers that
had a very large Z axis - possibly leading to a "Timer too close" mcu
shutdown.  Correct the code so that it properly generates a 64bit
flush clock.

Also, be sure to only expand / memmove the queue when there is no room
for a new element at the end.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2017-11-29 20:24:50 -05:00
config stepper: Support for multiple steppers controlling a single axis 2017-11-18 17:37:04 -05:00
docs docs: Add further details on how to report a bug 2017-11-21 18:27:22 -05:00
klippy stepcompress: Fix proactive queue flushing on move with 64K+ steps 2017-11-29 20:24:50 -05:00
lib sched: Introduce sched_wake_tasks() function to wake up tasks 2017-08-08 00:27:28 -04:00
scripts graphstats: Fix graphing script 2017-10-29 20:36:33 -04:00
src linux: Remove unneeded includes from timer.c 2017-10-23 22:20:53 -04: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: Default to python2 in the Makefile 2017-06-28 10:52:05 -04: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/.