Клиппер
Go to file
Kevin O'Connor a1c61563a0 avr: Fix bug causing timer_read_time() to not be in sync with scheduler
Commit 16e3dbb1 changed the avr implementation of timer_read_time().
Unfortunately, it raised the possibility for timer_read_time() to be
out of sync with the scheduler's understanding of the current time.
In particular, it was common for the timer irq to overflow the 16bit
hardware counter once at startup, and this would lead to
timer_read_time() always returning a time ~4ms ahead of the scheduler
on 16Mhz chips.  This resulted in "Move queue empty" errors.

To resolve this issue, only increment timer_high from timer_periodic()
and make sure the timer irqs start immediately after timer_init().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2017-03-31 14:36:57 -04:00
config toolhead: Increase the motor_off_time default to 10 minutes 2017-03-30 14:09:17 -04:00
docs sched: Move timer dispatch loop to board code 2017-03-30 11:24:42 -04:00
klippy toolhead: Increase the motor_off_time default to 10 minutes 2017-03-30 14:09:17 -04:00
lib lib: Add Atmel SAM3x8e ARM CMSIS files 2016-06-14 14:25:42 -04:00
scripts avrsim: Catch simulation errors 2017-03-26 22:01:07 -04:00
src avr: Fix bug causing timer_read_time() to not be in sync with scheduler 2017-03-31 14:36:57 -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: 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/.