Teacup_Firmware/configtool
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
..
__init__.py Configtool: major restructuring. 2015-04-21 02:07:12 +02:00
accelerationpage.py Configtool: take advantage of the now recognized values. 2015-07-17 13:38:15 +02:00
addheaterdlg.py ARM, AVR: support inverted heater pin signals. 2015-08-13 17:12:10 +02:00
addsensordlg.py Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
background.png Configtool: give the thing a nice background picture. 2015-05-30 18:41:02 +02:00
board.generic.h Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
boardpanel.py ARM, AVR: support inverted heater pin signals. 2015-08-13 17:12:10 +02:00
build.py Configtool: also try toolpaths in more recent OS Xs. 2015-07-13 10:59:01 +02:00
calcbelt.py Configtool: a few more apperance enhancements. 2015-04-21 02:51:30 +02:00
calcscrew.py Configtool: a few more apperance enhancements. 2015-04-21 02:51:30 +02:00
communicationspage.py Configtool: take advantage of the now recognized values. 2015-07-17 13:38:15 +02:00
cpupage.py Configtool: de-duplicate insertValues(). 2015-07-17 13:38:02 +02:00
data.py Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
decoration.py Configtool: color background matching the background picture. 2015-05-30 19:20:38 +02:00
heaterlist.py ARM, AVR: support inverted heater pin signals. 2015-08-13 17:12:10 +02:00
heaterspage.py ARM, AVR: support inverted heater pin signals. 2015-08-13 17:12:10 +02:00
mechanicalpage.py Configtool: take advantage of the now recognized values. 2015-07-17 13:38:15 +02:00
miscellaneouspage.py Rename Z_LATE_ENABLE to Z_AUTODISABLE and refine description. 2016-03-27 20:23:05 +02:00
page.py Configtool: take advantage of the now recognized values. 2015-07-17 13:38:15 +02:00
pinoutspage.py Configtool: take advantage of the now recognized values. 2015-07-17 13:38:15 +02:00
printer.generic.h Rename Z_LATE_ENABLE to Z_AUTODISABLE and refine description. 2016-03-27 20:23:05 +02:00
printerpanel.py Configtool: move board/printer.metadata to configtool/ ... 2015-07-17 13:38:22 +02:00
protectedfiles.py ARM: add a board configuration for Gen7-ARM. 2015-08-12 14:26:36 +02:00
sensorlist.py Configtool: don't color heater/sensor list items. 2015-05-31 11:27:12 +02:00
sensorpage.py Added support for MCP3008 and MCP3004 ADC for temperature read 2016-04-12 22:37:50 +02:00
settings.py Configtool: refine settings tooltips. 2015-05-31 21:50:08 +02:00
thermistor.py Configtool: thermistor table entries are now distributed by ADC. 2015-07-27 18:04:41 +02:00
thermistorpresets.py Configtool: move thermistor presets into distribution file. 2015-05-20 23:31:38 +02:00
thermistortablefile.py Expand thermistortable to include precomputed slope 2016-04-17 14:31:12 +02:00