Клиппер
Go to file
Kevin O'Connor fec12030a9 sam3x8e/timer: Be careful of races in timer_set_next()
It's possible for sched_del_timer() to be called on a timer that fires
just after sched_del_timer disables irqs but before the next timer is
scheduled.  In this case be sure to clear the irq pending status flag
after scheduling the next timer so that a delayed irq doesn't cause
the wrong timer to be run.  For the same reason, make sure to check
the irq pending status flag at the start of the timer irq.

Also, as a safety check, make sure timer_set_next() isn't called from
within the timer irq dispatch loop.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2017-02-14 22:15:51 -05:00
config delta: Cap maximum stepper velocity and acceleration 2017-02-13 21:47:10 -05:00
docs command: Check for reentrant calls to sendf() 2017-01-13 12:10:00 -05:00
klippy delta: Cap maximum stepper velocity and acceleration 2017-02-13 21:47:10 -05:00
lib lib: Add Atmel SAM3x8e ARM CMSIS files 2016-06-14 14:25:42 -04:00
scripts toolhead: Rework lookahead flush to be more stable during high cpu 2017-02-12 17:20:40 -05:00
src sam3x8e/timer: Be careful of races in timer_set_next() 2017-02-14 22:15:51 -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: Define DECL_CONSTANT mechanism for defining exported constants 2016-12-23 17:06: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/.