Go to file
Nico Tonnhofer 1e052a77a2 DDA: The test of total_steps against step_no was a good idea.
So let's bring this part back.

We save 35 clock cycles at 'LED on time maximum'

ATmega sizes               '168   '328(P)   '644(P)     '1280
Program:  18038 bytes      126%       59%       29%       14%
   Data:   1936 bytes      190%       95%       48%       24%
 EEPROM:     32 bytes        4%        2%        2%        1%

short-moves.gcode statistics:
LED on occurences: 888.
LED on time minimum: 217 clock cycles.
LED on time maximum: 520 clock cycles.
LED on time average: 249.626 clock cycles.

smooth-curves.gcode statistics:
LED on occurences: 22589.
LED on time minimum: 217 clock cycles.
LED on time maximum: 537 clock cycles.
LED on time average: 284.747 clock cycles.

triangle-odd.gcode statistics:
LED on occurences: 1636.
LED on time minimum: 217 clock cycles.
LED on time maximum: 520 clock cycles.
LED on time average: 270.933 clock cycles.
2017-02-13 19:04:21 +01:00
attic Move branch 'issue-196' to the attic. 2016-11-19 10:15:01 +01:00
config PCBScriber config files. 2016-11-20 14:45:45 +01:00
configtool Configtool: speed up startup with wx-tricks. 2016-10-26 22:00:21 +02:00
extruder pinio.h: remove TOGGLE(), GET_INPUT(), GET_OUTPUT() macros. 2015-08-12 14:26:35 +02:00
research Add gnuplot script to explore simulator output 2013-12-06 19:24:58 +01:00
simulator dda_queue.c/.h: eliminate queue_empty(). 2016-12-06 14:16:54 +01:00
testcases DDA:testing steps 2017-02-13 19:03:21 +01:00
tools git-regtest: abort on regression test failure. 2016-04-20 21:46:37 +02:00
.gitattributes Enforce Unix line endings (LF). 2015-02-04 00:10:37 +01:00
.gitignore .gitignore: add entries for Atmel Studio project files. 2016-04-14 23:04:05 +02: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-ARM ARM: turn on link time optimisation (LTO). 2016-12-07 12:22:23 +01:00
Makefile-AVR AVR: turn on link time optimisation (LTO). 2016-12-08 20:06:02 +01:00
Makefile-SIM Makefiles: add a hint on how to list these predefined macros. 2015-08-12 14:26:34 +02:00
Makefile-common dda->id is needed even when !LOOKAHEAD 2017-02-01 10:21:48 -08:00
Makefile-example Makefile-example: add shortcut targets. 2015-07-17 13:29:22 +02:00
README Makefiles: adjust comments. 2015-04-21 02:51:31 +02:00
README.sim Teach simulator to process gcode files directly 2013-12-06 19:24:58 +01:00
Teacup_Firmware.ino Teacup_Firmware.ino: add a hint to Configtool. 2016-11-19 10:24:51 +01:00
analog-arm.c analog-arm.c: read not by ADC channel number, but by Teacup number. 2015-08-12 14:26:37 +02:00
analog-avr.c analog-avr.c: no need to re-initialise adc_counter. 2016-06-23 22:34:31 +02:00
analog.c analog-arm.c: read not by ADC channel number, but by Teacup number. 2015-08-12 14:26:37 +02:00
analog.h Temp: request ADC reads only when necessary. 2016-06-23 22:32:51 +02:00
arduino.h Simulator: fix pin numbering consistency 2016-05-26 11:04:30 +02:00
arduino_32U4.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_168_328p.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_644.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_1280.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_lpc1114.h ARM: allow non-PWM pins as heater output. 2015-08-13 16:41:33 +02:00
arduino_usb1286.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
arduino_usb1287.h SD card: establish spi.c/.h and sd.c/.h and get SPI running. 2015-07-05 23:32:46 +02:00
calc.pl setting up new branch 2 2010-08-10 14:26:24 +10:00
clock.c DDA: avoid looking up the movebuffer array. 2016-12-06 15:33:26 +01:00
clock.h clock.c: make stuff used only in clock.c static to this file. 2015-08-01 16:22:10 +02:00
cmsis-core_cm0.h ARM: prettify cmsis-core_cm0.h. 2015-08-12 14:26:36 +02:00
cmsis-lpc11xx.h ARM: rename mbed-system_LPC11xx.c/.h to cmsis-system_lpc11xx.c/.h. 2015-08-12 14:26:36 +02:00
cmsis-lpc1114.ld ARM: prettify current cmsis- files. 2015-08-12 14:26:35 +02:00
cmsis-startup_lpc11xx.s ARM: prettify current cmsis- files. 2015-08-12 14:26:35 +02:00
cmsis-system_lpc11xx.c ARM: prettify cmsis-system_lpc11xx.c/.h. 2015-08-12 14:26:36 +02:00
cmsis-system_lpc11xx.h ARM: prettify cmsis-system_lpc11xx.c/.h. 2015-08-12 14:26:36 +02:00
config.default.h Configtool: convert template for Teensy++ 2.0. 2015-04-21 02:51:31 +02:00
config_wrapper.h Lookahead: disable in config_wrapper.h, not in dda_lookahead.h. 2016-07-09 13:36:22 +02:00
configtool.default.ini Configtool: move thermistor presets into distribution file. 2015-05-20 23:31:38 +02:00
configtool.py Configtool: add --quit and --save commandline switches. 2016-06-06 12:36:17 +02:00
cpu-arm.c ARM: take care of system startup status. 2015-08-13 17:12:13 +02:00
cpu-avr.c I2C: initial support. 2016-04-20 21:15:11 +02:00
cpu.c ARM: get a minimum amount of Teacup compiled for ARM. 2015-08-12 14:26:33 +02:00
cpu.h ARM: introduce sei() and cli(). 2015-08-12 14:26:36 +02:00
crc.c Replace SIMULATOR with __AVR__ in several places. 2015-07-29 21:05:38 +02:00
crc.h use CRC16 to verify heater PID settings in eeprom 2011-02-20 17:13:09 +11:00
createTemperatureLookup.py createTemperatureLookup.py: deal with precision limitation on R0. 2015-04-21 02:51:32 +02:00
dda.c DDA: The test of total_steps against step_no was a good idea. 2017-02-13 19:04:21 +01:00
dda.h Revert "DDA: don't count individual axis steps." 2017-02-13 19:04:20 +01:00
dda_kinematics.c dda_create(): treat 'target' as const and input only. 2016-07-09 14:17:51 +02:00
dda_kinematics.h dda_create(): treat 'target' as const and input only. 2016-07-09 14:17:51 +02:00
dda_lookahead.c DDA: get rid of dda->delta_um[]. 2016-12-15 20:00:29 +01:00
dda_lookahead.h dda_lookahead.c/.h: more debugging code removal/wrapping. 2016-09-06 21:50:33 +02:00
dda_maths.c DDA: get rid of fast_spm. 2016-11-14 21:36:00 +01:00
dda_maths.h DDA: make lookahead independent of X. 2016-11-14 21:43:54 +01:00
dda_queue.c mb_tail_dda: some code forgot to check for null 2016-12-20 16:31:21 -08:00
dda_queue.h dda_queue.c/.h: eliminate queue_current_movement(). 2016-12-06 15:08:50 +01:00
debug.c setting up new branch 2 2010-08-10 14:26:24 +10:00
debug.h Configtool: don't make DEBUG configuration user-visible. 2015-05-08 20:38:23 +02:00
delay-arm.c ARM: rename mbed-LPC11xx.h to cmsis-lpc11xx.h. 2015-08-12 14:26:36 +02:00
delay-avr.c ARM: split out architecture specific parts for delay.c 2015-08-12 14:26:35 +02:00
delay.c ARM: get delay.c in. 2015-08-12 14:26:35 +02:00
delay.h delay.h: re-add falsely removed #include. 2013-03-24 16:19:25 +01:00
display.c Display: queue up display_set_cursor(), too. 2016-05-30 10:59:12 +02:00
display.h Configtool: learn about DISPLAY_TYPE_HD44780. 2016-05-30 11:05:50 +02:00
display_hd44780.c display_hd44780.c: replace silly demo with temperatures. 2016-05-30 11:03:41 +02:00
display_ssd1306.c Display: queue up display_set_cursor(), too. 2016-05-30 10:59:12 +02:00
displaybus.h Display: add support for the HD44780 display. 2016-05-30 10:31:39 +02:00
extract.py Added gcode documentation and extraction tool 2011-06-03 02:02:46 +10:00
font.c Display: introduce font.h, paraphrase handling distinct fonts. 2016-04-26 14:13:20 +02:00
font.h Display: introduce font.h, paraphrase handling distinct fonts. 2016-04-26 14:13:20 +02:00
font_8x4.c Display: introduce font.h, paraphrase handling distinct fonts. 2016-04-26 14:13:20 +02:00
func.sh func.sh: Fix a potential infinite loop in mendel_readsym_target 2011-05-08 00:36:55 +10:00
gcode_parse.c Drop redundant "simulator.h" includes. 2016-06-11 15:12:40 +02:00
gcode_parse.h gcode_parse.h: order variables reasonably in groups of 4 bytes. 2015-08-12 14:26:36 +02:00
gcode_process.c mb_tail_dda: some code forgot to check for null 2016-12-20 16:31:21 -08:00
gcode_process.h G-code parser: move gcode_source stuff ... 2015-07-17 13:31:10 +02:00
graycode.c disable greycode by default in arduino IDE 2011-02-17 21:52:15 +11:00
heater-arm.c ARM: enable temperature control. 2015-08-13 17:12:12 +02:00
heater-avr.c ARM: enable temperature control. 2015-08-13 17:12:12 +02:00
heater.c ARM: enable temperature control. 2015-08-13 17:12:12 +02:00
heater.h Drop redundant "simulator.h" includes. 2016-06-11 15:12:40 +02:00
home.c PCBScriber config files. 2016-11-20 14:45:45 +01:00
home.h Fixed single inclusion of file. Added missing define. 2011-08-16 14:09:49 +02:00
i2c.c i2c.c: review error handling yet again. 2016-04-27 23:54:15 +02:00
i2c.h Display: introduce display queue. 2016-04-27 23:54:14 +02:00
intercom.c ARM: introduce sei() and cli(). 2015-08-12 14:26:36 +02:00
intercom.h Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
memory_barrier.h ARM: port memory_barrier.h. 2015-08-12 14:26:36 +02:00
mendel.c Drop redundant "simulator.h" includes. 2016-06-11 15:12:40 +02:00
mendel_cmd Merge release-candidate-triffid branch 2011-01-07 23:09:13 +11:00
msg.c Make message/text sending aware of the sending destination. 2016-04-26 15:23:15 +02:00
msg.h Make message/text sending aware of the sending destination. 2016-04-26 15:23:15 +02:00
parallel-4bit.c Display: add support for the HD44780 display. 2016-05-30 10:31:39 +02:00
parallel-4bit.h Display: add support for the HD44780 display. 2016-05-30 10:31:39 +02:00
pff.c SD card: move parsing closer to the metal. 2015-07-17 13:31:03 +02:00
pff.h Add simulator SD card (and SPI, PFF) support. 2015-07-17 16:02:59 +02:00
pff_conf.h SD card: measures sizes and additionally enable FAT32 support. 2015-07-07 19:07:37 +02:00
pff_diskio.c Fix typos: "whether" and whitespace. 2015-07-17 16:16:42 +02:00
pff_diskio.h SD card: move parsing closer to the metal. 2015-07-17 13:31:03 +02:00
pinio.c pinio.c/.h: rename PULLUP_OFF() to PULL_OFF(). 2016-09-30 12:42:47 +02:00
pinio.h pinio.h: support USE_INTERNAL_PULLDOWNS. 2016-09-30 13:16:01 +02:00
preprocessor_math.h preprocessor_math.h: fix errorneous comment. 2014-08-31 19:32:09 +02:00
ringbuffer.h Serial: move ringbuffer logic into a separate header file. 2016-04-20 21:15:11 +02:00
sd.c heater.c, sd.c: apply the changed order of SET_OUTPUT() here, too. 2015-08-12 14:26:36 +02:00
sd.h ARM: get spi.c, pff.c and pff_diskio.c (SD card handling) in. 2015-08-13 17:12:13 +02: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
sendf.c Make message/text sending aware of the sending destination. 2016-04-26 15:23:15 +02:00
sendf.h Simulator: fix pin numbering consistency 2016-05-26 11:04:30 +02:00
serial-arm.c Make message/text sending aware of the sending destination. 2016-04-26 15:23:15 +02:00
serial-avr.c Serial: move ringbuffer logic into a separate header file. 2016-04-20 21:15:11 +02:00
serial.c ARM: get a minimum amount of Teacup compiled for ARM. 2015-08-12 14:26:33 +02:00
serial.h Drop redundant "simulator.h" includes. 2016-06-11 15:12:40 +02:00
sermsg.h Make message/text sending aware of the sending destination. 2016-04-26 15:23:15 +02:00
sersendf.h Make message/text sending aware of the sending destination. 2016-04-26 15:23:15 +02:00
simulator.h Define missing DEBUG_LED_PIN in simulator 2016-08-08 13:34:39 -04:00
spi.c ARM: get spi.c, pff.c and pff_diskio.c (SD card handling) in. 2015-08-13 17:12:13 +02:00
spi.h Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
temp.c Make temperature waiting independent from the movement queue. 2016-12-05 13:56:09 +01:00
temp.h Make temperature waiting independent from the movement queue. 2016-12-05 13:56:09 +01:00
timer-arm.c Step timer: reset timer after pauses instead of doing a guess. 2015-08-12 14:26:37 +02:00
timer-avr.c Step timer: reset timer after pauses instead of doing a guess. 2015-08-12 14:26:37 +02:00
timer.c ARM: split timer.c into platform specific files. 2015-08-12 14:26:36 +02:00
timer.h Step timer: reset timer after pauses instead of doing a guess. 2015-08-12 14:26:37 +02:00
usb_serial.c Drop redundant "simulator.h" includes. 2016-06-11 15:12:40 +02:00
usb_serial.h usb_serial.h: refine the note. 2016-04-27 23:53:42 +02:00
watchdog.c watchdog.c: fix compilation with module enabled. 2016-04-14 22:51:22 +02:00
watchdog.h ARM: get watchdog.c in. 2015-08-13 17:12:13 +02:00

README

##############################################################################
#                                                                            #
# Teacup - lean and efficient firmware for RepRap printers                   #
#                                                                            #
# by Triffid Hunter, Traumflug, jakepoz, 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 #
#                                                                            #
##############################################################################