Go to file
Phil Hord 2291642456 Expand thermistortable to include precomputed slope
Save a division at runtime by pre-calculating the slope between each
pair of adjacent thermistortable values.  Since we use the larger value
each time, save the slope between two values A and B in the table
with the B data.  Therefore the slope is that between each value and
its predecessor in the list.

Store this new value in the third element of the now 3-integers-wide
array which makes up the table. Use fixed-point 6.10 format to store
the slope.  This is almost too narrow for some slopes and maybe it
should be changed to 8.8 fixed-point. In practice this presents a
loss in accuracy, but it is still significantly better than the
previous fixed-sample-size table production method. In particular no
provision is made to handle values which scale over 65535, and it
seems we should at least warn about this if not simply fail before
letting the user go off compiling his code.

Add a new flag TEMPTABLE_FORMAT and define it as 1 to tell the code
that we are using this new and incompatible format.  This lets us
tolerate old hand-crafted thermistor tables by keeping the slower
algorithm in case one is still used.  New thermistor tables should be
defined with this new format and with the FORMAT define set accordingly.

With the default 25 samples this adds 100 bytes to the flash image for
the thermistortable storage for two different thermistors.  But the
code is simplified and saves me 134 bytes in the bargain for a net
decrease in flash size of 34 bytes.
2016-04-17 14:31:12 +02:00
attic SD card: store sample code for the hardware layer. 2015-07-05 23:32:48 +02:00
config Add board config for the Tronxy/Cstar P802E. 2016-04-15 14:59:03 +02:00
configtool Expand thermistortable to include precomputed slope 2016-04-17 14:31:12 +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 Simulator: add help messsage for -T. 2016-04-16 01:00:01 +02:00
testcases Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
tools Git tools: a few minor improvements. 2015-09-14 15:24:03 +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 board.gen7-arm.h: adjust for the released Gen7-ARM. 2016-03-27 20:36:03 +02:00
Makefile-AVR Makefiles: add a hint on how to list these predefined macros. 2015-08-12 14:26:34 +02:00
Makefile-SIM Makefiles: add a hint on how to list these predefined macros. 2015-08-12 14:26:34 +02:00
Makefile-common check_integrity.sh: move to a less user visible place. 2016-04-12 00:11:43 +02: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.pde arduino ide: .pde must have the same name as the folder. 2011-02-27 22:08:41 +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: take the opportunity to rewrite analog_read() here. 2015-08-12 14:26:37 +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 ARM: split out analog-avr.c from analog.c. 2015-08-12 14:26:37 +02:00
arduino.h ARM: get FastIO for writing into place. 2015-08-12 14:26:34 +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 ARM: implement heater-arm.c partially. 2015-08-13 16:41:33 +02: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 Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
configtool.default.ini Configtool: move thermistor presets into distribution file. 2015-05-20 23:31:38 +02:00
configtool.py Configtool: work around a URL-open bug on some Linuxes. 2015-07-01 16:42:38 +02:00
cpu-arm.c ARM: take care of system startup status. 2015-08-13 17:12:13 +02:00
cpu-avr.c Introduce #ifdef SPI. 2015-08-13 17:12:12 +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 Rename Z_LATE_ENABLE to Z_AUTODISABLE and refine description. 2016-03-27 20:23:05 +02:00
dda.h Solve the pgmspace.h problem centrally. 2015-08-12 14:26:34 +02:00
dda_kinematics.c CoreXY, dda_kinematics.c/.h: introduce KINEMATICS_COREXY. 2014-12-26 19:41:37 +01:00
dda_kinematics.h CoreXY, dda_kinematics.c/.h: introduce KINEMATICS_COREXY. 2014-12-26 19:41:37 +01:00
dda_lookahead.c Reduce lookahead "error" to "notice" 2015-11-18 16:07:35 -05:00
dda_lookahead.h Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
dda_maths.c Rename all these new PROGMEM variables to end in _P. 2014-08-31 19:05:25 +02:00
dda_maths.h DDA: have an acceleration constant for each axis individually. 2014-08-31 19:10:14 +02:00
dda_queue.c MOVEBUFFER_SIZE really does not have to be power of 2 2015-09-14 15:17:20 +02:00
dda_queue.h Remove __attribute__((hot)). 2014-03-04 19:56:13 +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
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
gcode_parse.c ARM: bring in gcode_process.c. 2015-08-12 14:26:36 +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 Don't declare variables which never get used 2015-11-18 14:53:12 -05: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 ARM: enable temperature control. 2015-08-13 17:12:12 +02:00
home.c home.c, dda.c: consider endstops on both axis ends when homing. 2015-01-09 13:11:01 +01:00
home.h Fixed single inclusion of file. Added missing define. 2011-08-16 14:09:49 +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 ARM: last not least, enable CANNED_CYCLE. 2015-08-13 17:12:13 +02:00
mendel_cmd Merge release-candidate-triffid branch 2011-01-07 23:09:13 +11: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 ARM: bring in pinio.c. 2015-08-12 14:26:36 +02:00
pinio.h mendel.c: move io_init() to pinio.c. 2015-08-12 14:26:35 +02:00
preprocessor_math.h preprocessor_math.h: fix errorneous comment. 2014-08-31 19:32:09 +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
serial-arm.c ARM: rename mbed-LPC11xx.h to cmsis-lpc11xx.h. 2015-08-12 14:26:36 +02:00
serial-avr.c Move pin I/O macros from arduino.h to pinio.h. 2015-08-12 14:26:34 +02:00
serial.c ARM: get a minimum amount of Teacup compiled for ARM. 2015-08-12 14:26:33 +02:00
serial.h Solve the pgmspace.h problem centrally. 2015-08-12 14:26:34 +02:00
sermsg.c sermesg.c: Add documentation tag for variable floating point. 2014-08-31 19:07:21 +02:00
sermsg.h M114 returns millimeters instead of steps 2011-04-26 14:44:17 +10:00
sersendf.c sersendf.c: fix printing signed 16-bit values. 2016-04-14 22:59:52 +02:00
sersendf.h sersendf.c/.h: remove sersendf() (not sersendf_P()). 2015-08-12 14:26:34 +02:00
simulator.h Sim: add --report-temptables option 2016-04-16 00:59:55 +02: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 Expand thermistortable to include precomputed slope 2016-04-17 14:31:12 +02:00
temp.h Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02: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 Add config.h wrapper to simplify test automation 2014-03-04 19:56:23 +01:00
usb_serial.h ARM: get usb_serial.c in. 2015-08-13 17:12:13 +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 #
#                                                                            #
##############################################################################