Go to file
Markus Hitter 3988e47467 Implement Roland Brochards' new acceleration maths clock-based.
His implementation was done on every step and as it turns out,
the very same maths works just fine in the clock interrupt.
Reason for the clock interrupt is: it allows about 3 times
higher step rates.

This strategy is not only substantially faster, but also
a bit smaller.

One funny anecdote: the acceleration initialisation value, C0,
was taken from elsewhere in the code as-is. Still it had to be
adjusted by a factor of sqrt(2) to now(!) match the physics
formulas and to get ramps reasonably matching the prediction
(and my pocket calculator). Apparently the code before
accumulated enough rounding errors to compensate for the
wrong formula.
2013-12-06 19:24:58 +01:00
attic Move the branch accel_clock into the attic. 2013-10-27 20:31:36 +01:00
extruder Temperature tables: add missing const qualifiers. 2013-11-16 17:31:28 +01:00
research Add research for dda-split. 2012-11-08 16:39:45 +01:00
testcases Add another testcase, triangle-odd.gcode. 2013-11-28 23:43:10 +01:00
.gitignore Makefiles: build into a dedicated directory. 2013-02-05 14:11:03 +01:00
Doxyfile Remove LUFA. 2012-12-03 19:48:54 +01:00
LICENSE licensing- GPL-2 at the moment 2010-10-20 18:15:09 +11:00
Makefile-AVR Makefile-AVR: fix ... 2013-03-24 16:17:43 +01:00
Makefile-common Makefiles can have various names now. 2013-02-05 14:11:17 +01:00
README README: shorten drastically to avoid documentation duplication. 2013-02-05 14:10:55 +01:00
Teacup_Firmware.pde arduino ide: .pde must have the same name as the folder. 2011-02-27 22:08:41 +01:00
ThermistorTable.double.h Temperature tables: add missing const qualifiers. 2013-11-16 17:31:28 +01:00
ThermistorTable.single.h Temperature tables: add missing const qualifiers. 2013-11-16 17:31:28 +01:00
analog.c According to avr-libc documentation, ISR() handles SREG its self. 2013-10-27 20:01:51 +01:00
analog.h analog.c: trim down analog values storage. 2012-09-29 23:00:11 +02:00
arduino.h Add support for the AT90USB1286. 2013-03-24 16:17:54 +01:00
arduino_32U4.h A number of teensy-related fine-adjustments. Mostly comments. 2012-11-08 16:36:22 +01:00
arduino_168_328p.h Fixed ADC channel handling. 2012-09-29 22:57:55 +02:00
arduino_644.h Fixed ADC channel handling. 2012-09-29 22:57:55 +02:00
arduino_1280.h Fixed ADC channel handling. 2012-09-29 22:57:55 +02:00
arduino_usb1286.h Add support for the AT90USB1286. 2013-03-24 16:17:54 +01:00
arduino_usb1287.h Fixed ADC channel handling. 2012-09-29 22:57:55 +02:00
calc.pl setting up new branch 2 2010-08-10 14:26:24 +10:00
clock.c Apply ATOMIC macros in a number of other obvious places. 2013-07-21 23:27:33 +02:00
clock.h clock.c: make clock_10ms() and clock_250ms() static. 2012-09-29 23:00:39 +02:00
config.default.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.gen3.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.gen6.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.gen7-v1.1-v1.3.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.gen7-v1.4.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.ramps-v1.2.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.ramps-v1.3.h config.ramps-v1.3.h: enable extruder axis. 2013-11-29 11:14:24 +01:00
config.sanguinololu-v1.1.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.sanguinololu-v1.2.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.sanguish.h Add config.sanguish.h. 2013-10-27 20:01:51 +01:00
config.teensy.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
config.teensypp.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
copier.c Merge release-candidate-triffid branch 2011-01-07 23:09:13 +11:00
copier.h setting up new branch 2 2010-08-10 14:26:24 +10:00
crc.c crc.c: "preheat" the checksum. 2012-11-08 16:25:48 +01:00
crc.h use CRC16 to verify heater PID settings in eeprom 2011-02-20 17:13:09 +11:00
createTemperatureLookup.py Temperature tables: add missing const qualifiers. 2013-11-16 17:31:28 +01:00
dda.c Implement Roland Brochards' new acceleration maths clock-based. 2013-12-06 19:24:58 +01:00
dda.h Move endstop handling into a time-based procedure. 2013-10-27 20:01:10 +01:00
dda_lookahead.c dda_lookahead.c: simplify bailout condition tests. 2013-10-27 20:01:51 +01:00
dda_lookahead.h Make lookahead basically working. 2013-07-11 22:02:13 +02:00
dda_maths.c dda_maths.c/.h: implement an integer inverse square root algorithm. 2013-10-27 20:01:51 +01:00
dda_maths.h Implement Roland Brochards' new acceleration maths clock-based. 2013-12-06 19:24:58 +01:00
dda_queue.c dda_queue.c: fix no longer true comment. 2013-11-08 21:38:04 +01:00
dda_queue.h Move endstop handling into a time-based procedure. 2013-10-27 20:01:10 +01:00
debug.c setting up new branch 2 2010-08-10 14:26:24 +10:00
debug.h Sort DEBUG_ECHO properly. 2012-05-11 13:51:03 +02:00
delay.c Eliminate _delay(), delay() and _delay_us(). 2013-03-24 16:19:24 +01:00
delay.h delay.h: re-add falsely removed #include. 2013-03-24 16:19:25 +01:00
extract.py Added gcode documentation and extraction tool 2011-06-03 02:02:46 +10:00
func.sh func.sh: Fix a potential infinite loop in mendel_readsym_target 2011-05-08 00:36:55 +10:00
fuses.h make it even harder to unintentionally include fuse definitions 2011-02-04 11:04:15 +11:00
gcode_parse.c gcode_parse.c: process incoming digits earlier. 2013-03-24 16:17:02 +01:00
gcode_parse.h gcode_parse.h: remove unused union. 2012-08-16 23:43:07 +02:00
gcode_process.c gcode-process.c: fix HEATER_EXTRUDER reference. 2013-11-11 19:02:52 +01:00
gcode_process.h gcode_process.c: make special moves non-public. 2011-02-27 11:55:01 +01:00
graycode.c disable greycode by default in arduino IDE 2011-02-17 21:52:15 +11:00
heater.c Wrap EEPROM storage related stuff in #ifdef EECONFIG. 2013-02-05 14:10:31 +01:00
heater.h Wrap EEPROM storage related stuff in #ifdef EECONFIG. 2013-02-05 14:10:31 +01:00
home.c Clean up some unused delay related stuff. 2013-03-24 16:19:21 +01:00
home.h Fixed single inclusion of file. Added missing define. 2011-08-16 14:09:49 +02:00
intercom.c According to avr-libc documentation, ISR() handles SREG its self. 2013-10-27 20:01:51 +01:00
intercom.h Replace #define HOST by #define MOTHERBOARD. 2013-03-24 16:17:14 +01:00
memory_barrier.h Introduce ATOMIC_START and ATOMIC_END. 2013-07-21 23:23:28 +02:00
mendel.c config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
mendel_cmd Merge release-candidate-triffid branch 2011-01-07 23:09:13 +11:00
pinio.c config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
pinio.h config.h: introduce PS_MOSFET_PIN for Sanguish support. 2013-10-27 20:01:51 +01:00
sd.c Eliminate _delay(), delay() and _delay_us(). 2013-03-24 16:19:24 +01:00
sender-mac.sh sender-mac.sh: another minor fix. 2011-09-30 21:02:25 +02:00
sender.sh sender.sh: Allow for "ok" to be surrounded by DEBUG output. 2011-03-04 19:42:00 +11:00
serial.c According to avr-libc documentation, ISR() handles SREG its self. 2013-10-27 20:01:51 +01:00
serial.h Make USB_SERIAL fit for the Arduino IDE. 2012-12-03 19:49:58 +01:00
sermsg.c M114 returns millimeters instead of steps 2011-04-26 14:44:17 +10:00
sermsg.h M114 returns millimeters instead of steps 2011-04-26 14:44:17 +10:00
sersendf.c sersendf.c: simplify code and save 4 bytes of RAM. 2012-07-02 17:53:36 +02:00
sersendf.h Merge release-candidate-triffid branch 2011-01-07 23:09:13 +11:00
temp.c temp.c: DEBUG_USER code for raw temp readings. 2013-07-11 22:03:21 +02:00
temp.h Move temp_all_zero() to heaters_all_zero(). 2013-01-03 15:34:47 +01:00
timer.c timer.c: the concept of a "new move" was abandoned long time ago. 2013-10-27 20:01:51 +01:00
timer.h timer.c/.h: make TICK_TIME macros available globally. 2013-10-27 20:01:51 +01:00
usb_serial.c usb_serial.c: eliminate type punning compiler warnings 2013-07-11 22:03:01 +02:00
usb_serial.h Import USB Serial from http://www.pjrc.com/teensy/usb_serial.html 2012-11-08 16:36:48 +01:00
watchdog.c According to avr-libc documentation, ISR() handles SREG its self. 2013-10-27 20:01:51 +01:00
watchdog.h Wrap the watchdog in #ifdefs and disable it for now. My poor imagination 2010-10-02 16:15:29 +02:00

README

##############################################################################
#                                                                            #
# Teacup - lean and efficient firmware for RepRap printers                   #
#                                                                            #
# by Triffid Hunter, Traumflug, jakepoz, Markus Hitter, many others          #
#                                                                            #
##############################################################################

For installation instructions, see
http://reprap.org/wiki/Teacup_Firmware#Simple_Installation and/or
http://reprap.org/wiki/Teacup_Firmware#Developer_Installation

For documentation, see
http://reprap.org/wiki/Teacup_Firmware


##############################################################################
#                                                                            #
# This firmware is Copyright (c) ...                                         #
#   2009 - 2010 Michael Moon aka Triffid_Hunter                              #
#   2010 - 2013 Markus "Traumflug" Hitter <mah@jump-ing.de>                  #
#                                                                            #
# This program 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 2 of the License, or          #
# (at your option) any later version.                                        #
#                                                                            #
# This program 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 this program; if not, write to the Free Software                #
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA #
#                                                                            #
##############################################################################