summaryrefslogtreecommitdiff
path: root/Sprinter
diff options
context:
space:
mode:
authorkliment <kliment.yanev@gmail.com>2011-07-05 20:20:15 +0200
committerkliment <kliment.yanev@gmail.com>2011-07-05 20:20:15 +0200
commitd1cfd12190a0810bb6a623a5e674d9339e723b8e (patch)
tree93fb64b47f5247a23aa2377d9debb25f380e4af5 /Sprinter
parent873e85b3bb5240eaaba6491c38284e2d6d3fba2e (diff)
Cleaned up configuration. Made a hack so that board versions can be set from configuration.h. Combined thermistor tables. Enabled maxtemp and mintemp by default.
Changed case of configuration.h to make it appear first in Arduino IDE
Diffstat (limited to 'Sprinter')
-rw-r--r--Sprinter/BedThermistorTable_100k.h85
-rw-r--r--Sprinter/BedThermistorTable_200k.h42
-rw-r--r--Sprinter/Configuration.h (renamed from Sprinter/configuration.h)152
-rw-r--r--Sprinter/Sprinter.pde2
-rw-r--r--Sprinter/ThermistorTable_100k.h85
-rw-r--r--Sprinter/ThermistorTable_200k.h42
-rw-r--r--Sprinter/ThermistorTable_mendelparts.h45
-rw-r--r--Sprinter/pins.h51
-rw-r--r--Sprinter/thermistortables.h274
9 files changed, 392 insertions, 386 deletions
diff --git a/Sprinter/BedThermistorTable_100k.h b/Sprinter/BedThermistorTable_100k.h
deleted file mode 100644
index 84bc607..0000000
--- a/Sprinter/BedThermistorTable_100k.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef THERMISTORTABLE_H_
-#define THERMISTORTABLE_H_
-
-// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
-// See this page:
-// http://dev.www.reprap.org/bin/view/Main/Thermistor
-// for details of what goes in this table.
-// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
-// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023
-// r0: 100000
-// t0: 25
-// r1: 0
-// r2: 4700
-// beta: 4066
-// max adc: 1023
-
-#define BNUMTEMPS 61
-const short bedtemptable[BNUMTEMPS][2] = {
-{ 23 , 300 },
-{ 25 , 295 },
-{ 27 , 290 },
-{ 28 , 285 },
-{ 31 , 280 },
-{ 33 , 275 },
-{ 35 , 270 },
-{ 38 , 265 },
-{ 41 , 260 },
-{ 44 , 255 },
-{ 48 , 250 },
-{ 52 , 245 },
-{ 56 , 240 },
-{ 61 , 235 },
-{ 66 , 230 },
-{ 71 , 225 },
-{ 78 , 220 },
-{ 84 , 215 },
-{ 92 , 210 },
-{ 100 , 205 },
-{ 109 , 200 },
-{ 120 , 195 },
-{ 131 , 190 },
-{ 143 , 185 },
-{ 156 , 180 },
-{ 171 , 175 },
-{ 187 , 170 },
-{ 205 , 165 },
-{ 224 , 160 },
-{ 245 , 155 },
-{ 268 , 150 },
-{ 293 , 145 },
-{ 320 , 140 },
-{ 348 , 135 },
-{ 379 , 130 },
-{ 411 , 125 },
-{ 445 , 120 },
-{ 480 , 115 },
-{ 516 , 110 },
-{ 553 , 105 },
-{ 591 , 100 },
-{ 628 , 95 },
-{ 665 , 90 },
-{ 702 , 85 },
-{ 737 , 80 },
-{ 770 , 75 },
-{ 801 , 70 },
-{ 830 , 65 },
-{ 857 , 60 },
-{ 881 , 55 },
-{ 903 , 50 },
-{ 922 , 45 },
-{ 939 , 40 },
-{ 954 , 35 },
-{ 966 , 30 },
-{ 977 , 25 },
-{ 985 , 20 },
-{ 993 , 15 },
-{ 999 , 10 },
-{ 1004 , 5 },
-{ 1008 , 0 },
-
-};
-
-
-#endif
-
diff --git a/Sprinter/BedThermistorTable_200k.h b/Sprinter/BedThermistorTable_200k.h
deleted file mode 100644
index 3d96aa3..0000000
--- a/Sprinter/BedThermistorTable_200k.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef THERMISTORTABLE_H_
-#define THERMISTORTABLE_H_
-
-// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
-// See this page:
-// http://dev.www.reprap.org/bin/view/Main/Thermistor
-// for details of what goes in this table.
-// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
-// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023
-// r0: 100000
-// t0: 25
-// r1: 0
-// r2: 4700
-// beta: 4066
-// max adc: 1023
-
-#define BNUMTEMPS 20
-const short bedtemptable[BNUMTEMPS][2] = {
- {1, 848},
- {54, 275},
- {107, 228},
- {160, 202},
- {213, 185},
- {266, 171},
- {319, 160},
- {372, 150},
- {425, 141},
- {478, 133},
- {531, 125},
- {584, 118},
- {637, 110},
- {690, 103},
- {743, 95},
- {796, 86},
- {849, 77},
- {902, 65},
- {955, 49},
- {1008, 17}
-};
-
-
-#endif
diff --git a/Sprinter/configuration.h b/Sprinter/Configuration.h
index 0a38a6a..54ea8ea 100644
--- a/Sprinter/configuration.h
+++ b/Sprinter/Configuration.h
@@ -1,13 +1,87 @@
-#ifndef PARAMETERS_H
-#define PARAMETERS_H
+#ifndef CONFIGURATION_H
+#define CONFIGURATION_H
-// NO RS485/EXTRUDER CONTROLLER SUPPORT
-// PLEASE VERIFY PIN ASSIGNMENTS FOR YOUR CONFIGURATION!!!!!!!
-#define MOTHERBOARD 3 // ATMEGA168 = 0, SANGUINO = 1, MOTHERBOARD = 2, MEGA/RAMPS = 3, ATMEGA328 = 4, Gen6 = 5, Sanguinololu = 6
-//Comment out to disable SD support
+//BASIC SETTINGS: select your board type, thermistor type, axis scaling, and endstop configuration
+
+// The following define selects which electronics board you have. Please choose the one that matches your setup
+// MEGA/RAMPS up to 1.2 = 3,
+// RAMPS 1.3 = 63
+// Gen6 = 5,
+// Sanguinololu up to 1.1 = 6
+// Sanguinololu 1.2 and above = 62
+#define MOTHERBOARD 3
+
+//Thermistor settings:
+// 1 is 100k thermistor
+// 2 is 200k thermistor
+// 3 is mendel-parts thermistor
+#define THERMISTORHEATER 1
+#define THERMISTORBED 1
+
+
+//Calibration variables
+//X, Y, Z, E steps per unit - Metric Prusa Mendel with Wade extruder:
+float axis_steps_per_unit[] = {80, 80, 3200/1.25,700};
+//Metric Prusa Mendel with Makergear geared stepper extruder:
+//float axis_steps_per_unit[] = {80,80,3200/1.25,1380};
+
+
+////Endstop Settings
+#define ENDSTOPPULLUPS 1 // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
+//The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
+const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the endstops
+
+//This determines the communication speed of the printer
+#define BAUDRATE 115200
+
+//Comment out (using // at the start of the line) to disable SD support:
#define SDSUPPORT 1
+
+
+
+
+//ADVANCED SETTINGS - to tweak parameters
+
+#include "thermistortables.h"
+
+//For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
+const bool X_ENABLE_ON = 0;
+const bool Y_ENABLE_ON = 0;
+const bool Z_ENABLE_ON = 0;
+const bool E_ENABLE_ON = 0;
+
+//Disables axis when it's not being used.
+const bool DISABLE_X = false;
+const bool DISABLE_Y = false;
+const bool DISABLE_Z = true;
+const bool DISABLE_E = false;
+
+const bool INVERT_X_DIR = false;
+const bool INVERT_Y_DIR = false;
+const bool INVERT_Z_DIR = true;
+const bool INVERT_E_DIR = false;
+
+//ENDSTOP SETTINGS:
+// Sets direction of endstops when homing; 1=MAX, -1=MIN
+const int X_HOME_DIR = -1;
+const int Y_HOME_DIR = -1;
+const int Z_HOME_DIR = -1;
+
+const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero.
+const bool max_software_endstops = true; //If true, axis won't move to coordinates greater than the defined lengths below.
+const int X_MAX_LENGTH = 200;
+const int Y_MAX_LENGTH = 200;
+const int Z_MAX_LENGTH = 100;
+
+
+//MOVEMENT SETTINGS
+const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E
+float max_feedrate[] = {200000, 200000, 240, 500000};
+bool axis_relative_modes[] = {false, false, false, false};
+
+
//Min step delay in microseconds. If you are experiencing missing steps, try to raise the delay microseconds, but be aware this
// If you enable this, make sure STEP_DELAY_RATIO is disabled.
//#define STEP_DELAY_MICROS 1
@@ -63,13 +137,13 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma
//If the temperature has not increased at the end of that period, the target temperature is set to zero. It can be reset with another M104/M109
//#define WATCHPERIOD 5000 //5 seconds
//The minimal temperature defines the temperature below which the heater will not be enabled
-//#define MINTEMP
+#define MINTEMP 5
//Experimental max temp
//When temperature exceeds max temp, your bot will halt.
//This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
//You should use MINTEMP for thermistor short/failure protection.
-//#define MAXTEMP 275
+#define MAXTEMP 275
// Select one of these only to define how the nozzle temp is read.
#define HEATER_USES_THERMISTOR
@@ -80,69 +154,7 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma
#define BED_USES_THERMISTOR
//#define BED_USES_AD595
-// Calibration formulas
-// e_extruded_steps_per_mm = e_feedstock_steps_per_mm * (desired_extrusion_diameter^2 / feedstock_diameter^2)
-// new_axis_steps_per_mm = previous_axis_steps_per_mm * (test_distance_instructed/test_distance_traveled)
-// units are in millimeters or whatever length unit you prefer: inches,football-fields,parsecs etc
-
-//Calibration variables
-const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E
-bool axis_relative_modes[] = {false, false, false, false};
-float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; // {X steps per unit, Y steps per unit, Z steps per unit, E steps per unit}
-//For SAE Prusa mendeel float z_steps_per_unit = should be 3200/1.411 for 5/16-18 rod and 3200/1.058 for 5/16-24
-//float axis_steps_per_unit[] = {10.047,10.047,833.398,0.706};
-float max_feedrate[] = {200000, 200000, 240, 500000}; //mmm, acceleration!
-
-//For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
-const bool X_ENABLE_ON = 0;
-const bool Y_ENABLE_ON = 0;
-const bool Z_ENABLE_ON = 0;
-const bool E_ENABLE_ON = 0;
-
-//Disables axis when it's not being used.
-const bool DISABLE_X = false;
-const bool DISABLE_Y = false;
-const bool DISABLE_Z = true;
-const bool DISABLE_E = false;
-
-const bool INVERT_X_DIR = false;
-const bool INVERT_Y_DIR = false;
-const bool INVERT_Z_DIR = true;
-const bool INVERT_E_DIR = false;
-
-// Sets direction of endstops when homing; 1=MAX, -1=MIN
-const int X_HOME_DIR = -1;
-const int Y_HOME_DIR = -1;
-const int Z_HOME_DIR = -1;
-
-//Thermistor settings:
-
-//Uncomment for 100k thermistor
-//#include "ThermistorTable_100k.h"
-//#include "BedThermistorTable_100k.h"
-
-//Uncomment for 200k thermistor
-//#include "ThermistorTable_200k.h"
-//#include "BedThermistorTable_200k.h"
-
-//Identical thermistors on heater and bed - use this if you have no heated bed or if the thermistors are the same on both:
-#include "ThermistorTable_200k.h"
-//#include "ThermistorTable_100k.h"
-//#include "ThermistorTable_mendelparts.h"
-#define BNUMTEMPS NUMTEMPS
-#define bedtemptable temptable
-
-//Endstop Settings
-#define ENDSTOPPULLUPS 1
-const bool ENDSTOPS_INVERTING = false;
-const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero.
-const bool max_software_endstops = true; //If true, axis won't move to coordinates greater than the defined lengths below.
-const int X_MAX_LENGTH = 220;
-const int Y_MAX_LENGTH = 220;
-const int Z_MAX_LENGTH = 100;
-
-#define BAUDRATE 115200
//Uncomment the following line to enable debugging. You can better control debugging below the following line
//#define DEBUG
diff --git a/Sprinter/Sprinter.pde b/Sprinter/Sprinter.pde
index e697231..733aec8 100644
--- a/Sprinter/Sprinter.pde
+++ b/Sprinter/Sprinter.pde
@@ -2,7 +2,7 @@
// Licence: GPL
#include "Sprinter.h"
-#include "configuration.h"
+#include "Configuration.h"
#include "pins.h"
#ifdef SDSUPPORT
diff --git a/Sprinter/ThermistorTable_100k.h b/Sprinter/ThermistorTable_100k.h
deleted file mode 100644
index d0698b2..0000000
--- a/Sprinter/ThermistorTable_100k.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef THERMISTORTABLE_H_
-#define THERMISTORTABLE_H_
-
-// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
-// See this page:
-// http://dev.www.reprap.org/bin/view/Main/Thermistor
-// for details of what goes in this table.
-// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
-// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023
-// r0: 100000
-// t0: 25
-// r1: 0
-// r2: 4700
-// beta: 4066
-// max adc: 1023
-
-#define NUMTEMPS 61
-const short temptable[NUMTEMPS][2] = {
-{ 23 , 300 },
-{ 25 , 295 },
-{ 27 , 290 },
-{ 28 , 285 },
-{ 31 , 280 },
-{ 33 , 275 },
-{ 35 , 270 },
-{ 38 , 265 },
-{ 41 , 260 },
-{ 44 , 255 },
-{ 48 , 250 },
-{ 52 , 245 },
-{ 56 , 240 },
-{ 61 , 235 },
-{ 66 , 230 },
-{ 71 , 225 },
-{ 78 , 220 },
-{ 84 , 215 },
-{ 92 , 210 },
-{ 100 , 205 },
-{ 109 , 200 },
-{ 120 , 195 },
-{ 131 , 190 },
-{ 143 , 185 },
-{ 156 , 180 },
-{ 171 , 175 },
-{ 187 , 170 },
-{ 205 , 165 },
-{ 224 , 160 },
-{ 245 , 155 },
-{ 268 , 150 },
-{ 293 , 145 },
-{ 320 , 140 },
-{ 348 , 135 },
-{ 379 , 130 },
-{ 411 , 125 },
-{ 445 , 120 },
-{ 480 , 115 },
-{ 516 , 110 },
-{ 553 , 105 },
-{ 591 , 100 },
-{ 628 , 95 },
-{ 665 , 90 },
-{ 702 , 85 },
-{ 737 , 80 },
-{ 770 , 75 },
-{ 801 , 70 },
-{ 830 , 65 },
-{ 857 , 60 },
-{ 881 , 55 },
-{ 903 , 50 },
-{ 922 , 45 },
-{ 939 , 40 },
-{ 954 , 35 },
-{ 966 , 30 },
-{ 977 , 25 },
-{ 985 , 20 },
-{ 993 , 15 },
-{ 999 , 10 },
-{ 1004 , 5 },
-{ 1008 , 0 },
-
-};
-
-
-#endif
-
diff --git a/Sprinter/ThermistorTable_200k.h b/Sprinter/ThermistorTable_200k.h
deleted file mode 100644
index 4142eb2..0000000
--- a/Sprinter/ThermistorTable_200k.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef THERMISTORTABLE_H_
-#define THERMISTORTABLE_H_
-
-// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
-// See this page:
-// http://dev.www.reprap.org/bin/view/Main/Thermistor
-// for details of what goes in this table.
-// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
-// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023
-// r0: 100000
-// t0: 25
-// r1: 0
-// r2: 4700
-// beta: 4066
-// max adc: 1023
-
-#define NUMTEMPS 20
-const short temptable[NUMTEMPS][2] = {
- {1, 848},
- {54, 275},
- {107, 228},
- {160, 202},
- {213, 185},
- {266, 171},
- {319, 160},
- {372, 150},
- {425, 141},
- {478, 133},
- {531, 125},
- {584, 118},
- {637, 110},
- {690, 103},
- {743, 95},
- {796, 86},
- {849, 77},
- {902, 65},
- {955, 49},
- {1008, 17}
-};
-
-
-#endif
diff --git a/Sprinter/ThermistorTable_mendelparts.h b/Sprinter/ThermistorTable_mendelparts.h
deleted file mode 100644
index 9e65b85..0000000
--- a/Sprinter/ThermistorTable_mendelparts.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef THERMISTORTABLE_H_
-#define THERMISTORTABLE_H_
-
-//thermistor table for mendel-parts thermistor
-// Standardized R/T characteristic no. 8404
- // RS thermistor 484-0183; EPCOS NTC
- // Mendel-Parts thermistor G540 / G550
- // Optimized for 100...300C working range.
- // Max range: -20...300C
- // Max reading error on Gen 6 electronics: ~+5%, -3% in 100 - 300C range.
-
-#define NUMTEMPS 28
-const short temptable[NUMTEMPS][2] = {
- {1,864},
- {21,300},
- {25,290},
- {29,280},
- {33,270},
- {39,260},
- {46,250},
- {54,240},
- {64,230},
- {75,220},
- {90,210},
- {107,200},
- {128,190},
- {154,180},
- {184,170},
- {221,160},
- {265,150},
- {316,140},
- {375,130},
- {441,120},
- {513,110},
- {588,100},
- {734,80},
- {856,60},
- {938,40},
- {986,20},
- {1008,0},
- {1018,-20}
- };
-
-
-#endif
diff --git a/Sprinter/pins.h b/Sprinter/pins.h
index eee78e8..7540ebc 100644
--- a/Sprinter/pins.h
+++ b/Sprinter/pins.h
@@ -23,6 +23,8 @@
* +----+
****************************************************************************************/
#if MOTHERBOARD == 0
+#define KNOWN_BOARD 1
+
#ifndef __AVR_ATmega168__
#error Oops! Make sure you have 'Arduino Diecimila' selected from the boards menu.
#endif
@@ -60,7 +62,7 @@
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
-
+#endif
@@ -93,7 +95,9 @@
* +--------+
*
****************************************************************************************/
-#elif MOTHERBOARD == 1
+#if MOTHERBOARD == 1
+#define KNOWN_BOARD 1
+
#ifndef __AVR_ATmega644P__
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
@@ -134,14 +138,16 @@
-
+#endif
/****************************************************************************************
* RepRap Motherboard ****---NOOOOOO RS485/EXTRUDER CONTROLLER!!!!!!!!!!!!!!!!!---*******
*
****************************************************************************************/
-#elif MOTHERBOARD == 2
+#if MOTHERBOARD == 2
+#define KNOWN_BOARD 1
+
#ifndef __AVR_ATmega644P__
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
@@ -192,13 +198,19 @@
-
+#endif
/****************************************************************************************
* Arduino Mega pin assignment
*
****************************************************************************************/
-#elif MOTHERBOARD == 3
+#if MOTHERBOARD == 33
+#define MOTHERBOARD 3
+#define RAMPS_V_1_3
+#endif
+#if MOTHERBOARD == 3
+#define KNOWN_BOARD 1
+
//////////////////FIX THIS//////////////
#ifndef __AVR_ATmega1280__
#ifndef __AVR_ATmega2560__
@@ -210,7 +222,6 @@
// #define RAMPS_V_1_3
// #define RAMPS_V_1_0
-
#ifdef RAMPS_V_1_3
#define X_STEP_PIN 54
@@ -307,12 +318,14 @@
#endif
-
+#endif
/****************************************************************************************
* Duemilanove w/ ATMega328P pin assignment
*
****************************************************************************************/
-#elif MOTHERBOARD == 4
+#if MOTHERBOARD == 4
+#define KNOWN_BOARD 1
+
#ifndef __AVR_ATmega328P__
#error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
#endif
@@ -350,13 +363,14 @@
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
-
+#endif
/****************************************************************************************
* Gen6 pin assignment
*
****************************************************************************************/
-#elif MOTHERBOARD == 5
+#if MOTHERBOARD == 5
+#define KNOWN_BOARD 1
#ifndef __AVR_ATmega644P__
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
@@ -393,7 +407,7 @@
#define SDPOWER -1
- #define SDSS -1
+ #define SDSS 17
#define LED_PIN -1 //changed @ rkoeppl 20110410
#define TEMP_1_PIN -1 //changed @ rkoeppl 20110410
#define FAN_PIN -1 //changed @ rkoeppl 20110410
@@ -406,12 +420,17 @@
#define TX_ENABLE_PIN 12
#define RX_ENABLE_PIN 13
-
+#endif
/****************************************************************************************
* Sanguinololu pin assignment
*
****************************************************************************************/
-#elif MOTHERBOARD == 6
+#if MOTHERBOARD == 62
+#define MOTHERBOARD 6
+#define
+#endif
+#if MOTHERBOARD == 6
+#define KNOWN_BOARD 1
#ifndef __AVR_ATmega644P__
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
@@ -468,9 +487,9 @@
#define SDPOWER -1
#define SDSS 31
-#else
-
+#ifndef KNOWN_BOARD
#error Unknown MOTHERBOARD value in configuration.h
+#endif
#endif
diff --git a/Sprinter/thermistortables.h b/Sprinter/thermistortables.h
new file mode 100644
index 0000000..e21b647
--- /dev/null
+++ b/Sprinter/thermistortables.h
@@ -0,0 +1,274 @@
+#ifndef THERMISTORTABLES_H_
+#define THERMISTORTABLES_H_
+
+#if THERMISTORHEATER == 1 //100k bed thermistor
+
+
+#define NUMTEMPS 61
+const short temptable[NUMTEMPS][2] = {
+{ 23 , 300 },
+{ 25 , 295 },
+{ 27 , 290 },
+{ 28 , 285 },
+{ 31 , 280 },
+{ 33 , 275 },
+{ 35 , 270 },
+{ 38 , 265 },
+{ 41 , 260 },
+{ 44 , 255 },
+{ 48 , 250 },
+{ 52 , 245 },
+{ 56 , 240 },
+{ 61 , 235 },
+{ 66 , 230 },
+{ 71 , 225 },
+{ 78 , 220 },
+{ 84 , 215 },
+{ 92 , 210 },
+{ 100 , 205 },
+{ 109 , 200 },
+{ 120 , 195 },
+{ 131 , 190 },
+{ 143 , 185 },
+{ 156 , 180 },
+{ 171 , 175 },
+{ 187 , 170 },
+{ 205 , 165 },
+{ 224 , 160 },
+{ 245 , 155 },
+{ 268 , 150 },
+{ 293 , 145 },
+{ 320 , 140 },
+{ 348 , 135 },
+{ 379 , 130 },
+{ 411 , 125 },
+{ 445 , 120 },
+{ 480 , 115 },
+{ 516 , 110 },
+{ 553 , 105 },
+{ 591 , 100 },
+{ 628 , 95 },
+{ 665 , 90 },
+{ 702 , 85 },
+{ 737 , 80 },
+{ 770 , 75 },
+{ 801 , 70 },
+{ 830 , 65 },
+{ 857 , 60 },
+{ 881 , 55 },
+{ 903 , 50 },
+{ 922 , 45 },
+{ 939 , 40 },
+{ 954 , 35 },
+{ 966 , 30 },
+{ 977 , 25 },
+{ 985 , 20 },
+{ 993 , 15 },
+{ 999 , 10 },
+{ 1004 , 5 },
+{ 1008 , 0 } //safety
+};
+
+#elif THERMISTORHEATER == 2 //200k bed thermistor
+#define NUMTEMPS 21
+const short temptable[NUMTEMPS][2] = {
+ {1, 848},
+ {54, 275},
+ {107, 228},
+ {160, 202},
+ {213, 185},
+ {266, 171},
+ {319, 160},
+ {372, 150},
+ {425, 141},
+ {478, 133},
+ {531, 125},
+ {584, 118},
+ {637, 110},
+ {690, 103},
+ {743, 95},
+ {796, 86},
+ {849, 77},
+ {902, 65},
+ {955, 49},
+ {1008, 17},
+ {1020, 0} //safety
+};
+
+#elif THERMISTORHEATER == 3 //mendel-parts
+#define NUMTEMPS 28
+const short temptable[NUMTEMPS][2] = {
+ {1,864},
+ {21,300},
+ {25,290},
+ {29,280},
+ {33,270},
+ {39,260},
+ {46,250},
+ {54,240},
+ {64,230},
+ {75,220},
+ {90,210},
+ {107,200},
+ {128,190},
+ {154,180},
+ {184,170},
+ {221,160},
+ {265,150},
+ {316,140},
+ {375,130},
+ {441,120},
+ {513,110},
+ {588,100},
+ {734,80},
+ {856,60},
+ {938,40},
+ {986,20},
+ {1008,0},
+ {1018,-20}
+ };
+
+#else
+#error No thermistor table specified
+
+#endif
+
+
+#if THERMISTORHEATER==THERMISTORBED
+#define BNUMTEMPS NUMTEMPS
+#define bedtemptable temptable
+#else
+#if THERMISTORBED == 1 //100k bed thermistor
+
+
+#define BNUMTEMPS 61
+const short bedtemptable[BNUMTEMPS][2] = {
+{ 23 , 300 },
+{ 25 , 295 },
+{ 27 , 290 },
+{ 28 , 285 },
+{ 31 , 280 },
+{ 33 , 275 },
+{ 35 , 270 },
+{ 38 , 265 },
+{ 41 , 260 },
+{ 44 , 255 },
+{ 48 , 250 },
+{ 52 , 245 },
+{ 56 , 240 },
+{ 61 , 235 },
+{ 66 , 230 },
+{ 71 , 225 },
+{ 78 , 220 },
+{ 84 , 215 },
+{ 92 , 210 },
+{ 100 , 205 },
+{ 109 , 200 },
+{ 120 , 195 },
+{ 131 , 190 },
+{ 143 , 185 },
+{ 156 , 180 },
+{ 171 , 175 },
+{ 187 , 170 },
+{ 205 , 165 },
+{ 224 , 160 },
+{ 245 , 155 },
+{ 268 , 150 },
+{ 293 , 145 },
+{ 320 , 140 },
+{ 348 , 135 },
+{ 379 , 130 },
+{ 411 , 125 },
+{ 445 , 120 },
+{ 480 , 115 },
+{ 516 , 110 },
+{ 553 , 105 },
+{ 591 , 100 },
+{ 628 , 95 },
+{ 665 , 90 },
+{ 702 , 85 },
+{ 737 , 80 },
+{ 770 , 75 },
+{ 801 , 70 },
+{ 830 , 65 },
+{ 857 , 60 },
+{ 881 , 55 },
+{ 903 , 50 },
+{ 922 , 45 },
+{ 939 , 40 },
+{ 954 , 35 },
+{ 966 , 30 },
+{ 977 , 25 },
+{ 985 , 20 },
+{ 993 , 15 },
+{ 999 , 10 },
+{ 1004 , 5 },
+{ 1008 , 0 } //safety
+};
+
+#elif THERMISTORBED == 2 //200k bed thermistor
+#define BNUMTEMPS 21
+const short bedtemptable[BNUMTEMPS][2] = {
+ {1, 848},
+ {54, 275},
+ {107, 228},
+ {160, 202},
+ {213, 185},
+ {266, 171},
+ {319, 160},
+ {372, 150},
+ {425, 141},
+ {478, 133},
+ {531, 125},
+ {584, 118},
+ {637, 110},
+ {690, 103},
+ {743, 95},
+ {796, 86},
+ {849, 77},
+ {902, 65},
+ {955, 49},
+ {1008, 17},
+ {1020, 0} //safety
+};
+
+#elif THERMISTORBED == 3 //mendel-parts
+#define BNUMTEMPS 28
+const short bedtemptable[BNUMTEMPS][2] = {
+ {1,864},
+ {21,300},
+ {25,290},
+ {29,280},
+ {33,270},
+ {39,260},
+ {46,250},
+ {54,240},
+ {64,230},
+ {75,220},
+ {90,210},
+ {107,200},
+ {128,190},
+ {154,180},
+ {184,170},
+ {221,160},
+ {265,150},
+ {316,140},
+ {375,130},
+ {441,120},
+ {513,110},
+ {588,100},
+ {734,80},
+ {856,60},
+ {938,40},
+ {986,20},
+ {1008,0},
+ {1018,-20}
+ };
+#else
+#error No bed thermistor table specified
+
+#endif
+
+
+#endif //if THERMISTORHEATER==THERMISTORBED
+#endif //THERMISTORTABLES_H_