diff --git a/Marlin/thermistortable_1.h b/Marlin/thermistortable_1.h
new file mode 100644
index 0000000000..b1a91b5e5d
--- /dev/null
+++ b/Marlin/thermistortable_1.h
@@ -0,0 +1,89 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k bed thermistor
+const short temptable_1[][2] PROGMEM = {
+ { 23 * OVERSAMPLENR, 300 },
+ { 25 * OVERSAMPLENR, 295 },
+ { 27 * OVERSAMPLENR, 290 },
+ { 28 * OVERSAMPLENR, 285 },
+ { 31 * OVERSAMPLENR, 280 },
+ { 33 * OVERSAMPLENR, 275 },
+ { 35 * OVERSAMPLENR, 270 },
+ { 38 * OVERSAMPLENR, 265 },
+ { 41 * OVERSAMPLENR, 260 },
+ { 44 * OVERSAMPLENR, 255 },
+ { 48 * OVERSAMPLENR, 250 },
+ { 52 * OVERSAMPLENR, 245 },
+ { 56 * OVERSAMPLENR, 240 },
+ { 61 * OVERSAMPLENR, 235 },
+ { 66 * OVERSAMPLENR, 230 },
+ { 71 * OVERSAMPLENR, 225 },
+ { 78 * OVERSAMPLENR, 220 },
+ { 84 * OVERSAMPLENR, 215 },
+ { 92 * OVERSAMPLENR, 210 },
+ { 100 * OVERSAMPLENR, 205 },
+ { 109 * OVERSAMPLENR, 200 },
+ { 120 * OVERSAMPLENR, 195 },
+ { 131 * OVERSAMPLENR, 190 },
+ { 143 * OVERSAMPLENR, 185 },
+ { 156 * OVERSAMPLENR, 180 },
+ { 171 * OVERSAMPLENR, 175 },
+ { 187 * OVERSAMPLENR, 170 },
+ { 205 * OVERSAMPLENR, 165 },
+ { 224 * OVERSAMPLENR, 160 },
+ { 245 * OVERSAMPLENR, 155 },
+ { 268 * OVERSAMPLENR, 150 },
+ { 293 * OVERSAMPLENR, 145 },
+ { 320 * OVERSAMPLENR, 140 },
+ { 348 * OVERSAMPLENR, 135 },
+ { 379 * OVERSAMPLENR, 130 },
+ { 411 * OVERSAMPLENR, 125 },
+ { 445 * OVERSAMPLENR, 120 },
+ { 480 * OVERSAMPLENR, 115 },
+ { 516 * OVERSAMPLENR, 110 },
+ { 553 * OVERSAMPLENR, 105 },
+ { 591 * OVERSAMPLENR, 100 },
+ { 628 * OVERSAMPLENR, 95 },
+ { 665 * OVERSAMPLENR, 90 },
+ { 702 * OVERSAMPLENR, 85 },
+ { 737 * OVERSAMPLENR, 80 },
+ { 770 * OVERSAMPLENR, 75 },
+ { 801 * OVERSAMPLENR, 70 },
+ { 830 * OVERSAMPLENR, 65 },
+ { 857 * OVERSAMPLENR, 60 },
+ { 881 * OVERSAMPLENR, 55 },
+ { 903 * OVERSAMPLENR, 50 },
+ { 922 * OVERSAMPLENR, 45 },
+ { 939 * OVERSAMPLENR, 40 },
+ { 954 * OVERSAMPLENR, 35 },
+ { 966 * OVERSAMPLENR, 30 },
+ { 977 * OVERSAMPLENR, 25 },
+ { 985 * OVERSAMPLENR, 20 },
+ { 993 * OVERSAMPLENR, 15 },
+ { 999 * OVERSAMPLENR, 10 },
+ { 1004 * OVERSAMPLENR, 5 },
+ { 1008 * OVERSAMPLENR, 0 },
+ { 1012 * OVERSAMPLENR, -5 },
+ { 1016 * OVERSAMPLENR, -10 },
+ { 1020 * OVERSAMPLENR, -15 }
+};
diff --git a/Marlin/thermistortable_10.h b/Marlin/thermistortable_10.h
new file mode 100644
index 0000000000..a031648a9d
--- /dev/null
+++ b/Marlin/thermistortable_10.h
@@ -0,0 +1,56 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k RS thermistor 198-961 (4.7k pullup)
+const short temptable_10[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 929 },
+ { 36 * OVERSAMPLENR, 299 },
+ { 71 * OVERSAMPLENR, 246 },
+ { 106 * OVERSAMPLENR, 217 },
+ { 141 * OVERSAMPLENR, 198 },
+ { 176 * OVERSAMPLENR, 184 },
+ { 211 * OVERSAMPLENR, 173 },
+ { 246 * OVERSAMPLENR, 163 },
+ { 281 * OVERSAMPLENR, 154 },
+ { 316 * OVERSAMPLENR, 147 },
+ { 351 * OVERSAMPLENR, 140 },
+ { 386 * OVERSAMPLENR, 134 },
+ { 421 * OVERSAMPLENR, 128 },
+ { 456 * OVERSAMPLENR, 122 },
+ { 491 * OVERSAMPLENR, 117 },
+ { 526 * OVERSAMPLENR, 112 },
+ { 561 * OVERSAMPLENR, 107 },
+ { 596 * OVERSAMPLENR, 102 },
+ { 631 * OVERSAMPLENR, 97 },
+ { 666 * OVERSAMPLENR, 91 },
+ { 701 * OVERSAMPLENR, 86 },
+ { 736 * OVERSAMPLENR, 81 },
+ { 771 * OVERSAMPLENR, 76 },
+ { 806 * OVERSAMPLENR, 70 },
+ { 841 * OVERSAMPLENR, 63 },
+ { 876 * OVERSAMPLENR, 56 },
+ { 911 * OVERSAMPLENR, 48 },
+ { 946 * OVERSAMPLENR, 38 },
+ { 981 * OVERSAMPLENR, 23 },
+ { 1005 * OVERSAMPLENR, 5 },
+ { 1016 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_1010.h b/Marlin/thermistortable_1010.h
new file mode 100644
index 0000000000..79a557954e
--- /dev/null
+++ b/Marlin/thermistortable_1010.h
@@ -0,0 +1,38 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// Pt1000 with 1k0 pullup
+const short temptable_1010[][2] PROGMEM = {
+ PtLine( 0, 1000, 1000)
+ PtLine( 25, 1000, 1000)
+ PtLine( 50, 1000, 1000)
+ PtLine( 75, 1000, 1000)
+ PtLine(100, 1000, 1000)
+ PtLine(125, 1000, 1000)
+ PtLine(150, 1000, 1000)
+ PtLine(175, 1000, 1000)
+ PtLine(200, 1000, 1000)
+ PtLine(225, 1000, 1000)
+ PtLine(250, 1000, 1000)
+ PtLine(275, 1000, 1000)
+ PtLine(300, 1000, 1000)
+};
diff --git a/Marlin/thermistortable_1047.h b/Marlin/thermistortable_1047.h
new file mode 100644
index 0000000000..01997abc3a
--- /dev/null
+++ b/Marlin/thermistortable_1047.h
@@ -0,0 +1,33 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// Pt1000 with 4k7 pullup
+const short temptable_1047[][2] PROGMEM = {
+ // only a few values are needed as the curve is very flat
+ PtLine( 0, 1000, 4700)
+ PtLine( 50, 1000, 4700)
+ PtLine(100, 1000, 4700)
+ PtLine(150, 1000, 4700)
+ PtLine(200, 1000, 4700)
+ PtLine(250, 1000, 4700)
+ PtLine(300, 1000, 4700)
+};
diff --git a/Marlin/thermistortable_11.h b/Marlin/thermistortable_11.h
new file mode 100644
index 0000000000..f0f2697359
--- /dev/null
+++ b/Marlin/thermistortable_11.h
@@ -0,0 +1,75 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// QU-BD silicone bed QWG-104F-3950 thermistor
+const short temptable_11[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 938 },
+ { 31 * OVERSAMPLENR, 314 },
+ { 41 * OVERSAMPLENR, 290 },
+ { 51 * OVERSAMPLENR, 272 },
+ { 61 * OVERSAMPLENR, 258 },
+ { 71 * OVERSAMPLENR, 247 },
+ { 81 * OVERSAMPLENR, 237 },
+ { 91 * OVERSAMPLENR, 229 },
+ { 101 * OVERSAMPLENR, 221 },
+ { 111 * OVERSAMPLENR, 215 },
+ { 121 * OVERSAMPLENR, 209 },
+ { 131 * OVERSAMPLENR, 204 },
+ { 141 * OVERSAMPLENR, 199 },
+ { 151 * OVERSAMPLENR, 195 },
+ { 161 * OVERSAMPLENR, 190 },
+ { 171 * OVERSAMPLENR, 187 },
+ { 181 * OVERSAMPLENR, 183 },
+ { 191 * OVERSAMPLENR, 179 },
+ { 201 * OVERSAMPLENR, 176 },
+ { 221 * OVERSAMPLENR, 170 },
+ { 241 * OVERSAMPLENR, 165 },
+ { 261 * OVERSAMPLENR, 160 },
+ { 281 * OVERSAMPLENR, 155 },
+ { 301 * OVERSAMPLENR, 150 },
+ { 331 * OVERSAMPLENR, 144 },
+ { 361 * OVERSAMPLENR, 139 },
+ { 391 * OVERSAMPLENR, 133 },
+ { 421 * OVERSAMPLENR, 128 },
+ { 451 * OVERSAMPLENR, 123 },
+ { 491 * OVERSAMPLENR, 117 },
+ { 531 * OVERSAMPLENR, 111 },
+ { 571 * OVERSAMPLENR, 105 },
+ { 611 * OVERSAMPLENR, 100 },
+ { 641 * OVERSAMPLENR, 95 },
+ { 681 * OVERSAMPLENR, 90 },
+ { 711 * OVERSAMPLENR, 85 },
+ { 751 * OVERSAMPLENR, 79 },
+ { 791 * OVERSAMPLENR, 72 },
+ { 811 * OVERSAMPLENR, 69 },
+ { 831 * OVERSAMPLENR, 65 },
+ { 871 * OVERSAMPLENR, 57 },
+ { 881 * OVERSAMPLENR, 55 },
+ { 901 * OVERSAMPLENR, 51 },
+ { 921 * OVERSAMPLENR, 45 },
+ { 941 * OVERSAMPLENR, 39 },
+ { 971 * OVERSAMPLENR, 28 },
+ { 981 * OVERSAMPLENR, 23 },
+ { 991 * OVERSAMPLENR, 17 },
+ { 1001 * OVERSAMPLENR, 9 },
+ { 1021 * OVERSAMPLENR, -27 }
+};
diff --git a/Marlin/thermistortable_110.h b/Marlin/thermistortable_110.h
new file mode 100644
index 0000000000..7a4c80df71
--- /dev/null
+++ b/Marlin/thermistortable_110.h
@@ -0,0 +1,33 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// Pt100 with 1k0 pullup
+const short temptable_110[][2] PROGMEM = {
+ // only a few values are needed as the curve is very flat
+ PtLine( 0, 100, 1000)
+ PtLine( 50, 100, 1000)
+ PtLine(100, 100, 1000)
+ PtLine(150, 100, 1000)
+ PtLine(200, 100, 1000)
+ PtLine(250, 100, 1000)
+ PtLine(300, 100, 1000)
+};
diff --git a/Marlin/thermistortable_12.h b/Marlin/thermistortable_12.h
new file mode 100644
index 0000000000..802c1d37d3
--- /dev/null
+++ b/Marlin/thermistortable_12.h
@@ -0,0 +1,55 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+const short temptable_12[][2] PROGMEM = {
+ { 35 * OVERSAMPLENR, 180 }, // top rating 180C
+ { 211 * OVERSAMPLENR, 140 },
+ { 233 * OVERSAMPLENR, 135 },
+ { 261 * OVERSAMPLENR, 130 },
+ { 290 * OVERSAMPLENR, 125 },
+ { 328 * OVERSAMPLENR, 120 },
+ { 362 * OVERSAMPLENR, 115 },
+ { 406 * OVERSAMPLENR, 110 },
+ { 446 * OVERSAMPLENR, 105 },
+ { 496 * OVERSAMPLENR, 100 },
+ { 539 * OVERSAMPLENR, 95 },
+ { 585 * OVERSAMPLENR, 90 },
+ { 629 * OVERSAMPLENR, 85 },
+ { 675 * OVERSAMPLENR, 80 },
+ { 718 * OVERSAMPLENR, 75 },
+ { 758 * OVERSAMPLENR, 70 },
+ { 793 * OVERSAMPLENR, 65 },
+ { 822 * OVERSAMPLENR, 60 },
+ { 841 * OVERSAMPLENR, 55 },
+ { 875 * OVERSAMPLENR, 50 },
+ { 899 * OVERSAMPLENR, 45 },
+ { 926 * OVERSAMPLENR, 40 },
+ { 946 * OVERSAMPLENR, 35 },
+ { 962 * OVERSAMPLENR, 30 },
+ { 977 * OVERSAMPLENR, 25 },
+ { 987 * OVERSAMPLENR, 20 },
+ { 995 * OVERSAMPLENR, 15 },
+ { 1001 * OVERSAMPLENR, 10 },
+ { 1010 * OVERSAMPLENR, 0 },
+ { 1023 * OVERSAMPLENR, -40 }
+};
diff --git a/Marlin/thermistortable_13.h b/Marlin/thermistortable_13.h
new file mode 100644
index 0000000000..1269c35665
--- /dev/null
+++ b/Marlin/thermistortable_13.h
@@ -0,0 +1,48 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// Hisens thermistor B25/50 =3950 +/-1%
+const short temptable_13[][2] PROGMEM = {
+ { 20.04 * OVERSAMPLENR, 300 },
+ { 23.19 * OVERSAMPLENR, 290 },
+ { 26.71 * OVERSAMPLENR, 280 },
+ { 31.23 * OVERSAMPLENR, 270 },
+ { 36.52 * OVERSAMPLENR, 260 },
+ { 42.75 * OVERSAMPLENR, 250 },
+ { 50.68 * OVERSAMPLENR, 240 },
+ { 60.22 * OVERSAMPLENR, 230 },
+ { 72.03 * OVERSAMPLENR, 220 },
+ { 86.84 * OVERSAMPLENR, 210 },
+ { 102.79 * OVERSAMPLENR, 200 },
+ { 124.46 * OVERSAMPLENR, 190 },
+ { 151.02 * OVERSAMPLENR, 180 },
+ { 182.86 * OVERSAMPLENR, 170 },
+ { 220.72 * OVERSAMPLENR, 160 },
+ { 316.96 * OVERSAMPLENR, 140 },
+ { 447.17 * OVERSAMPLENR, 120 },
+ { 590.61 * OVERSAMPLENR, 100 },
+ { 737.31 * OVERSAMPLENR, 80 },
+ { 857.77 * OVERSAMPLENR, 60 },
+ { 939.52 * OVERSAMPLENR, 40 },
+ { 986.03 * OVERSAMPLENR, 20 },
+ { 1008.7 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_147.h b/Marlin/thermistortable_147.h
new file mode 100644
index 0000000000..7e4a3b6fb6
--- /dev/null
+++ b/Marlin/thermistortable_147.h
@@ -0,0 +1,33 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// Pt100 with 4k7 pullup
+const short temptable_147[][2] PROGMEM = {
+ // only a few values are needed as the curve is very flat
+ PtLine( 0, 100, 4700)
+ PtLine( 50, 100, 4700)
+ PtLine(100, 100, 4700)
+ PtLine(150, 100, 4700)
+ PtLine(200, 100, 4700)
+ PtLine(250, 100, 4700)
+ PtLine(300, 100, 4700)
+};
diff --git a/Marlin/thermistortable_2.h b/Marlin/thermistortable_2.h
new file mode 100644
index 0000000000..1b56faed9d
--- /dev/null
+++ b/Marlin/thermistortable_2.h
@@ -0,0 +1,61 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+//
+// 200k ATC Semitec 204GT-2
+// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+//
+const short temptable_2[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 848 },
+ { 30 * OVERSAMPLENR, 300 }, // top rating 300C
+ { 34 * OVERSAMPLENR, 290 },
+ { 39 * OVERSAMPLENR, 280 },
+ { 46 * OVERSAMPLENR, 270 },
+ { 53 * OVERSAMPLENR, 260 },
+ { 63 * OVERSAMPLENR, 250 },
+ { 74 * OVERSAMPLENR, 240 },
+ { 87 * OVERSAMPLENR, 230 },
+ { 104 * OVERSAMPLENR, 220 },
+ { 124 * OVERSAMPLENR, 210 },
+ { 148 * OVERSAMPLENR, 200 },
+ { 176 * OVERSAMPLENR, 190 },
+ { 211 * OVERSAMPLENR, 180 },
+ { 252 * OVERSAMPLENR, 170 },
+ { 301 * OVERSAMPLENR, 160 },
+ { 357 * OVERSAMPLENR, 150 },
+ { 420 * OVERSAMPLENR, 140 },
+ { 489 * OVERSAMPLENR, 130 },
+ { 562 * OVERSAMPLENR, 120 },
+ { 636 * OVERSAMPLENR, 110 },
+ { 708 * OVERSAMPLENR, 100 },
+ { 775 * OVERSAMPLENR, 90 },
+ { 835 * OVERSAMPLENR, 80 },
+ { 884 * OVERSAMPLENR, 70 },
+ { 924 * OVERSAMPLENR, 60 },
+ { 955 * OVERSAMPLENR, 50 },
+ { 977 * OVERSAMPLENR, 40 },
+ { 993 * OVERSAMPLENR, 30 },
+ { 1004 * OVERSAMPLENR, 20 },
+ { 1012 * OVERSAMPLENR, 10 },
+ { 1016 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_20.h b/Marlin/thermistortable_20.h
new file mode 100644
index 0000000000..65f77cebdb
--- /dev/null
+++ b/Marlin/thermistortable_20.h
@@ -0,0 +1,96 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// PT100 with INA826 amp on Ultimaker v2.0 electronics
+// The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature.
+// This does not match the normal thermistor behaviour so we need to set the following defines
+#if (THERMISTORHEATER_0 == 20)
+ #define HEATER_0_RAW_HI_TEMP 16383
+ #define HEATER_0_RAW_LO_TEMP 0
+#endif
+#if (THERMISTORHEATER_1 == 20)
+ #define HEATER_1_RAW_HI_TEMP 16383
+ #define HEATER_1_RAW_LO_TEMP 0
+#endif
+#if (THERMISTORHEATER_2 == 20)
+ #define HEATER_2_RAW_HI_TEMP 16383
+ #define HEATER_2_RAW_LO_TEMP 0
+#endif
+#if (THERMISTORHEATER_3 == 20)
+ #define HEATER_3_RAW_HI_TEMP 16383
+ #define HEATER_3_RAW_LO_TEMP 0
+#endif
+#if (THERMISTORBED == 20)
+ #define HEATER_BED_RAW_HI_TEMP 16383
+ #define HEATER_BED_RAW_LO_TEMP 0
+#endif
+const short temptable_20[][2] PROGMEM = {
+ { 0 * OVERSAMPLENR, 0 },
+ { 227 * OVERSAMPLENR, 1 },
+ { 236 * OVERSAMPLENR, 10 },
+ { 245 * OVERSAMPLENR, 20 },
+ { 253 * OVERSAMPLENR, 30 },
+ { 262 * OVERSAMPLENR, 40 },
+ { 270 * OVERSAMPLENR, 50 },
+ { 279 * OVERSAMPLENR, 60 },
+ { 287 * OVERSAMPLENR, 70 },
+ { 295 * OVERSAMPLENR, 80 },
+ { 304 * OVERSAMPLENR, 90 },
+ { 312 * OVERSAMPLENR, 100 },
+ { 320 * OVERSAMPLENR, 110 },
+ { 329 * OVERSAMPLENR, 120 },
+ { 337 * OVERSAMPLENR, 130 },
+ { 345 * OVERSAMPLENR, 140 },
+ { 353 * OVERSAMPLENR, 150 },
+ { 361 * OVERSAMPLENR, 160 },
+ { 369 * OVERSAMPLENR, 170 },
+ { 377 * OVERSAMPLENR, 180 },
+ { 385 * OVERSAMPLENR, 190 },
+ { 393 * OVERSAMPLENR, 200 },
+ { 401 * OVERSAMPLENR, 210 },
+ { 409 * OVERSAMPLENR, 220 },
+ { 417 * OVERSAMPLENR, 230 },
+ { 424 * OVERSAMPLENR, 240 },
+ { 432 * OVERSAMPLENR, 250 },
+ { 440 * OVERSAMPLENR, 260 },
+ { 447 * OVERSAMPLENR, 270 },
+ { 455 * OVERSAMPLENR, 280 },
+ { 463 * OVERSAMPLENR, 290 },
+ { 470 * OVERSAMPLENR, 300 },
+ { 478 * OVERSAMPLENR, 310 },
+ { 485 * OVERSAMPLENR, 320 },
+ { 493 * OVERSAMPLENR, 330 },
+ { 500 * OVERSAMPLENR, 340 },
+ { 507 * OVERSAMPLENR, 350 },
+ { 515 * OVERSAMPLENR, 360 },
+ { 522 * OVERSAMPLENR, 370 },
+ { 529 * OVERSAMPLENR, 380 },
+ { 537 * OVERSAMPLENR, 390 },
+ { 544 * OVERSAMPLENR, 400 },
+ { 614 * OVERSAMPLENR, 500 },
+ { 681 * OVERSAMPLENR, 600 },
+ { 744 * OVERSAMPLENR, 700 },
+ { 805 * OVERSAMPLENR, 800 },
+ { 862 * OVERSAMPLENR, 900 },
+ { 917 * OVERSAMPLENR, 1000 },
+ { 968 * OVERSAMPLENR, 1100 }
+};
diff --git a/Marlin/thermistortable_3.h b/Marlin/thermistortable_3.h
new file mode 100644
index 0000000000..0fc16d4bf7
--- /dev/null
+++ b/Marlin/thermistortable_3.h
@@ -0,0 +1,53 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// mendel-parts
+const short temptable_3[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 864 },
+ { 21 * OVERSAMPLENR, 300 },
+ { 25 * OVERSAMPLENR, 290 },
+ { 29 * OVERSAMPLENR, 280 },
+ { 33 * OVERSAMPLENR, 270 },
+ { 39 * OVERSAMPLENR, 260 },
+ { 46 * OVERSAMPLENR, 250 },
+ { 54 * OVERSAMPLENR, 240 },
+ { 64 * OVERSAMPLENR, 230 },
+ { 75 * OVERSAMPLENR, 220 },
+ { 90 * OVERSAMPLENR, 210 },
+ { 107 * OVERSAMPLENR, 200 },
+ { 128 * OVERSAMPLENR, 190 },
+ { 154 * OVERSAMPLENR, 180 },
+ { 184 * OVERSAMPLENR, 170 },
+ { 221 * OVERSAMPLENR, 160 },
+ { 265 * OVERSAMPLENR, 150 },
+ { 316 * OVERSAMPLENR, 140 },
+ { 375 * OVERSAMPLENR, 130 },
+ { 441 * OVERSAMPLENR, 120 },
+ { 513 * OVERSAMPLENR, 110 },
+ { 588 * OVERSAMPLENR, 100 },
+ { 734 * OVERSAMPLENR, 80 },
+ { 856 * OVERSAMPLENR, 60 },
+ { 938 * OVERSAMPLENR, 40 },
+ { 986 * OVERSAMPLENR, 20 },
+ { 1008 * OVERSAMPLENR, 0 },
+ { 1018 * OVERSAMPLENR, -20 }
+};
diff --git a/Marlin/thermistortable_4.h b/Marlin/thermistortable_4.h
new file mode 100644
index 0000000000..83e60cd6ad
--- /dev/null
+++ b/Marlin/thermistortable_4.h
@@ -0,0 +1,45 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 10k thermistor
+const short temptable_4[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 430 },
+ { 54 * OVERSAMPLENR, 137 },
+ { 107 * OVERSAMPLENR, 107 },
+ { 160 * OVERSAMPLENR, 91 },
+ { 213 * OVERSAMPLENR, 80 },
+ { 266 * OVERSAMPLENR, 71 },
+ { 319 * OVERSAMPLENR, 64 },
+ { 372 * OVERSAMPLENR, 57 },
+ { 425 * OVERSAMPLENR, 51 },
+ { 478 * OVERSAMPLENR, 46 },
+ { 531 * OVERSAMPLENR, 41 },
+ { 584 * OVERSAMPLENR, 35 },
+ { 637 * OVERSAMPLENR, 30 },
+ { 690 * OVERSAMPLENR, 25 },
+ { 743 * OVERSAMPLENR, 20 },
+ { 796 * OVERSAMPLENR, 14 },
+ { 849 * OVERSAMPLENR, 7 },
+ { 902 * OVERSAMPLENR, 0 },
+ { 955 * OVERSAMPLENR, -11 },
+ { 1008 * OVERSAMPLENR, -35 }
+};
diff --git a/Marlin/thermistortable_5.h b/Marlin/thermistortable_5.h
new file mode 100644
index 0000000000..8bad71308f
--- /dev/null
+++ b/Marlin/thermistortable_5.h
@@ -0,0 +1,60 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k ParCan thermistor (104GT-2)
+// ATC Semitec 104GT-2 (Used in ParCan)
+// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+const short temptable_5[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 713 },
+ { 17 * OVERSAMPLENR, 300 }, // top rating 300C
+ { 20 * OVERSAMPLENR, 290 },
+ { 23 * OVERSAMPLENR, 280 },
+ { 27 * OVERSAMPLENR, 270 },
+ { 31 * OVERSAMPLENR, 260 },
+ { 37 * OVERSAMPLENR, 250 },
+ { 43 * OVERSAMPLENR, 240 },
+ { 51 * OVERSAMPLENR, 230 },
+ { 61 * OVERSAMPLENR, 220 },
+ { 73 * OVERSAMPLENR, 210 },
+ { 87 * OVERSAMPLENR, 200 },
+ { 106 * OVERSAMPLENR, 190 },
+ { 128 * OVERSAMPLENR, 180 },
+ { 155 * OVERSAMPLENR, 170 },
+ { 189 * OVERSAMPLENR, 160 },
+ { 230 * OVERSAMPLENR, 150 },
+ { 278 * OVERSAMPLENR, 140 },
+ { 336 * OVERSAMPLENR, 130 },
+ { 402 * OVERSAMPLENR, 120 },
+ { 476 * OVERSAMPLENR, 110 },
+ { 554 * OVERSAMPLENR, 100 },
+ { 635 * OVERSAMPLENR, 90 },
+ { 713 * OVERSAMPLENR, 80 },
+ { 784 * OVERSAMPLENR, 70 },
+ { 846 * OVERSAMPLENR, 60 },
+ { 897 * OVERSAMPLENR, 50 },
+ { 937 * OVERSAMPLENR, 40 },
+ { 966 * OVERSAMPLENR, 30 },
+ { 986 * OVERSAMPLENR, 20 },
+ { 1000 * OVERSAMPLENR, 10 },
+ { 1010 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_51.h b/Marlin/thermistortable_51.h
new file mode 100644
index 0000000000..44f7142bbe
--- /dev/null
+++ b/Marlin/thermistortable_51.h
@@ -0,0 +1,81 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+// Verified by linagee.
+// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+// Advantage: Twice the resolution and better linearity from 150C to 200C
+const short temptable_51[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 350 },
+ { 190 * OVERSAMPLENR, 250 }, // top rating 250C
+ { 203 * OVERSAMPLENR, 245 },
+ { 217 * OVERSAMPLENR, 240 },
+ { 232 * OVERSAMPLENR, 235 },
+ { 248 * OVERSAMPLENR, 230 },
+ { 265 * OVERSAMPLENR, 225 },
+ { 283 * OVERSAMPLENR, 220 },
+ { 302 * OVERSAMPLENR, 215 },
+ { 322 * OVERSAMPLENR, 210 },
+ { 344 * OVERSAMPLENR, 205 },
+ { 366 * OVERSAMPLENR, 200 },
+ { 390 * OVERSAMPLENR, 195 },
+ { 415 * OVERSAMPLENR, 190 },
+ { 440 * OVERSAMPLENR, 185 },
+ { 467 * OVERSAMPLENR, 180 },
+ { 494 * OVERSAMPLENR, 175 },
+ { 522 * OVERSAMPLENR, 170 },
+ { 551 * OVERSAMPLENR, 165 },
+ { 580 * OVERSAMPLENR, 160 },
+ { 609 * OVERSAMPLENR, 155 },
+ { 638 * OVERSAMPLENR, 150 },
+ { 666 * OVERSAMPLENR, 145 },
+ { 695 * OVERSAMPLENR, 140 },
+ { 722 * OVERSAMPLENR, 135 },
+ { 749 * OVERSAMPLENR, 130 },
+ { 775 * OVERSAMPLENR, 125 },
+ { 800 * OVERSAMPLENR, 120 },
+ { 823 * OVERSAMPLENR, 115 },
+ { 845 * OVERSAMPLENR, 110 },
+ { 865 * OVERSAMPLENR, 105 },
+ { 884 * OVERSAMPLENR, 100 },
+ { 901 * OVERSAMPLENR, 95 },
+ { 917 * OVERSAMPLENR, 90 },
+ { 932 * OVERSAMPLENR, 85 },
+ { 944 * OVERSAMPLENR, 80 },
+ { 956 * OVERSAMPLENR, 75 },
+ { 966 * OVERSAMPLENR, 70 },
+ { 975 * OVERSAMPLENR, 65 },
+ { 982 * OVERSAMPLENR, 60 },
+ { 989 * OVERSAMPLENR, 55 },
+ { 995 * OVERSAMPLENR, 50 },
+ { 1000 * OVERSAMPLENR, 45 },
+ { 1004 * OVERSAMPLENR, 40 },
+ { 1007 * OVERSAMPLENR, 35 },
+ { 1010 * OVERSAMPLENR, 30 },
+ { 1013 * OVERSAMPLENR, 25 },
+ { 1015 * OVERSAMPLENR, 20 },
+ { 1017 * OVERSAMPLENR, 15 },
+ { 1018 * OVERSAMPLENR, 10 },
+ { 1019 * OVERSAMPLENR, 5 },
+ { 1020 * OVERSAMPLENR, 0 },
+ { 1021 * OVERSAMPLENR, -5 }
+};
diff --git a/Marlin/thermistortable_52.h b/Marlin/thermistortable_52.h
new file mode 100644
index 0000000000..bf4e6a9e8b
--- /dev/null
+++ b/Marlin/thermistortable_52.h
@@ -0,0 +1,60 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 200k ATC Semitec 204GT-2 (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+// Advantage: More resolution and better linearity from 150C to 200C
+const short temptable_52[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 500 },
+ { 125 * OVERSAMPLENR, 300 }, // top rating 300C
+ { 142 * OVERSAMPLENR, 290 },
+ { 162 * OVERSAMPLENR, 280 },
+ { 185 * OVERSAMPLENR, 270 },
+ { 211 * OVERSAMPLENR, 260 },
+ { 240 * OVERSAMPLENR, 250 },
+ { 274 * OVERSAMPLENR, 240 },
+ { 312 * OVERSAMPLENR, 230 },
+ { 355 * OVERSAMPLENR, 220 },
+ { 401 * OVERSAMPLENR, 210 },
+ { 452 * OVERSAMPLENR, 200 },
+ { 506 * OVERSAMPLENR, 190 },
+ { 563 * OVERSAMPLENR, 180 },
+ { 620 * OVERSAMPLENR, 170 },
+ { 677 * OVERSAMPLENR, 160 },
+ { 732 * OVERSAMPLENR, 150 },
+ { 783 * OVERSAMPLENR, 140 },
+ { 830 * OVERSAMPLENR, 130 },
+ { 871 * OVERSAMPLENR, 120 },
+ { 906 * OVERSAMPLENR, 110 },
+ { 935 * OVERSAMPLENR, 100 },
+ { 958 * OVERSAMPLENR, 90 },
+ { 976 * OVERSAMPLENR, 80 },
+ { 990 * OVERSAMPLENR, 70 },
+ { 1000 * OVERSAMPLENR, 60 },
+ { 1008 * OVERSAMPLENR, 50 },
+ { 1013 * OVERSAMPLENR, 40 },
+ { 1017 * OVERSAMPLENR, 30 },
+ { 1019 * OVERSAMPLENR, 20 },
+ { 1021 * OVERSAMPLENR, 10 },
+ { 1022 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_55.h b/Marlin/thermistortable_55.h
new file mode 100644
index 0000000000..76e43db6ee
--- /dev/null
+++ b/Marlin/thermistortable_55.h
@@ -0,0 +1,60 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k ATC Semitec 104GT-2 (Used on ParCan) (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+// Advantage: More resolution and better linearity from 150C to 200C
+const short temptable_55[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 500 },
+ { 76 * OVERSAMPLENR, 300 },
+ { 87 * OVERSAMPLENR, 290 },
+ { 100 * OVERSAMPLENR, 280 },
+ { 114 * OVERSAMPLENR, 270 },
+ { 131 * OVERSAMPLENR, 260 },
+ { 152 * OVERSAMPLENR, 250 },
+ { 175 * OVERSAMPLENR, 240 },
+ { 202 * OVERSAMPLENR, 230 },
+ { 234 * OVERSAMPLENR, 220 },
+ { 271 * OVERSAMPLENR, 210 },
+ { 312 * OVERSAMPLENR, 200 },
+ { 359 * OVERSAMPLENR, 190 },
+ { 411 * OVERSAMPLENR, 180 },
+ { 467 * OVERSAMPLENR, 170 },
+ { 527 * OVERSAMPLENR, 160 },
+ { 590 * OVERSAMPLENR, 150 },
+ { 652 * OVERSAMPLENR, 140 },
+ { 713 * OVERSAMPLENR, 130 },
+ { 770 * OVERSAMPLENR, 120 },
+ { 822 * OVERSAMPLENR, 110 },
+ { 867 * OVERSAMPLENR, 100 },
+ { 905 * OVERSAMPLENR, 90 },
+ { 936 * OVERSAMPLENR, 80 },
+ { 961 * OVERSAMPLENR, 70 },
+ { 979 * OVERSAMPLENR, 60 },
+ { 993 * OVERSAMPLENR, 50 },
+ { 1003 * OVERSAMPLENR, 40 },
+ { 1010 * OVERSAMPLENR, 30 },
+ { 1015 * OVERSAMPLENR, 20 },
+ { 1018 * OVERSAMPLENR, 10 },
+ { 1020 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_6.h b/Marlin/thermistortable_6.h
new file mode 100644
index 0000000000..d270b60d37
--- /dev/null
+++ b/Marlin/thermistortable_6.h
@@ -0,0 +1,63 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k Epcos thermistor
+const short temptable_6[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 350 },
+ { 28 * OVERSAMPLENR, 250 }, // top rating 250C
+ { 31 * OVERSAMPLENR, 245 },
+ { 35 * OVERSAMPLENR, 240 },
+ { 39 * OVERSAMPLENR, 235 },
+ { 42 * OVERSAMPLENR, 230 },
+ { 44 * OVERSAMPLENR, 225 },
+ { 49 * OVERSAMPLENR, 220 },
+ { 53 * OVERSAMPLENR, 215 },
+ { 62 * OVERSAMPLENR, 210 },
+ { 71 * OVERSAMPLENR, 205 }, // fitted graphically
+ { 78 * OVERSAMPLENR, 200 }, // fitted graphically
+ { 94 * OVERSAMPLENR, 190 },
+ { 102 * OVERSAMPLENR, 185 },
+ { 116 * OVERSAMPLENR, 170 },
+ { 143 * OVERSAMPLENR, 160 },
+ { 183 * OVERSAMPLENR, 150 },
+ { 223 * OVERSAMPLENR, 140 },
+ { 270 * OVERSAMPLENR, 130 },
+ { 318 * OVERSAMPLENR, 120 },
+ { 383 * OVERSAMPLENR, 110 },
+ { 413 * OVERSAMPLENR, 105 },
+ { 439 * OVERSAMPLENR, 100 },
+ { 484 * OVERSAMPLENR, 95 },
+ { 513 * OVERSAMPLENR, 90 },
+ { 607 * OVERSAMPLENR, 80 },
+ { 664 * OVERSAMPLENR, 70 },
+ { 781 * OVERSAMPLENR, 60 },
+ { 810 * OVERSAMPLENR, 55 },
+ { 849 * OVERSAMPLENR, 50 },
+ { 914 * OVERSAMPLENR, 45 },
+ { 914 * OVERSAMPLENR, 40 },
+ { 935 * OVERSAMPLENR, 35 },
+ { 954 * OVERSAMPLENR, 30 },
+ { 970 * OVERSAMPLENR, 25 },
+ { 978 * OVERSAMPLENR, 22 },
+ { 1008 * OVERSAMPLENR, 3 },
+ { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
+};
diff --git a/Marlin/thermistortable_60.h b/Marlin/thermistortable_60.h
new file mode 100644
index 0000000000..a1c2645b9e
--- /dev/null
+++ b/Marlin/thermistortable_60.h
@@ -0,0 +1,105 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// Maker's Tool Works Kapton Bed Thermistor
+// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=3950
+// r0: 100000
+// t0: 25
+// r1: 0 (parallel with rTherm)
+// r2: 4700 (series with rTherm)
+// beta: 3950
+// min adc: 1 at 0.0048828125 V
+// max adc: 1023 at 4.9951171875 V
+const short temptable_60[][2] PROGMEM = {
+ { 51 * OVERSAMPLENR, 272 },
+ { 61 * OVERSAMPLENR, 258 },
+ { 71 * OVERSAMPLENR, 247 },
+ { 81 * OVERSAMPLENR, 237 },
+ { 91 * OVERSAMPLENR, 229 },
+ { 101 * OVERSAMPLENR, 221 },
+ { 131 * OVERSAMPLENR, 204 },
+ { 161 * OVERSAMPLENR, 190 },
+ { 191 * OVERSAMPLENR, 179 },
+ { 231 * OVERSAMPLENR, 167 },
+ { 271 * OVERSAMPLENR, 157 },
+ { 311 * OVERSAMPLENR, 148 },
+ { 351 * OVERSAMPLENR, 140 },
+ { 381 * OVERSAMPLENR, 135 },
+ { 411 * OVERSAMPLENR, 130 },
+ { 441 * OVERSAMPLENR, 125 },
+ { 451 * OVERSAMPLENR, 123 },
+ { 461 * OVERSAMPLENR, 122 },
+ { 471 * OVERSAMPLENR, 120 },
+ { 481 * OVERSAMPLENR, 119 },
+ { 491 * OVERSAMPLENR, 117 },
+ { 501 * OVERSAMPLENR, 116 },
+ { 511 * OVERSAMPLENR, 114 },
+ { 521 * OVERSAMPLENR, 113 },
+ { 531 * OVERSAMPLENR, 111 },
+ { 541 * OVERSAMPLENR, 110 },
+ { 551 * OVERSAMPLENR, 108 },
+ { 561 * OVERSAMPLENR, 107 },
+ { 571 * OVERSAMPLENR, 105 },
+ { 581 * OVERSAMPLENR, 104 },
+ { 591 * OVERSAMPLENR, 102 },
+ { 601 * OVERSAMPLENR, 101 },
+ { 611 * OVERSAMPLENR, 100 },
+ { 621 * OVERSAMPLENR, 98 },
+ { 631 * OVERSAMPLENR, 97 },
+ { 641 * OVERSAMPLENR, 95 },
+ { 651 * OVERSAMPLENR, 94 },
+ { 661 * OVERSAMPLENR, 92 },
+ { 671 * OVERSAMPLENR, 91 },
+ { 681 * OVERSAMPLENR, 90 },
+ { 691 * OVERSAMPLENR, 88 },
+ { 701 * OVERSAMPLENR, 87 },
+ { 711 * OVERSAMPLENR, 85 },
+ { 721 * OVERSAMPLENR, 84 },
+ { 731 * OVERSAMPLENR, 82 },
+ { 741 * OVERSAMPLENR, 81 },
+ { 751 * OVERSAMPLENR, 79 },
+ { 761 * OVERSAMPLENR, 77 },
+ { 771 * OVERSAMPLENR, 76 },
+ { 781 * OVERSAMPLENR, 74 },
+ { 791 * OVERSAMPLENR, 72 },
+ { 801 * OVERSAMPLENR, 71 },
+ { 811 * OVERSAMPLENR, 69 },
+ { 821 * OVERSAMPLENR, 67 },
+ { 831 * OVERSAMPLENR, 65 },
+ { 841 * OVERSAMPLENR, 63 },
+ { 851 * OVERSAMPLENR, 62 },
+ { 861 * OVERSAMPLENR, 60 },
+ { 871 * OVERSAMPLENR, 57 },
+ { 881 * OVERSAMPLENR, 55 },
+ { 891 * OVERSAMPLENR, 53 },
+ { 901 * OVERSAMPLENR, 51 },
+ { 911 * OVERSAMPLENR, 48 },
+ { 921 * OVERSAMPLENR, 45 },
+ { 931 * OVERSAMPLENR, 42 },
+ { 941 * OVERSAMPLENR, 39 },
+ { 951 * OVERSAMPLENR, 36 },
+ { 961 * OVERSAMPLENR, 32 },
+ { 981 * OVERSAMPLENR, 23 },
+ { 991 * OVERSAMPLENR, 17 },
+ { 1001 * OVERSAMPLENR, 9 },
+ { 1008 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_66.h b/Marlin/thermistortable_66.h
new file mode 100644
index 0000000000..b23961d10f
--- /dev/null
+++ b/Marlin/thermistortable_66.h
@@ -0,0 +1,52 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// DyzeDesign 500°C Thermistor
+const short temptable_66[][2] PROGMEM = {
+ { 17.5 * OVERSAMPLENR, 850 },
+ { 17.9 * OVERSAMPLENR, 500 },
+ { 21.7 * OVERSAMPLENR, 480 },
+ { 26.6 * OVERSAMPLENR, 460 },
+ { 33.1 * OVERSAMPLENR, 440 },
+ { 41.0 * OVERSAMPLENR, 420 },
+ { 52.3 * OVERSAMPLENR, 400 },
+ { 67.7 * OVERSAMPLENR, 380 },
+ { 86.5 * OVERSAMPLENR, 360 },
+ { 112.0 * OVERSAMPLENR, 340 },
+ { 147.2 * OVERSAMPLENR, 320 },
+ { 194.0 * OVERSAMPLENR, 300 },
+ { 254.3 * OVERSAMPLENR, 280 },
+ { 330.2 * OVERSAMPLENR, 260 },
+ { 427.9 * OVERSAMPLENR, 240 },
+ { 533.4 * OVERSAMPLENR, 220 },
+ { 646.5 * OVERSAMPLENR, 200 },
+ { 754.4 * OVERSAMPLENR, 180 },
+ { 844.3 * OVERSAMPLENR, 160 },
+ { 911.7 * OVERSAMPLENR, 140 },
+ { 958.6 * OVERSAMPLENR, 120 },
+ { 988.8 * OVERSAMPLENR, 100 },
+ { 1006.6 * OVERSAMPLENR, 80 },
+ { 1015.8 * OVERSAMPLENR, 60 },
+ { 1021.3 * OVERSAMPLENR, 30 },
+ { 1023 * OVERSAMPLENR - 1, 25},
+ { 1023 * OVERSAMPLENR, 20}
+};
diff --git a/Marlin/thermistortable_7.h b/Marlin/thermistortable_7.h
new file mode 100644
index 0000000000..3b4f63b7a6
--- /dev/null
+++ b/Marlin/thermistortable_7.h
@@ -0,0 +1,83 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k Honeywell 135-104LAG-J01
+const short temptable_7[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 941 },
+ { 19 * OVERSAMPLENR, 362 },
+ { 37 * OVERSAMPLENR, 299 }, // top rating 300C
+ { 55 * OVERSAMPLENR, 266 },
+ { 73 * OVERSAMPLENR, 245 },
+ { 91 * OVERSAMPLENR, 229 },
+ { 109 * OVERSAMPLENR, 216 },
+ { 127 * OVERSAMPLENR, 206 },
+ { 145 * OVERSAMPLENR, 197 },
+ { 163 * OVERSAMPLENR, 190 },
+ { 181 * OVERSAMPLENR, 183 },
+ { 199 * OVERSAMPLENR, 177 },
+ { 217 * OVERSAMPLENR, 171 },
+ { 235 * OVERSAMPLENR, 166 },
+ { 253 * OVERSAMPLENR, 162 },
+ { 271 * OVERSAMPLENR, 157 },
+ { 289 * OVERSAMPLENR, 153 },
+ { 307 * OVERSAMPLENR, 149 },
+ { 325 * OVERSAMPLENR, 146 },
+ { 343 * OVERSAMPLENR, 142 },
+ { 361 * OVERSAMPLENR, 139 },
+ { 379 * OVERSAMPLENR, 135 },
+ { 397 * OVERSAMPLENR, 132 },
+ { 415 * OVERSAMPLENR, 129 },
+ { 433 * OVERSAMPLENR, 126 },
+ { 451 * OVERSAMPLENR, 123 },
+ { 469 * OVERSAMPLENR, 121 },
+ { 487 * OVERSAMPLENR, 118 },
+ { 505 * OVERSAMPLENR, 115 },
+ { 523 * OVERSAMPLENR, 112 },
+ { 541 * OVERSAMPLENR, 110 },
+ { 559 * OVERSAMPLENR, 107 },
+ { 577 * OVERSAMPLENR, 105 },
+ { 595 * OVERSAMPLENR, 102 },
+ { 613 * OVERSAMPLENR, 99 },
+ { 631 * OVERSAMPLENR, 97 },
+ { 649 * OVERSAMPLENR, 94 },
+ { 667 * OVERSAMPLENR, 92 },
+ { 685 * OVERSAMPLENR, 89 },
+ { 703 * OVERSAMPLENR, 86 },
+ { 721 * OVERSAMPLENR, 84 },
+ { 739 * OVERSAMPLENR, 81 },
+ { 757 * OVERSAMPLENR, 78 },
+ { 775 * OVERSAMPLENR, 75 },
+ { 793 * OVERSAMPLENR, 72 },
+ { 811 * OVERSAMPLENR, 69 },
+ { 829 * OVERSAMPLENR, 66 },
+ { 847 * OVERSAMPLENR, 62 },
+ { 865 * OVERSAMPLENR, 59 },
+ { 883 * OVERSAMPLENR, 55 },
+ { 901 * OVERSAMPLENR, 51 },
+ { 919 * OVERSAMPLENR, 46 },
+ { 937 * OVERSAMPLENR, 41 },
+ { 955 * OVERSAMPLENR, 35 },
+ { 973 * OVERSAMPLENR, 27 },
+ { 991 * OVERSAMPLENR, 17 },
+ { 1009 * OVERSAMPLENR, 1 },
+ { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
+};
diff --git a/Marlin/thermistortable_70.h b/Marlin/thermistortable_70.h
new file mode 100644
index 0000000000..70440590da
--- /dev/null
+++ b/Marlin/thermistortable_70.h
@@ -0,0 +1,86 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// bqh2 stock thermistor
+const short temptable_70[][2] PROGMEM = {
+ { 22 * OVERSAMPLENR, 300 },
+ { 24 * OVERSAMPLENR, 295 },
+ { 25 * OVERSAMPLENR, 290 },
+ { 27 * OVERSAMPLENR, 285 },
+ { 29 * OVERSAMPLENR, 280 },
+ { 32 * OVERSAMPLENR, 275 },
+ { 34 * OVERSAMPLENR, 270 },
+ { 37 * OVERSAMPLENR, 265 },
+ { 40 * OVERSAMPLENR, 260 },
+ { 43 * OVERSAMPLENR, 255 },
+ { 46 * OVERSAMPLENR, 250 },
+ { 50 * OVERSAMPLENR, 245 },
+ { 54 * OVERSAMPLENR, 240 },
+ { 59 * OVERSAMPLENR, 235 },
+ { 64 * OVERSAMPLENR, 230 },
+ { 70 * OVERSAMPLENR, 225 },
+ { 76 * OVERSAMPLENR, 220 },
+ { 83 * OVERSAMPLENR, 215 },
+ { 90 * OVERSAMPLENR, 210 },
+ { 99 * OVERSAMPLENR, 205 },
+ { 108 * OVERSAMPLENR, 200 },
+ { 118 * OVERSAMPLENR, 195 },
+ { 129 * OVERSAMPLENR, 190 },
+ { 141 * OVERSAMPLENR, 185 },
+ { 154 * OVERSAMPLENR, 180 },
+ { 169 * OVERSAMPLENR, 175 },
+ { 185 * OVERSAMPLENR, 170 },
+ { 203 * OVERSAMPLENR, 165 },
+ { 222 * OVERSAMPLENR, 160 },
+ { 243 * OVERSAMPLENR, 155 },
+ { 266 * OVERSAMPLENR, 150 },
+ { 290 * OVERSAMPLENR, 145 },
+ { 317 * OVERSAMPLENR, 140 },
+ { 346 * OVERSAMPLENR, 135 },
+ { 376 * OVERSAMPLENR, 130 },
+ { 408 * OVERSAMPLENR, 125 },
+ { 442 * OVERSAMPLENR, 120 },
+ { 477 * OVERSAMPLENR, 115 },
+ { 513 * OVERSAMPLENR, 110 },
+ { 551 * OVERSAMPLENR, 105 },
+ { 588 * OVERSAMPLENR, 100 },
+ { 626 * OVERSAMPLENR, 95 },
+ { 663 * OVERSAMPLENR, 90 },
+ { 699 * OVERSAMPLENR, 85 },
+ { 735 * OVERSAMPLENR, 80 },
+ { 768 * OVERSAMPLENR, 75 },
+ { 800 * OVERSAMPLENR, 70 },
+ { 829 * OVERSAMPLENR, 65 },
+ { 856 * OVERSAMPLENR, 60 },
+ { 881 * OVERSAMPLENR, 55 },
+ { 903 * OVERSAMPLENR, 50 },
+ { 922 * OVERSAMPLENR, 45 },
+ { 939 * OVERSAMPLENR, 40 },
+ { 954 * OVERSAMPLENR, 35 },
+ { 966 * OVERSAMPLENR, 30 },
+ { 977 * OVERSAMPLENR, 25 },
+ { 986 * OVERSAMPLENR, 20 },
+ { 994 * OVERSAMPLENR, 15 },
+ { 1000 * OVERSAMPLENR, 10 },
+ { 1005 * OVERSAMPLENR, 5 },
+ { 1009 * OVERSAMPLENR, 0 } // safety
+};
diff --git a/Marlin/thermistortable_71.h b/Marlin/thermistortable_71.h
new file mode 100644
index 0000000000..9d90e87bb4
--- /dev/null
+++ b/Marlin/thermistortable_71.h
@@ -0,0 +1,171 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k Honeywell 135-104LAF-J01
+// R0 = 100000 Ohm
+// T0 = 25 °C
+// Beta = 3974
+// R1 = 0 Ohm
+// R2 = 4700 Ohm
+const short temptable_71[][2] PROGMEM = {
+ { 35 * OVERSAMPLENR, 300 },
+ { 51 * OVERSAMPLENR, 270 },
+ { 54 * OVERSAMPLENR, 265 },
+ { 58 * OVERSAMPLENR, 260 },
+ { 59 * OVERSAMPLENR, 258 },
+ { 61 * OVERSAMPLENR, 256 },
+ { 63 * OVERSAMPLENR, 254 },
+ { 64 * OVERSAMPLENR, 252 },
+ { 66 * OVERSAMPLENR, 250 },
+ { 67 * OVERSAMPLENR, 249 },
+ { 68 * OVERSAMPLENR, 248 },
+ { 69 * OVERSAMPLENR, 247 },
+ { 70 * OVERSAMPLENR, 246 },
+ { 71 * OVERSAMPLENR, 245 },
+ { 72 * OVERSAMPLENR, 244 },
+ { 73 * OVERSAMPLENR, 243 },
+ { 74 * OVERSAMPLENR, 242 },
+ { 75 * OVERSAMPLENR, 241 },
+ { 76 * OVERSAMPLENR, 240 },
+ { 77 * OVERSAMPLENR, 239 },
+ { 78 * OVERSAMPLENR, 238 },
+ { 79 * OVERSAMPLENR, 237 },
+ { 80 * OVERSAMPLENR, 236 },
+ { 81 * OVERSAMPLENR, 235 },
+ { 82 * OVERSAMPLENR, 234 },
+ { 84 * OVERSAMPLENR, 233 },
+ { 85 * OVERSAMPLENR, 232 },
+ { 86 * OVERSAMPLENR, 231 },
+ { 87 * OVERSAMPLENR, 230 },
+ { 89 * OVERSAMPLENR, 229 },
+ { 90 * OVERSAMPLENR, 228 },
+ { 91 * OVERSAMPLENR, 227 },
+ { 92 * OVERSAMPLENR, 226 },
+ { 94 * OVERSAMPLENR, 225 },
+ { 95 * OVERSAMPLENR, 224 },
+ { 97 * OVERSAMPLENR, 223 },
+ { 98 * OVERSAMPLENR, 222 },
+ { 99 * OVERSAMPLENR, 221 },
+ { 101 * OVERSAMPLENR, 220 },
+ { 102 * OVERSAMPLENR, 219 },
+ { 104 * OVERSAMPLENR, 218 },
+ { 106 * OVERSAMPLENR, 217 },
+ { 107 * OVERSAMPLENR, 216 },
+ { 109 * OVERSAMPLENR, 215 },
+ { 110 * OVERSAMPLENR, 214 },
+ { 112 * OVERSAMPLENR, 213 },
+ { 114 * OVERSAMPLENR, 212 },
+ { 115 * OVERSAMPLENR, 211 },
+ { 117 * OVERSAMPLENR, 210 },
+ { 119 * OVERSAMPLENR, 209 },
+ { 121 * OVERSAMPLENR, 208 },
+ { 123 * OVERSAMPLENR, 207 },
+ { 125 * OVERSAMPLENR, 206 },
+ { 126 * OVERSAMPLENR, 205 },
+ { 128 * OVERSAMPLENR, 204 },
+ { 130 * OVERSAMPLENR, 203 },
+ { 132 * OVERSAMPLENR, 202 },
+ { 134 * OVERSAMPLENR, 201 },
+ { 136 * OVERSAMPLENR, 200 },
+ { 139 * OVERSAMPLENR, 199 },
+ { 141 * OVERSAMPLENR, 198 },
+ { 143 * OVERSAMPLENR, 197 },
+ { 145 * OVERSAMPLENR, 196 },
+ { 147 * OVERSAMPLENR, 195 },
+ { 150 * OVERSAMPLENR, 194 },
+ { 152 * OVERSAMPLENR, 193 },
+ { 154 * OVERSAMPLENR, 192 },
+ { 157 * OVERSAMPLENR, 191 },
+ { 159 * OVERSAMPLENR, 190 },
+ { 162 * OVERSAMPLENR, 189 },
+ { 164 * OVERSAMPLENR, 188 },
+ { 167 * OVERSAMPLENR, 187 },
+ { 170 * OVERSAMPLENR, 186 },
+ { 172 * OVERSAMPLENR, 185 },
+ { 175 * OVERSAMPLENR, 184 },
+ { 178 * OVERSAMPLENR, 183 },
+ { 181 * OVERSAMPLENR, 182 },
+ { 184 * OVERSAMPLENR, 181 },
+ { 187 * OVERSAMPLENR, 180 },
+ { 190 * OVERSAMPLENR, 179 },
+ { 193 * OVERSAMPLENR, 178 },
+ { 196 * OVERSAMPLENR, 177 },
+ { 199 * OVERSAMPLENR, 176 },
+ { 202 * OVERSAMPLENR, 175 },
+ { 205 * OVERSAMPLENR, 174 },
+ { 208 * OVERSAMPLENR, 173 },
+ { 212 * OVERSAMPLENR, 172 },
+ { 215 * OVERSAMPLENR, 171 },
+ { 219 * OVERSAMPLENR, 170 },
+ { 237 * OVERSAMPLENR, 165 },
+ { 256 * OVERSAMPLENR, 160 },
+ { 300 * OVERSAMPLENR, 150 },
+ { 351 * OVERSAMPLENR, 140 },
+ { 470 * OVERSAMPLENR, 120 },
+ { 504 * OVERSAMPLENR, 115 },
+ { 538 * OVERSAMPLENR, 110 },
+ { 552 * OVERSAMPLENR, 108 },
+ { 566 * OVERSAMPLENR, 106 },
+ { 580 * OVERSAMPLENR, 104 },
+ { 594 * OVERSAMPLENR, 102 },
+ { 608 * OVERSAMPLENR, 100 },
+ { 622 * OVERSAMPLENR, 98 },
+ { 636 * OVERSAMPLENR, 96 },
+ { 650 * OVERSAMPLENR, 94 },
+ { 664 * OVERSAMPLENR, 92 },
+ { 678 * OVERSAMPLENR, 90 },
+ { 712 * OVERSAMPLENR, 85 },
+ { 745 * OVERSAMPLENR, 80 },
+ { 758 * OVERSAMPLENR, 78 },
+ { 770 * OVERSAMPLENR, 76 },
+ { 783 * OVERSAMPLENR, 74 },
+ { 795 * OVERSAMPLENR, 72 },
+ { 806 * OVERSAMPLENR, 70 },
+ { 818 * OVERSAMPLENR, 68 },
+ { 829 * OVERSAMPLENR, 66 },
+ { 840 * OVERSAMPLENR, 64 },
+ { 850 * OVERSAMPLENR, 62 },
+ { 860 * OVERSAMPLENR, 60 },
+ { 870 * OVERSAMPLENR, 58 },
+ { 879 * OVERSAMPLENR, 56 },
+ { 888 * OVERSAMPLENR, 54 },
+ { 897 * OVERSAMPLENR, 52 },
+ { 905 * OVERSAMPLENR, 50 },
+ { 924 * OVERSAMPLENR, 45 },
+ { 940 * OVERSAMPLENR, 40 },
+ { 955 * OVERSAMPLENR, 35 },
+ { 967 * OVERSAMPLENR, 30 },
+ { 970 * OVERSAMPLENR, 29 },
+ { 972 * OVERSAMPLENR, 28 },
+ { 974 * OVERSAMPLENR, 27 },
+ { 976 * OVERSAMPLENR, 26 },
+ { 978 * OVERSAMPLENR, 25 },
+ { 980 * OVERSAMPLENR, 24 },
+ { 982 * OVERSAMPLENR, 23 },
+ { 984 * OVERSAMPLENR, 22 },
+ { 985 * OVERSAMPLENR, 21 },
+ { 987 * OVERSAMPLENR, 20 },
+ { 995 * OVERSAMPLENR, 15 },
+ { 1001 * OVERSAMPLENR, 10 },
+ { 1006 * OVERSAMPLENR, 5 },
+ { 1010 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_8.h b/Marlin/thermistortable_8.h
new file mode 100644
index 0000000000..f1892bf8dd
--- /dev/null
+++ b/Marlin/thermistortable_8.h
@@ -0,0 +1,45 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+const short temptable_8[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 704 },
+ { 54 * OVERSAMPLENR, 216 },
+ { 107 * OVERSAMPLENR, 175 },
+ { 160 * OVERSAMPLENR, 152 },
+ { 213 * OVERSAMPLENR, 137 },
+ { 266 * OVERSAMPLENR, 125 },
+ { 319 * OVERSAMPLENR, 115 },
+ { 372 * OVERSAMPLENR, 106 },
+ { 425 * OVERSAMPLENR, 99 },
+ { 478 * OVERSAMPLENR, 91 },
+ { 531 * OVERSAMPLENR, 85 },
+ { 584 * OVERSAMPLENR, 78 },
+ { 637 * OVERSAMPLENR, 71 },
+ { 690 * OVERSAMPLENR, 65 },
+ { 743 * OVERSAMPLENR, 58 },
+ { 796 * OVERSAMPLENR, 50 },
+ { 849 * OVERSAMPLENR, 42 },
+ { 902 * OVERSAMPLENR, 31 },
+ { 955 * OVERSAMPLENR, 17 },
+ { 1008 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_9.h b/Marlin/thermistortable_9.h
new file mode 100644
index 0000000000..e3b0e7b464
--- /dev/null
+++ b/Marlin/thermistortable_9.h
@@ -0,0 +1,56 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+const short temptable_9[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, 936 },
+ { 36 * OVERSAMPLENR, 300 },
+ { 71 * OVERSAMPLENR, 246 },
+ { 106 * OVERSAMPLENR, 218 },
+ { 141 * OVERSAMPLENR, 199 },
+ { 176 * OVERSAMPLENR, 185 },
+ { 211 * OVERSAMPLENR, 173 },
+ { 246 * OVERSAMPLENR, 163 },
+ { 281 * OVERSAMPLENR, 155 },
+ { 316 * OVERSAMPLENR, 147 },
+ { 351 * OVERSAMPLENR, 140 },
+ { 386 * OVERSAMPLENR, 134 },
+ { 421 * OVERSAMPLENR, 128 },
+ { 456 * OVERSAMPLENR, 122 },
+ { 491 * OVERSAMPLENR, 117 },
+ { 526 * OVERSAMPLENR, 112 },
+ { 561 * OVERSAMPLENR, 107 },
+ { 596 * OVERSAMPLENR, 102 },
+ { 631 * OVERSAMPLENR, 97 },
+ { 666 * OVERSAMPLENR, 92 },
+ { 701 * OVERSAMPLENR, 87 },
+ { 736 * OVERSAMPLENR, 81 },
+ { 771 * OVERSAMPLENR, 76 },
+ { 806 * OVERSAMPLENR, 70 },
+ { 841 * OVERSAMPLENR, 63 },
+ { 876 * OVERSAMPLENR, 56 },
+ { 911 * OVERSAMPLENR, 48 },
+ { 946 * OVERSAMPLENR, 38 },
+ { 981 * OVERSAMPLENR, 23 },
+ { 1005 * OVERSAMPLENR, 5 },
+ { 1016 * OVERSAMPLENR, 0 }
+};
diff --git a/Marlin/thermistortable_998.h b/Marlin/thermistortable_998.h
new file mode 100644
index 0000000000..0e0be8c428
--- /dev/null
+++ b/Marlin/thermistortable_998.h
@@ -0,0 +1,32 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// User-defined table 1
+// Dummy Thermistor table.. It will ALWAYS read a fixed value.
+#ifndef DUMMY_THERMISTOR_998_VALUE
+ #define DUMMY_THERMISTOR_998_VALUE 25
+#endif
+
+const short temptable_998[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE },
+ { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE }
+};
diff --git a/Marlin/thermistortable_999.h b/Marlin/thermistortable_999.h
new file mode 100644
index 0000000000..d98018bc4b
--- /dev/null
+++ b/Marlin/thermistortable_999.h
@@ -0,0 +1,32 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * 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 3 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, see .
+ *
+ */
+
+// User-defined table 2
+// Dummy Thermistor table.. It will ALWAYS read a fixed value.
+#ifndef DUMMY_THERMISTOR_999_VALUE
+ #define DUMMY_THERMISTOR_999_VALUE 25
+#endif
+
+const short temptable_999[][2] PROGMEM = {
+ { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE },
+ { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE }
+};
diff --git a/Marlin/thermistortables.h b/Marlin/thermistortables.h
index fee443a736..36e5fe93bd 100644
--- a/Marlin/thermistortables.h
+++ b/Marlin/thermistortables.h
@@ -30,1294 +30,194 @@
#define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORBED == n)
+// Pt1000 and Pt100 handling
+//
+// Rt=R0*(1+a*T+b*T*T) [for T>0]
+// a=3.9083E-3, b=-5.775E-7
+#define PtA 3.9083E-3
+#define PtB -5.775E-7
+#define PtRt(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(T)*(T)))
+#define PtAdVal(T,R0,Rup) (short)(1024/(Rup/PtRt(T,R0)+1))
+#define PtLine(T,R0,Rup) { PtAdVal(T,R0,Rup)*OVERSAMPLENR, T },
+
#if ANY_THERMISTOR_IS(1) // 100k bed thermistor
-const short temptable_1[][2] PROGMEM = {
- { 23 * OVERSAMPLENR, 300 },
- { 25 * OVERSAMPLENR, 295 },
- { 27 * OVERSAMPLENR, 290 },
- { 28 * OVERSAMPLENR, 285 },
- { 31 * OVERSAMPLENR, 280 },
- { 33 * OVERSAMPLENR, 275 },
- { 35 * OVERSAMPLENR, 270 },
- { 38 * OVERSAMPLENR, 265 },
- { 41 * OVERSAMPLENR, 260 },
- { 44 * OVERSAMPLENR, 255 },
- { 48 * OVERSAMPLENR, 250 },
- { 52 * OVERSAMPLENR, 245 },
- { 56 * OVERSAMPLENR, 240 },
- { 61 * OVERSAMPLENR, 235 },
- { 66 * OVERSAMPLENR, 230 },
- { 71 * OVERSAMPLENR, 225 },
- { 78 * OVERSAMPLENR, 220 },
- { 84 * OVERSAMPLENR, 215 },
- { 92 * OVERSAMPLENR, 210 },
- { 100 * OVERSAMPLENR, 205 },
- { 109 * OVERSAMPLENR, 200 },
- { 120 * OVERSAMPLENR, 195 },
- { 131 * OVERSAMPLENR, 190 },
- { 143 * OVERSAMPLENR, 185 },
- { 156 * OVERSAMPLENR, 180 },
- { 171 * OVERSAMPLENR, 175 },
- { 187 * OVERSAMPLENR, 170 },
- { 205 * OVERSAMPLENR, 165 },
- { 224 * OVERSAMPLENR, 160 },
- { 245 * OVERSAMPLENR, 155 },
- { 268 * OVERSAMPLENR, 150 },
- { 293 * OVERSAMPLENR, 145 },
- { 320 * OVERSAMPLENR, 140 },
- { 348 * OVERSAMPLENR, 135 },
- { 379 * OVERSAMPLENR, 130 },
- { 411 * OVERSAMPLENR, 125 },
- { 445 * OVERSAMPLENR, 120 },
- { 480 * OVERSAMPLENR, 115 },
- { 516 * OVERSAMPLENR, 110 },
- { 553 * OVERSAMPLENR, 105 },
- { 591 * OVERSAMPLENR, 100 },
- { 628 * OVERSAMPLENR, 95 },
- { 665 * OVERSAMPLENR, 90 },
- { 702 * OVERSAMPLENR, 85 },
- { 737 * OVERSAMPLENR, 80 },
- { 770 * OVERSAMPLENR, 75 },
- { 801 * OVERSAMPLENR, 70 },
- { 830 * OVERSAMPLENR, 65 },
- { 857 * OVERSAMPLENR, 60 },
- { 881 * OVERSAMPLENR, 55 },
- { 903 * OVERSAMPLENR, 50 },
- { 922 * OVERSAMPLENR, 45 },
- { 939 * OVERSAMPLENR, 40 },
- { 954 * OVERSAMPLENR, 35 },
- { 966 * OVERSAMPLENR, 30 },
- { 977 * OVERSAMPLENR, 25 },
- { 985 * OVERSAMPLENR, 20 },
- { 993 * OVERSAMPLENR, 15 },
- { 999 * OVERSAMPLENR, 10 },
- { 1004 * OVERSAMPLENR, 5 },
- { 1008 * OVERSAMPLENR, 0 },
- { 1012 * OVERSAMPLENR, -5 },
- { 1016 * OVERSAMPLENR, -10 },
- { 1020 * OVERSAMPLENR, -15 }
-};
+ #include "thermistortable_1.h"
#endif
-
#if ANY_THERMISTOR_IS(2) // 200k bed thermistor
-// 200k ATC Semitec 204GT-2
-// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
-// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
-const short temptable_2[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 848 },
- { 30 * OVERSAMPLENR, 300 }, // top rating 300C
- { 34 * OVERSAMPLENR, 290 },
- { 39 * OVERSAMPLENR, 280 },
- { 46 * OVERSAMPLENR, 270 },
- { 53 * OVERSAMPLENR, 260 },
- { 63 * OVERSAMPLENR, 250 },
- { 74 * OVERSAMPLENR, 240 },
- { 87 * OVERSAMPLENR, 230 },
- { 104 * OVERSAMPLENR, 220 },
- { 124 * OVERSAMPLENR, 210 },
- { 148 * OVERSAMPLENR, 200 },
- { 176 * OVERSAMPLENR, 190 },
- { 211 * OVERSAMPLENR, 180 },
- { 252 * OVERSAMPLENR, 170 },
- { 301 * OVERSAMPLENR, 160 },
- { 357 * OVERSAMPLENR, 150 },
- { 420 * OVERSAMPLENR, 140 },
- { 489 * OVERSAMPLENR, 130 },
- { 562 * OVERSAMPLENR, 120 },
- { 636 * OVERSAMPLENR, 110 },
- { 708 * OVERSAMPLENR, 100 },
- { 775 * OVERSAMPLENR, 90 },
- { 835 * OVERSAMPLENR, 80 },
- { 884 * OVERSAMPLENR, 70 },
- { 924 * OVERSAMPLENR, 60 },
- { 955 * OVERSAMPLENR, 50 },
- { 977 * OVERSAMPLENR, 40 },
- { 993 * OVERSAMPLENR, 30 },
- { 1004 * OVERSAMPLENR, 20 },
- { 1012 * OVERSAMPLENR, 10 },
- { 1016 * OVERSAMPLENR, 0 }
-};
+ #include "thermistortable_2.h"
#endif
-
#if ANY_THERMISTOR_IS(3) // mendel-parts
-const short temptable_3[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 864 },
- { 21 * OVERSAMPLENR, 300 },
- { 25 * OVERSAMPLENR, 290 },
- { 29 * OVERSAMPLENR, 280 },
- { 33 * OVERSAMPLENR, 270 },
- { 39 * OVERSAMPLENR, 260 },
- { 46 * OVERSAMPLENR, 250 },
- { 54 * OVERSAMPLENR, 240 },
- { 64 * OVERSAMPLENR, 230 },
- { 75 * OVERSAMPLENR, 220 },
- { 90 * OVERSAMPLENR, 210 },
- { 107 * OVERSAMPLENR, 200 },
- { 128 * OVERSAMPLENR, 190 },
- { 154 * OVERSAMPLENR, 180 },
- { 184 * OVERSAMPLENR, 170 },
- { 221 * OVERSAMPLENR, 160 },
- { 265 * OVERSAMPLENR, 150 },
- { 316 * OVERSAMPLENR, 140 },
- { 375 * OVERSAMPLENR, 130 },
- { 441 * OVERSAMPLENR, 120 },
- { 513 * OVERSAMPLENR, 110 },
- { 588 * OVERSAMPLENR, 100 },
- { 734 * OVERSAMPLENR, 80 },
- { 856 * OVERSAMPLENR, 60 },
- { 938 * OVERSAMPLENR, 40 },
- { 986 * OVERSAMPLENR, 20 },
- { 1008 * OVERSAMPLENR, 0 },
- { 1018 * OVERSAMPLENR, -20 }
-};
+ #include "thermistortable_3.h"
#endif
-
#if ANY_THERMISTOR_IS(4) // 10k thermistor
-const short temptable_4[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 430 },
- { 54 * OVERSAMPLENR, 137 },
- { 107 * OVERSAMPLENR, 107 },
- { 160 * OVERSAMPLENR, 91 },
- { 213 * OVERSAMPLENR, 80 },
- { 266 * OVERSAMPLENR, 71 },
- { 319 * OVERSAMPLENR, 64 },
- { 372 * OVERSAMPLENR, 57 },
- { 425 * OVERSAMPLENR, 51 },
- { 478 * OVERSAMPLENR, 46 },
- { 531 * OVERSAMPLENR, 41 },
- { 584 * OVERSAMPLENR, 35 },
- { 637 * OVERSAMPLENR, 30 },
- { 690 * OVERSAMPLENR, 25 },
- { 743 * OVERSAMPLENR, 20 },
- { 796 * OVERSAMPLENR, 14 },
- { 849 * OVERSAMPLENR, 7 },
- { 902 * OVERSAMPLENR, 0 },
- { 955 * OVERSAMPLENR, -11 },
- { 1008 * OVERSAMPLENR, -35 }
-};
+ #include "thermistortable_4.h"
#endif
-
#if ANY_THERMISTOR_IS(5) // 100k ParCan thermistor (104GT-2)
-// ATC Semitec 104GT-2 (Used in ParCan)
-// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
-// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
-const short temptable_5[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 713 },
- { 17 * OVERSAMPLENR, 300 }, // top rating 300C
- { 20 * OVERSAMPLENR, 290 },
- { 23 * OVERSAMPLENR, 280 },
- { 27 * OVERSAMPLENR, 270 },
- { 31 * OVERSAMPLENR, 260 },
- { 37 * OVERSAMPLENR, 250 },
- { 43 * OVERSAMPLENR, 240 },
- { 51 * OVERSAMPLENR, 230 },
- { 61 * OVERSAMPLENR, 220 },
- { 73 * OVERSAMPLENR, 210 },
- { 87 * OVERSAMPLENR, 200 },
- { 106 * OVERSAMPLENR, 190 },
- { 128 * OVERSAMPLENR, 180 },
- { 155 * OVERSAMPLENR, 170 },
- { 189 * OVERSAMPLENR, 160 },
- { 230 * OVERSAMPLENR, 150 },
- { 278 * OVERSAMPLENR, 140 },
- { 336 * OVERSAMPLENR, 130 },
- { 402 * OVERSAMPLENR, 120 },
- { 476 * OVERSAMPLENR, 110 },
- { 554 * OVERSAMPLENR, 100 },
- { 635 * OVERSAMPLENR, 90 },
- { 713 * OVERSAMPLENR, 80 },
- { 784 * OVERSAMPLENR, 70 },
- { 846 * OVERSAMPLENR, 60 },
- { 897 * OVERSAMPLENR, 50 },
- { 937 * OVERSAMPLENR, 40 },
- { 966 * OVERSAMPLENR, 30 },
- { 986 * OVERSAMPLENR, 20 },
- { 1000 * OVERSAMPLENR, 10 },
- { 1010 * OVERSAMPLENR, 0 }
-};
+ #include "thermistortable_5.h"
#endif
-
#if ANY_THERMISTOR_IS(6) // 100k Epcos thermistor
-const short temptable_6[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 350 },
- { 28 * OVERSAMPLENR, 250 }, // top rating 250C
- { 31 * OVERSAMPLENR, 245 },
- { 35 * OVERSAMPLENR, 240 },
- { 39 * OVERSAMPLENR, 235 },
- { 42 * OVERSAMPLENR, 230 },
- { 44 * OVERSAMPLENR, 225 },
- { 49 * OVERSAMPLENR, 220 },
- { 53 * OVERSAMPLENR, 215 },
- { 62 * OVERSAMPLENR, 210 },
- { 71 * OVERSAMPLENR, 205 }, // fitted graphically
- { 78 * OVERSAMPLENR, 200 }, // fitted graphically
- { 94 * OVERSAMPLENR, 190 },
- { 102 * OVERSAMPLENR, 185 },
- { 116 * OVERSAMPLENR, 170 },
- { 143 * OVERSAMPLENR, 160 },
- { 183 * OVERSAMPLENR, 150 },
- { 223 * OVERSAMPLENR, 140 },
- { 270 * OVERSAMPLENR, 130 },
- { 318 * OVERSAMPLENR, 120 },
- { 383 * OVERSAMPLENR, 110 },
- { 413 * OVERSAMPLENR, 105 },
- { 439 * OVERSAMPLENR, 100 },
- { 484 * OVERSAMPLENR, 95 },
- { 513 * OVERSAMPLENR, 90 },
- { 607 * OVERSAMPLENR, 80 },
- { 664 * OVERSAMPLENR, 70 },
- { 781 * OVERSAMPLENR, 60 },
- { 810 * OVERSAMPLENR, 55 },
- { 849 * OVERSAMPLENR, 50 },
- { 914 * OVERSAMPLENR, 45 },
- { 914 * OVERSAMPLENR, 40 },
- { 935 * OVERSAMPLENR, 35 },
- { 954 * OVERSAMPLENR, 30 },
- { 970 * OVERSAMPLENR, 25 },
- { 978 * OVERSAMPLENR, 22 },
- { 1008 * OVERSAMPLENR, 3 },
- { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
-};
+ #include "thermistortable_6.h"
#endif
-
#if ANY_THERMISTOR_IS(7) // 100k Honeywell 135-104LAG-J01
-const short temptable_7[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 941 },
- { 19 * OVERSAMPLENR, 362 },
- { 37 * OVERSAMPLENR, 299 }, // top rating 300C
- { 55 * OVERSAMPLENR, 266 },
- { 73 * OVERSAMPLENR, 245 },
- { 91 * OVERSAMPLENR, 229 },
- { 109 * OVERSAMPLENR, 216 },
- { 127 * OVERSAMPLENR, 206 },
- { 145 * OVERSAMPLENR, 197 },
- { 163 * OVERSAMPLENR, 190 },
- { 181 * OVERSAMPLENR, 183 },
- { 199 * OVERSAMPLENR, 177 },
- { 217 * OVERSAMPLENR, 171 },
- { 235 * OVERSAMPLENR, 166 },
- { 253 * OVERSAMPLENR, 162 },
- { 271 * OVERSAMPLENR, 157 },
- { 289 * OVERSAMPLENR, 153 },
- { 307 * OVERSAMPLENR, 149 },
- { 325 * OVERSAMPLENR, 146 },
- { 343 * OVERSAMPLENR, 142 },
- { 361 * OVERSAMPLENR, 139 },
- { 379 * OVERSAMPLENR, 135 },
- { 397 * OVERSAMPLENR, 132 },
- { 415 * OVERSAMPLENR, 129 },
- { 433 * OVERSAMPLENR, 126 },
- { 451 * OVERSAMPLENR, 123 },
- { 469 * OVERSAMPLENR, 121 },
- { 487 * OVERSAMPLENR, 118 },
- { 505 * OVERSAMPLENR, 115 },
- { 523 * OVERSAMPLENR, 112 },
- { 541 * OVERSAMPLENR, 110 },
- { 559 * OVERSAMPLENR, 107 },
- { 577 * OVERSAMPLENR, 105 },
- { 595 * OVERSAMPLENR, 102 },
- { 613 * OVERSAMPLENR, 99 },
- { 631 * OVERSAMPLENR, 97 },
- { 649 * OVERSAMPLENR, 94 },
- { 667 * OVERSAMPLENR, 92 },
- { 685 * OVERSAMPLENR, 89 },
- { 703 * OVERSAMPLENR, 86 },
- { 721 * OVERSAMPLENR, 84 },
- { 739 * OVERSAMPLENR, 81 },
- { 757 * OVERSAMPLENR, 78 },
- { 775 * OVERSAMPLENR, 75 },
- { 793 * OVERSAMPLENR, 72 },
- { 811 * OVERSAMPLENR, 69 },
- { 829 * OVERSAMPLENR, 66 },
- { 847 * OVERSAMPLENR, 62 },
- { 865 * OVERSAMPLENR, 59 },
- { 883 * OVERSAMPLENR, 55 },
- { 901 * OVERSAMPLENR, 51 },
- { 919 * OVERSAMPLENR, 46 },
- { 937 * OVERSAMPLENR, 41 },
- { 955 * OVERSAMPLENR, 35 },
- { 973 * OVERSAMPLENR, 27 },
- { 991 * OVERSAMPLENR, 17 },
- { 1009 * OVERSAMPLENR, 1 },
- { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
-};
+ #include "thermistortable_7.h"
#endif
-
#if ANY_THERMISTOR_IS(71) // 100k Honeywell 135-104LAF-J01
-// R0 = 100000 Ohm
-// T0 = 25 °C
-// Beta = 3974
-// R1 = 0 Ohm
-// R2 = 4700 Ohm
-const short temptable_71[][2] PROGMEM = {
- { 35 * OVERSAMPLENR, 300 },
- { 51 * OVERSAMPLENR, 270 },
- { 54 * OVERSAMPLENR, 265 },
- { 58 * OVERSAMPLENR, 260 },
- { 59 * OVERSAMPLENR, 258 },
- { 61 * OVERSAMPLENR, 256 },
- { 63 * OVERSAMPLENR, 254 },
- { 64 * OVERSAMPLENR, 252 },
- { 66 * OVERSAMPLENR, 250 },
- { 67 * OVERSAMPLENR, 249 },
- { 68 * OVERSAMPLENR, 248 },
- { 69 * OVERSAMPLENR, 247 },
- { 70 * OVERSAMPLENR, 246 },
- { 71 * OVERSAMPLENR, 245 },
- { 72 * OVERSAMPLENR, 244 },
- { 73 * OVERSAMPLENR, 243 },
- { 74 * OVERSAMPLENR, 242 },
- { 75 * OVERSAMPLENR, 241 },
- { 76 * OVERSAMPLENR, 240 },
- { 77 * OVERSAMPLENR, 239 },
- { 78 * OVERSAMPLENR, 238 },
- { 79 * OVERSAMPLENR, 237 },
- { 80 * OVERSAMPLENR, 236 },
- { 81 * OVERSAMPLENR, 235 },
- { 82 * OVERSAMPLENR, 234 },
- { 84 * OVERSAMPLENR, 233 },
- { 85 * OVERSAMPLENR, 232 },
- { 86 * OVERSAMPLENR, 231 },
- { 87 * OVERSAMPLENR, 230 },
- { 89 * OVERSAMPLENR, 229 },
- { 90 * OVERSAMPLENR, 228 },
- { 91 * OVERSAMPLENR, 227 },
- { 92 * OVERSAMPLENR, 226 },
- { 94 * OVERSAMPLENR, 225 },
- { 95 * OVERSAMPLENR, 224 },
- { 97 * OVERSAMPLENR, 223 },
- { 98 * OVERSAMPLENR, 222 },
- { 99 * OVERSAMPLENR, 221 },
- { 101 * OVERSAMPLENR, 220 },
- { 102 * OVERSAMPLENR, 219 },
- { 104 * OVERSAMPLENR, 218 },
- { 106 * OVERSAMPLENR, 217 },
- { 107 * OVERSAMPLENR, 216 },
- { 109 * OVERSAMPLENR, 215 },
- { 110 * OVERSAMPLENR, 214 },
- { 112 * OVERSAMPLENR, 213 },
- { 114 * OVERSAMPLENR, 212 },
- { 115 * OVERSAMPLENR, 211 },
- { 117 * OVERSAMPLENR, 210 },
- { 119 * OVERSAMPLENR, 209 },
- { 121 * OVERSAMPLENR, 208 },
- { 123 * OVERSAMPLENR, 207 },
- { 125 * OVERSAMPLENR, 206 },
- { 126 * OVERSAMPLENR, 205 },
- { 128 * OVERSAMPLENR, 204 },
- { 130 * OVERSAMPLENR, 203 },
- { 132 * OVERSAMPLENR, 202 },
- { 134 * OVERSAMPLENR, 201 },
- { 136 * OVERSAMPLENR, 200 },
- { 139 * OVERSAMPLENR, 199 },
- { 141 * OVERSAMPLENR, 198 },
- { 143 * OVERSAMPLENR, 197 },
- { 145 * OVERSAMPLENR, 196 },
- { 147 * OVERSAMPLENR, 195 },
- { 150 * OVERSAMPLENR, 194 },
- { 152 * OVERSAMPLENR, 193 },
- { 154 * OVERSAMPLENR, 192 },
- { 157 * OVERSAMPLENR, 191 },
- { 159 * OVERSAMPLENR, 190 },
- { 162 * OVERSAMPLENR, 189 },
- { 164 * OVERSAMPLENR, 188 },
- { 167 * OVERSAMPLENR, 187 },
- { 170 * OVERSAMPLENR, 186 },
- { 172 * OVERSAMPLENR, 185 },
- { 175 * OVERSAMPLENR, 184 },
- { 178 * OVERSAMPLENR, 183 },
- { 181 * OVERSAMPLENR, 182 },
- { 184 * OVERSAMPLENR, 181 },
- { 187 * OVERSAMPLENR, 180 },
- { 190 * OVERSAMPLENR, 179 },
- { 193 * OVERSAMPLENR, 178 },
- { 196 * OVERSAMPLENR, 177 },
- { 199 * OVERSAMPLENR, 176 },
- { 202 * OVERSAMPLENR, 175 },
- { 205 * OVERSAMPLENR, 174 },
- { 208 * OVERSAMPLENR, 173 },
- { 212 * OVERSAMPLENR, 172 },
- { 215 * OVERSAMPLENR, 171 },
- { 219 * OVERSAMPLENR, 170 },
- { 237 * OVERSAMPLENR, 165 },
- { 256 * OVERSAMPLENR, 160 },
- { 300 * OVERSAMPLENR, 150 },
- { 351 * OVERSAMPLENR, 140 },
- { 470 * OVERSAMPLENR, 120 },
- { 504 * OVERSAMPLENR, 115 },
- { 538 * OVERSAMPLENR, 110 },
- { 552 * OVERSAMPLENR, 108 },
- { 566 * OVERSAMPLENR, 106 },
- { 580 * OVERSAMPLENR, 104 },
- { 594 * OVERSAMPLENR, 102 },
- { 608 * OVERSAMPLENR, 100 },
- { 622 * OVERSAMPLENR, 98 },
- { 636 * OVERSAMPLENR, 96 },
- { 650 * OVERSAMPLENR, 94 },
- { 664 * OVERSAMPLENR, 92 },
- { 678 * OVERSAMPLENR, 90 },
- { 712 * OVERSAMPLENR, 85 },
- { 745 * OVERSAMPLENR, 80 },
- { 758 * OVERSAMPLENR, 78 },
- { 770 * OVERSAMPLENR, 76 },
- { 783 * OVERSAMPLENR, 74 },
- { 795 * OVERSAMPLENR, 72 },
- { 806 * OVERSAMPLENR, 70 },
- { 818 * OVERSAMPLENR, 68 },
- { 829 * OVERSAMPLENR, 66 },
- { 840 * OVERSAMPLENR, 64 },
- { 850 * OVERSAMPLENR, 62 },
- { 860 * OVERSAMPLENR, 60 },
- { 870 * OVERSAMPLENR, 58 },
- { 879 * OVERSAMPLENR, 56 },
- { 888 * OVERSAMPLENR, 54 },
- { 897 * OVERSAMPLENR, 52 },
- { 905 * OVERSAMPLENR, 50 },
- { 924 * OVERSAMPLENR, 45 },
- { 940 * OVERSAMPLENR, 40 },
- { 955 * OVERSAMPLENR, 35 },
- { 967 * OVERSAMPLENR, 30 },
- { 970 * OVERSAMPLENR, 29 },
- { 972 * OVERSAMPLENR, 28 },
- { 974 * OVERSAMPLENR, 27 },
- { 976 * OVERSAMPLENR, 26 },
- { 978 * OVERSAMPLENR, 25 },
- { 980 * OVERSAMPLENR, 24 },
- { 982 * OVERSAMPLENR, 23 },
- { 984 * OVERSAMPLENR, 22 },
- { 985 * OVERSAMPLENR, 21 },
- { 987 * OVERSAMPLENR, 20 },
- { 995 * OVERSAMPLENR, 15 },
- { 1001 * OVERSAMPLENR, 10 },
- { 1006 * OVERSAMPLENR, 5 },
- { 1010 * OVERSAMPLENR, 0 }
-};
+ #include "thermistortable_71.h"
#endif
-
-#if ANY_THERMISTOR_IS(8)
-// 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
-const short temptable_8[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 704 },
- { 54 * OVERSAMPLENR, 216 },
- { 107 * OVERSAMPLENR, 175 },
- { 160 * OVERSAMPLENR, 152 },
- { 213 * OVERSAMPLENR, 137 },
- { 266 * OVERSAMPLENR, 125 },
- { 319 * OVERSAMPLENR, 115 },
- { 372 * OVERSAMPLENR, 106 },
- { 425 * OVERSAMPLENR, 99 },
- { 478 * OVERSAMPLENR, 91 },
- { 531 * OVERSAMPLENR, 85 },
- { 584 * OVERSAMPLENR, 78 },
- { 637 * OVERSAMPLENR, 71 },
- { 690 * OVERSAMPLENR, 65 },
- { 743 * OVERSAMPLENR, 58 },
- { 796 * OVERSAMPLENR, 50 },
- { 849 * OVERSAMPLENR, 42 },
- { 902 * OVERSAMPLENR, 31 },
- { 955 * OVERSAMPLENR, 17 },
- { 1008 * OVERSAMPLENR, 0 }
-};
+#if ANY_THERMISTOR_IS(8) // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+ #include "thermistortable_8.h"
#endif
-
-#if ANY_THERMISTOR_IS(9)
-// 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
-const short temptable_9[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 936 },
- { 36 * OVERSAMPLENR, 300 },
- { 71 * OVERSAMPLENR, 246 },
- { 106 * OVERSAMPLENR, 218 },
- { 141 * OVERSAMPLENR, 199 },
- { 176 * OVERSAMPLENR, 185 },
- { 211 * OVERSAMPLENR, 173 },
- { 246 * OVERSAMPLENR, 163 },
- { 281 * OVERSAMPLENR, 155 },
- { 316 * OVERSAMPLENR, 147 },
- { 351 * OVERSAMPLENR, 140 },
- { 386 * OVERSAMPLENR, 134 },
- { 421 * OVERSAMPLENR, 128 },
- { 456 * OVERSAMPLENR, 122 },
- { 491 * OVERSAMPLENR, 117 },
- { 526 * OVERSAMPLENR, 112 },
- { 561 * OVERSAMPLENR, 107 },
- { 596 * OVERSAMPLENR, 102 },
- { 631 * OVERSAMPLENR, 97 },
- { 666 * OVERSAMPLENR, 92 },
- { 701 * OVERSAMPLENR, 87 },
- { 736 * OVERSAMPLENR, 81 },
- { 771 * OVERSAMPLENR, 76 },
- { 806 * OVERSAMPLENR, 70 },
- { 841 * OVERSAMPLENR, 63 },
- { 876 * OVERSAMPLENR, 56 },
- { 911 * OVERSAMPLENR, 48 },
- { 946 * OVERSAMPLENR, 38 },
- { 981 * OVERSAMPLENR, 23 },
- { 1005 * OVERSAMPLENR, 5 },
- { 1016 * OVERSAMPLENR, 0 }
-};
+#if ANY_THERMISTOR_IS(9) // 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+ #include "thermistortable_9.h"
#endif
-
-#if ANY_THERMISTOR_IS(10)
-// 100k RS thermistor 198-961 (4.7k pullup)
-const short temptable_10[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 929 },
- { 36 * OVERSAMPLENR, 299 },
- { 71 * OVERSAMPLENR, 246 },
- { 106 * OVERSAMPLENR, 217 },
- { 141 * OVERSAMPLENR, 198 },
- { 176 * OVERSAMPLENR, 184 },
- { 211 * OVERSAMPLENR, 173 },
- { 246 * OVERSAMPLENR, 163 },
- { 281 * OVERSAMPLENR, 154 },
- { 316 * OVERSAMPLENR, 147 },
- { 351 * OVERSAMPLENR, 140 },
- { 386 * OVERSAMPLENR, 134 },
- { 421 * OVERSAMPLENR, 128 },
- { 456 * OVERSAMPLENR, 122 },
- { 491 * OVERSAMPLENR, 117 },
- { 526 * OVERSAMPLENR, 112 },
- { 561 * OVERSAMPLENR, 107 },
- { 596 * OVERSAMPLENR, 102 },
- { 631 * OVERSAMPLENR, 97 },
- { 666 * OVERSAMPLENR, 91 },
- { 701 * OVERSAMPLENR, 86 },
- { 736 * OVERSAMPLENR, 81 },
- { 771 * OVERSAMPLENR, 76 },
- { 806 * OVERSAMPLENR, 70 },
- { 841 * OVERSAMPLENR, 63 },
- { 876 * OVERSAMPLENR, 56 },
- { 911 * OVERSAMPLENR, 48 },
- { 946 * OVERSAMPLENR, 38 },
- { 981 * OVERSAMPLENR, 23 },
- { 1005 * OVERSAMPLENR, 5 },
- { 1016 * OVERSAMPLENR, 0 }
-};
+#if ANY_THERMISTOR_IS(10) // 100k RS thermistor 198-961 (4.7k pullup)
+ #include "thermistortable_10.h"
#endif
-
-#if ANY_THERMISTOR_IS(11)
-// QU-BD silicone bed QWG-104F-3950 thermistor
-const short temptable_11[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 938 },
- { 31 * OVERSAMPLENR, 314 },
- { 41 * OVERSAMPLENR, 290 },
- { 51 * OVERSAMPLENR, 272 },
- { 61 * OVERSAMPLENR, 258 },
- { 71 * OVERSAMPLENR, 247 },
- { 81 * OVERSAMPLENR, 237 },
- { 91 * OVERSAMPLENR, 229 },
- { 101 * OVERSAMPLENR, 221 },
- { 111 * OVERSAMPLENR, 215 },
- { 121 * OVERSAMPLENR, 209 },
- { 131 * OVERSAMPLENR, 204 },
- { 141 * OVERSAMPLENR, 199 },
- { 151 * OVERSAMPLENR, 195 },
- { 161 * OVERSAMPLENR, 190 },
- { 171 * OVERSAMPLENR, 187 },
- { 181 * OVERSAMPLENR, 183 },
- { 191 * OVERSAMPLENR, 179 },
- { 201 * OVERSAMPLENR, 176 },
- { 221 * OVERSAMPLENR, 170 },
- { 241 * OVERSAMPLENR, 165 },
- { 261 * OVERSAMPLENR, 160 },
- { 281 * OVERSAMPLENR, 155 },
- { 301 * OVERSAMPLENR, 150 },
- { 331 * OVERSAMPLENR, 144 },
- { 361 * OVERSAMPLENR, 139 },
- { 391 * OVERSAMPLENR, 133 },
- { 421 * OVERSAMPLENR, 128 },
- { 451 * OVERSAMPLENR, 123 },
- { 491 * OVERSAMPLENR, 117 },
- { 531 * OVERSAMPLENR, 111 },
- { 571 * OVERSAMPLENR, 105 },
- { 611 * OVERSAMPLENR, 100 },
- { 641 * OVERSAMPLENR, 95 },
- { 681 * OVERSAMPLENR, 90 },
- { 711 * OVERSAMPLENR, 85 },
- { 751 * OVERSAMPLENR, 79 },
- { 791 * OVERSAMPLENR, 72 },
- { 811 * OVERSAMPLENR, 69 },
- { 831 * OVERSAMPLENR, 65 },
- { 871 * OVERSAMPLENR, 57 },
- { 881 * OVERSAMPLENR, 55 },
- { 901 * OVERSAMPLENR, 51 },
- { 921 * OVERSAMPLENR, 45 },
- { 941 * OVERSAMPLENR, 39 },
- { 971 * OVERSAMPLENR, 28 },
- { 981 * OVERSAMPLENR, 23 },
- { 991 * OVERSAMPLENR, 17 },
- { 1001 * OVERSAMPLENR, 9 },
- { 1021 * OVERSAMPLENR, -27 }
-};
+#if ANY_THERMISTOR_IS(11) // QU-BD silicone bed QWG-104F-3950 thermistor
+ #include "thermistortable_11.h"
#endif
-
-#if ANY_THERMISTOR_IS(13)
-// Hisens thermistor B25/50 =3950 +/-1%
-const short temptable_13[][2] PROGMEM = {
- { 20.04 * OVERSAMPLENR, 300 },
- { 23.19 * OVERSAMPLENR, 290 },
- { 26.71 * OVERSAMPLENR, 280 },
- { 31.23 * OVERSAMPLENR, 270 },
- { 36.52 * OVERSAMPLENR, 260 },
- { 42.75 * OVERSAMPLENR, 250 },
- { 50.68 * OVERSAMPLENR, 240 },
- { 60.22 * OVERSAMPLENR, 230 },
- { 72.03 * OVERSAMPLENR, 220 },
- { 86.84 * OVERSAMPLENR, 210 },
- { 102.79 * OVERSAMPLENR, 200 },
- { 124.46 * OVERSAMPLENR, 190 },
- { 151.02 * OVERSAMPLENR, 180 },
- { 182.86 * OVERSAMPLENR, 170 },
- { 220.72 * OVERSAMPLENR, 160 },
- { 316.96 * OVERSAMPLENR, 140 },
- { 447.17 * OVERSAMPLENR, 120 },
- { 590.61 * OVERSAMPLENR, 100 },
- { 737.31 * OVERSAMPLENR, 80 },
- { 857.77 * OVERSAMPLENR, 60 },
- { 939.52 * OVERSAMPLENR, 40 },
- { 986.03 * OVERSAMPLENR, 20 },
- { 1008.7 * OVERSAMPLENR, 0 }
-
-};
+#if ANY_THERMISTOR_IS(13) // Hisens thermistor B25/50 =3950 +/-1%
+ #include "thermistortable_13.h"
#endif
-
#if ANY_THERMISTOR_IS(20) // PT100 with INA826 amp on Ultimaker v2.0 electronics
-// The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature.
-// This does not match the normal thermistor behaviour so we need to set the following defines
-#if (THERMISTORHEATER_0 == 20)
- #define HEATER_0_RAW_HI_TEMP 16383
- #define HEATER_0_RAW_LO_TEMP 0
-#endif
-#if (THERMISTORHEATER_1 == 20)
- #define HEATER_1_RAW_HI_TEMP 16383
- #define HEATER_1_RAW_LO_TEMP 0
-#endif
-#if (THERMISTORHEATER_2 == 20)
- #define HEATER_2_RAW_HI_TEMP 16383
- #define HEATER_2_RAW_LO_TEMP 0
-#endif
-#if (THERMISTORHEATER_3 == 20)
- #define HEATER_3_RAW_HI_TEMP 16383
- #define HEATER_3_RAW_LO_TEMP 0
+ #include "thermistortable_20.h"
#endif
-#if (THERMISTORBED == 20)
- #define HEATER_BED_RAW_HI_TEMP 16383
- #define HEATER_BED_RAW_LO_TEMP 0
-#endif
-const short temptable_20[][2] PROGMEM = {
- { 0 * OVERSAMPLENR, 0 },
- { 227 * OVERSAMPLENR, 1 },
- { 236 * OVERSAMPLENR, 10 },
- { 245 * OVERSAMPLENR, 20 },
- { 253 * OVERSAMPLENR, 30 },
- { 262 * OVERSAMPLENR, 40 },
- { 270 * OVERSAMPLENR, 50 },
- { 279 * OVERSAMPLENR, 60 },
- { 287 * OVERSAMPLENR, 70 },
- { 295 * OVERSAMPLENR, 80 },
- { 304 * OVERSAMPLENR, 90 },
- { 312 * OVERSAMPLENR, 100 },
- { 320 * OVERSAMPLENR, 110 },
- { 329 * OVERSAMPLENR, 120 },
- { 337 * OVERSAMPLENR, 130 },
- { 345 * OVERSAMPLENR, 140 },
- { 353 * OVERSAMPLENR, 150 },
- { 361 * OVERSAMPLENR, 160 },
- { 369 * OVERSAMPLENR, 170 },
- { 377 * OVERSAMPLENR, 180 },
- { 385 * OVERSAMPLENR, 190 },
- { 393 * OVERSAMPLENR, 200 },
- { 401 * OVERSAMPLENR, 210 },
- { 409 * OVERSAMPLENR, 220 },
- { 417 * OVERSAMPLENR, 230 },
- { 424 * OVERSAMPLENR, 240 },
- { 432 * OVERSAMPLENR, 250 },
- { 440 * OVERSAMPLENR, 260 },
- { 447 * OVERSAMPLENR, 270 },
- { 455 * OVERSAMPLENR, 280 },
- { 463 * OVERSAMPLENR, 290 },
- { 470 * OVERSAMPLENR, 300 },
- { 478 * OVERSAMPLENR, 310 },
- { 485 * OVERSAMPLENR, 320 },
- { 493 * OVERSAMPLENR, 330 },
- { 500 * OVERSAMPLENR, 340 },
- { 507 * OVERSAMPLENR, 350 },
- { 515 * OVERSAMPLENR, 360 },
- { 522 * OVERSAMPLENR, 370 },
- { 529 * OVERSAMPLENR, 380 },
- { 537 * OVERSAMPLENR, 390 },
- { 544 * OVERSAMPLENR, 400 },
- { 614 * OVERSAMPLENR, 500 },
- { 681 * OVERSAMPLENR, 600 },
- { 744 * OVERSAMPLENR, 700 },
- { 805 * OVERSAMPLENR, 800 },
- { 862 * OVERSAMPLENR, 900 },
- { 917 * OVERSAMPLENR, 1000 },
- { 968 * OVERSAMPLENR, 1100 }
-};
-#endif
-
-#if ANY_THERMISTOR_IS(51)
-// 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
-// Verified by linagee.
-// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
-// Advantage: Twice the resolution and better linearity from 150C to 200C
-const short temptable_51[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 350 },
- { 190 * OVERSAMPLENR, 250 }, // top rating 250C
- { 203 * OVERSAMPLENR, 245 },
- { 217 * OVERSAMPLENR, 240 },
- { 232 * OVERSAMPLENR, 235 },
- { 248 * OVERSAMPLENR, 230 },
- { 265 * OVERSAMPLENR, 225 },
- { 283 * OVERSAMPLENR, 220 },
- { 302 * OVERSAMPLENR, 215 },
- { 322 * OVERSAMPLENR, 210 },
- { 344 * OVERSAMPLENR, 205 },
- { 366 * OVERSAMPLENR, 200 },
- { 390 * OVERSAMPLENR, 195 },
- { 415 * OVERSAMPLENR, 190 },
- { 440 * OVERSAMPLENR, 185 },
- { 467 * OVERSAMPLENR, 180 },
- { 494 * OVERSAMPLENR, 175 },
- { 522 * OVERSAMPLENR, 170 },
- { 551 * OVERSAMPLENR, 165 },
- { 580 * OVERSAMPLENR, 160 },
- { 609 * OVERSAMPLENR, 155 },
- { 638 * OVERSAMPLENR, 150 },
- { 666 * OVERSAMPLENR, 145 },
- { 695 * OVERSAMPLENR, 140 },
- { 722 * OVERSAMPLENR, 135 },
- { 749 * OVERSAMPLENR, 130 },
- { 775 * OVERSAMPLENR, 125 },
- { 800 * OVERSAMPLENR, 120 },
- { 823 * OVERSAMPLENR, 115 },
- { 845 * OVERSAMPLENR, 110 },
- { 865 * OVERSAMPLENR, 105 },
- { 884 * OVERSAMPLENR, 100 },
- { 901 * OVERSAMPLENR, 95 },
- { 917 * OVERSAMPLENR, 90 },
- { 932 * OVERSAMPLENR, 85 },
- { 944 * OVERSAMPLENR, 80 },
- { 956 * OVERSAMPLENR, 75 },
- { 966 * OVERSAMPLENR, 70 },
- { 975 * OVERSAMPLENR, 65 },
- { 982 * OVERSAMPLENR, 60 },
- { 989 * OVERSAMPLENR, 55 },
- { 995 * OVERSAMPLENR, 50 },
- { 1000 * OVERSAMPLENR, 45 },
- { 1004 * OVERSAMPLENR, 40 },
- { 1007 * OVERSAMPLENR, 35 },
- { 1010 * OVERSAMPLENR, 30 },
- { 1013 * OVERSAMPLENR, 25 },
- { 1015 * OVERSAMPLENR, 20 },
- { 1017 * OVERSAMPLENR, 15 },
- { 1018 * OVERSAMPLENR, 10 },
- { 1019 * OVERSAMPLENR, 5 },
- { 1020 * OVERSAMPLENR, 0 },
- { 1021 * OVERSAMPLENR, -5 }
-};
+#if ANY_THERMISTOR_IS(51) // 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+ #include "thermistortable_51.h"
#endif
-
-#if ANY_THERMISTOR_IS(52)
-// 200k ATC Semitec 204GT-2 (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
-// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
-// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
-// Advantage: More resolution and better linearity from 150C to 200C
-const short temptable_52[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 500 },
- { 125 * OVERSAMPLENR, 300 }, // top rating 300C
- { 142 * OVERSAMPLENR, 290 },
- { 162 * OVERSAMPLENR, 280 },
- { 185 * OVERSAMPLENR, 270 },
- { 211 * OVERSAMPLENR, 260 },
- { 240 * OVERSAMPLENR, 250 },
- { 274 * OVERSAMPLENR, 240 },
- { 312 * OVERSAMPLENR, 230 },
- { 355 * OVERSAMPLENR, 220 },
- { 401 * OVERSAMPLENR, 210 },
- { 452 * OVERSAMPLENR, 200 },
- { 506 * OVERSAMPLENR, 190 },
- { 563 * OVERSAMPLENR, 180 },
- { 620 * OVERSAMPLENR, 170 },
- { 677 * OVERSAMPLENR, 160 },
- { 732 * OVERSAMPLENR, 150 },
- { 783 * OVERSAMPLENR, 140 },
- { 830 * OVERSAMPLENR, 130 },
- { 871 * OVERSAMPLENR, 120 },
- { 906 * OVERSAMPLENR, 110 },
- { 935 * OVERSAMPLENR, 100 },
- { 958 * OVERSAMPLENR, 90 },
- { 976 * OVERSAMPLENR, 80 },
- { 990 * OVERSAMPLENR, 70 },
- { 1000 * OVERSAMPLENR, 60 },
- { 1008 * OVERSAMPLENR, 50 },
- { 1013 * OVERSAMPLENR, 40 },
- { 1017 * OVERSAMPLENR, 30 },
- { 1019 * OVERSAMPLENR, 20 },
- { 1021 * OVERSAMPLENR, 10 },
- { 1022 * OVERSAMPLENR, 0 }
-};
+#if ANY_THERMISTOR_IS(52) // 200k ATC Semitec 204GT-2 (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+ #include "thermistortable_52.h"
#endif
-
-#if ANY_THERMISTOR_IS(55)
-// 100k ATC Semitec 104GT-2 (Used on ParCan) (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
-// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
-// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
-// Advantage: More resolution and better linearity from 150C to 200C
-const short temptable_55[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, 500 },
- { 76 * OVERSAMPLENR, 300 },
- { 87 * OVERSAMPLENR, 290 },
- { 100 * OVERSAMPLENR, 280 },
- { 114 * OVERSAMPLENR, 270 },
- { 131 * OVERSAMPLENR, 260 },
- { 152 * OVERSAMPLENR, 250 },
- { 175 * OVERSAMPLENR, 240 },
- { 202 * OVERSAMPLENR, 230 },
- { 234 * OVERSAMPLENR, 220 },
- { 271 * OVERSAMPLENR, 210 },
- { 312 * OVERSAMPLENR, 200 },
- { 359 * OVERSAMPLENR, 190 },
- { 411 * OVERSAMPLENR, 180 },
- { 467 * OVERSAMPLENR, 170 },
- { 527 * OVERSAMPLENR, 160 },
- { 590 * OVERSAMPLENR, 150 },
- { 652 * OVERSAMPLENR, 140 },
- { 713 * OVERSAMPLENR, 130 },
- { 770 * OVERSAMPLENR, 120 },
- { 822 * OVERSAMPLENR, 110 },
- { 867 * OVERSAMPLENR, 100 },
- { 905 * OVERSAMPLENR, 90 },
- { 936 * OVERSAMPLENR, 80 },
- { 961 * OVERSAMPLENR, 70 },
- { 979 * OVERSAMPLENR, 60 },
- { 993 * OVERSAMPLENR, 50 },
- { 1003 * OVERSAMPLENR, 40 },
- { 1010 * OVERSAMPLENR, 30 },
- { 1015 * OVERSAMPLENR, 20 },
- { 1018 * OVERSAMPLENR, 10 },
- { 1020 * OVERSAMPLENR, 0 }
-};
+#if ANY_THERMISTOR_IS(55) // 100k ATC Semitec 104GT-2 (Used on ParCan) (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+ #include "thermistortable_53.h"
#endif
-
#if ANY_THERMISTOR_IS(60) // Maker's Tool Works Kapton Bed Thermistor
-// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=3950
-// r0: 100000
-// t0: 25
-// r1: 0 (parallel with rTherm)
-// r2: 4700 (series with rTherm)
-// beta: 3950
-// min adc: 1 at 0.0048828125 V
-// max adc: 1023 at 4.9951171875 V
-const short temptable_60[][2] PROGMEM = {
- { 51 * OVERSAMPLENR, 272 },
- { 61 * OVERSAMPLENR, 258 },
- { 71 * OVERSAMPLENR, 247 },
- { 81 * OVERSAMPLENR, 237 },
- { 91 * OVERSAMPLENR, 229 },
- { 101 * OVERSAMPLENR, 221 },
- { 131 * OVERSAMPLENR, 204 },
- { 161 * OVERSAMPLENR, 190 },
- { 191 * OVERSAMPLENR, 179 },
- { 231 * OVERSAMPLENR, 167 },
- { 271 * OVERSAMPLENR, 157 },
- { 311 * OVERSAMPLENR, 148 },
- { 351 * OVERSAMPLENR, 140 },
- { 381 * OVERSAMPLENR, 135 },
- { 411 * OVERSAMPLENR, 130 },
- { 441 * OVERSAMPLENR, 125 },
- { 451 * OVERSAMPLENR, 123 },
- { 461 * OVERSAMPLENR, 122 },
- { 471 * OVERSAMPLENR, 120 },
- { 481 * OVERSAMPLENR, 119 },
- { 491 * OVERSAMPLENR, 117 },
- { 501 * OVERSAMPLENR, 116 },
- { 511 * OVERSAMPLENR, 114 },
- { 521 * OVERSAMPLENR, 113 },
- { 531 * OVERSAMPLENR, 111 },
- { 541 * OVERSAMPLENR, 110 },
- { 551 * OVERSAMPLENR, 108 },
- { 561 * OVERSAMPLENR, 107 },
- { 571 * OVERSAMPLENR, 105 },
- { 581 * OVERSAMPLENR, 104 },
- { 591 * OVERSAMPLENR, 102 },
- { 601 * OVERSAMPLENR, 101 },
- { 611 * OVERSAMPLENR, 100 },
- { 621 * OVERSAMPLENR, 98 },
- { 631 * OVERSAMPLENR, 97 },
- { 641 * OVERSAMPLENR, 95 },
- { 651 * OVERSAMPLENR, 94 },
- { 661 * OVERSAMPLENR, 92 },
- { 671 * OVERSAMPLENR, 91 },
- { 681 * OVERSAMPLENR, 90 },
- { 691 * OVERSAMPLENR, 88 },
- { 701 * OVERSAMPLENR, 87 },
- { 711 * OVERSAMPLENR, 85 },
- { 721 * OVERSAMPLENR, 84 },
- { 731 * OVERSAMPLENR, 82 },
- { 741 * OVERSAMPLENR, 81 },
- { 751 * OVERSAMPLENR, 79 },
- { 761 * OVERSAMPLENR, 77 },
- { 771 * OVERSAMPLENR, 76 },
- { 781 * OVERSAMPLENR, 74 },
- { 791 * OVERSAMPLENR, 72 },
- { 801 * OVERSAMPLENR, 71 },
- { 811 * OVERSAMPLENR, 69 },
- { 821 * OVERSAMPLENR, 67 },
- { 831 * OVERSAMPLENR, 65 },
- { 841 * OVERSAMPLENR, 63 },
- { 851 * OVERSAMPLENR, 62 },
- { 861 * OVERSAMPLENR, 60 },
- { 871 * OVERSAMPLENR, 57 },
- { 881 * OVERSAMPLENR, 55 },
- { 891 * OVERSAMPLENR, 53 },
- { 901 * OVERSAMPLENR, 51 },
- { 911 * OVERSAMPLENR, 48 },
- { 921 * OVERSAMPLENR, 45 },
- { 931 * OVERSAMPLENR, 42 },
- { 941 * OVERSAMPLENR, 39 },
- { 951 * OVERSAMPLENR, 36 },
- { 961 * OVERSAMPLENR, 32 },
- { 981 * OVERSAMPLENR, 23 },
- { 991 * OVERSAMPLENR, 17 },
- { 1001 * OVERSAMPLENR, 9 },
- { 1008 * OVERSAMPLENR, 0 }
-};
+ #include "thermistortable_60.h"
#endif
-
-#if ANY_THERMISTOR_IS(66)
-// DyzeDesign 500°C Thermistor
-const short temptable_66[][2] PROGMEM = {
- { 17.5 * OVERSAMPLENR, 850 },
- { 17.9 * OVERSAMPLENR, 500 },
- { 21.7 * OVERSAMPLENR, 480 },
- { 26.6 * OVERSAMPLENR, 460 },
- { 33.1 * OVERSAMPLENR, 440 },
- { 41.0 * OVERSAMPLENR, 420 },
- { 52.3 * OVERSAMPLENR, 400 },
- { 67.7 * OVERSAMPLENR, 380 },
- { 86.5 * OVERSAMPLENR, 360 },
- { 112.0 * OVERSAMPLENR, 340 },
- { 147.2 * OVERSAMPLENR, 320 },
- { 194.0 * OVERSAMPLENR, 300 },
- { 254.3 * OVERSAMPLENR, 280 },
- { 330.2 * OVERSAMPLENR, 260 },
- { 427.9 * OVERSAMPLENR, 240 },
- { 533.4 * OVERSAMPLENR, 220 },
- { 646.5 * OVERSAMPLENR, 200 },
- { 754.4 * OVERSAMPLENR, 180 },
- { 844.3 * OVERSAMPLENR, 160 },
- { 911.7 * OVERSAMPLENR, 140 },
- { 958.6 * OVERSAMPLENR, 120 },
- { 988.8 * OVERSAMPLENR, 100 },
- { 1006.6 * OVERSAMPLENR, 80 },
- { 1015.8 * OVERSAMPLENR, 60 },
- { 1021.3 * OVERSAMPLENR, 30 },
- { 1023 * OVERSAMPLENR - 1, 25},
- { 1023 * OVERSAMPLENR, 20}
-};
+#if ANY_THERMISTOR_IS(66) // DyzeDesign 500°C Thermistor
+ #include "thermistortable_66.h"
#endif
-
-#if ANY_THERMISTOR_IS(12)
-// 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
-const short temptable_12[][2] PROGMEM = {
- { 35 * OVERSAMPLENR, 180 }, // top rating 180C
- { 211 * OVERSAMPLENR, 140 },
- { 233 * OVERSAMPLENR, 135 },
- { 261 * OVERSAMPLENR, 130 },
- { 290 * OVERSAMPLENR, 125 },
- { 328 * OVERSAMPLENR, 120 },
- { 362 * OVERSAMPLENR, 115 },
- { 406 * OVERSAMPLENR, 110 },
- { 446 * OVERSAMPLENR, 105 },
- { 496 * OVERSAMPLENR, 100 },
- { 539 * OVERSAMPLENR, 95 },
- { 585 * OVERSAMPLENR, 90 },
- { 629 * OVERSAMPLENR, 85 },
- { 675 * OVERSAMPLENR, 80 },
- { 718 * OVERSAMPLENR, 75 },
- { 758 * OVERSAMPLENR, 70 },
- { 793 * OVERSAMPLENR, 65 },
- { 822 * OVERSAMPLENR, 60 },
- { 841 * OVERSAMPLENR, 55 },
- { 875 * OVERSAMPLENR, 50 },
- { 899 * OVERSAMPLENR, 45 },
- { 926 * OVERSAMPLENR, 40 },
- { 946 * OVERSAMPLENR, 35 },
- { 962 * OVERSAMPLENR, 30 },
- { 977 * OVERSAMPLENR, 25 },
- { 987 * OVERSAMPLENR, 20 },
- { 995 * OVERSAMPLENR, 15 },
- { 1001 * OVERSAMPLENR, 10 },
- { 1010 * OVERSAMPLENR, 0 },
- { 1023 * OVERSAMPLENR, -40 }
-};
+#if ANY_THERMISTOR_IS(12) // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+ #include "thermistortable_12.h"
#endif
-
#if ANY_THERMISTOR_IS(70) // bqh2 stock thermistor
-const short temptable_70[][2] PROGMEM = {
- { 22 * OVERSAMPLENR, 300 },
- { 24 * OVERSAMPLENR, 295 },
- { 25 * OVERSAMPLENR, 290 },
- { 27 * OVERSAMPLENR, 285 },
- { 29 * OVERSAMPLENR, 280 },
- { 32 * OVERSAMPLENR, 275 },
- { 34 * OVERSAMPLENR, 270 },
- { 37 * OVERSAMPLENR, 265 },
- { 40 * OVERSAMPLENR, 260 },
- { 43 * OVERSAMPLENR, 255 },
- { 46 * OVERSAMPLENR, 250 },
- { 50 * OVERSAMPLENR, 245 },
- { 54 * OVERSAMPLENR, 240 },
- { 59 * OVERSAMPLENR, 235 },
- { 64 * OVERSAMPLENR, 230 },
- { 70 * OVERSAMPLENR, 225 },
- { 76 * OVERSAMPLENR, 220 },
- { 83 * OVERSAMPLENR, 215 },
- { 90 * OVERSAMPLENR, 210 },
- { 99 * OVERSAMPLENR, 205 },
- { 108 * OVERSAMPLENR, 200 },
- { 118 * OVERSAMPLENR, 195 },
- { 129 * OVERSAMPLENR, 190 },
- { 141 * OVERSAMPLENR, 185 },
- { 154 * OVERSAMPLENR, 180 },
- { 169 * OVERSAMPLENR, 175 },
- { 185 * OVERSAMPLENR, 170 },
- { 203 * OVERSAMPLENR, 165 },
- { 222 * OVERSAMPLENR, 160 },
- { 243 * OVERSAMPLENR, 155 },
- { 266 * OVERSAMPLENR, 150 },
- { 290 * OVERSAMPLENR, 145 },
- { 317 * OVERSAMPLENR, 140 },
- { 346 * OVERSAMPLENR, 135 },
- { 376 * OVERSAMPLENR, 130 },
- { 408 * OVERSAMPLENR, 125 },
- { 442 * OVERSAMPLENR, 120 },
- { 477 * OVERSAMPLENR, 115 },
- { 513 * OVERSAMPLENR, 110 },
- { 551 * OVERSAMPLENR, 105 },
- { 588 * OVERSAMPLENR, 100 },
- { 626 * OVERSAMPLENR, 95 },
- { 663 * OVERSAMPLENR, 90 },
- { 699 * OVERSAMPLENR, 85 },
- { 735 * OVERSAMPLENR, 80 },
- { 768 * OVERSAMPLENR, 75 },
- { 800 * OVERSAMPLENR, 70 },
- { 829 * OVERSAMPLENR, 65 },
- { 856 * OVERSAMPLENR, 60 },
- { 881 * OVERSAMPLENR, 55 },
- { 903 * OVERSAMPLENR, 50 },
- { 922 * OVERSAMPLENR, 45 },
- { 939 * OVERSAMPLENR, 40 },
- { 954 * OVERSAMPLENR, 35 },
- { 966 * OVERSAMPLENR, 30 },
- { 977 * OVERSAMPLENR, 25 },
- { 986 * OVERSAMPLENR, 20 },
- { 994 * OVERSAMPLENR, 15 },
- { 1000 * OVERSAMPLENR, 10 },
- { 1005 * OVERSAMPLENR, 5 },
- { 1009 * OVERSAMPLENR, 0 } // safety
-};
+ #include "thermistortable_70.h"
#endif
-
-// Pt1000 and Pt100 handling
-//
-// Rt=R0*(1+a*T+b*T*T) [for T>0]
-// a=3.9083E-3, b=-5.775E-7
-
-#define PtA 3.9083E-3
-#define PtB -5.775E-7
-#define PtRt(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(T)*(T)))
-#define PtAdVal(T,R0,Rup) (short)(1024/(Rup/PtRt(T,R0)+1))
-#define PtLine(T,R0,Rup) { PtAdVal(T,R0,Rup)*OVERSAMPLENR, T },
-
#if ANY_THERMISTOR_IS(110) // Pt100 with 1k0 pullup
-const short temptable_110[][2] PROGMEM = {
- // only few values are needed as the curve is very flat
- PtLine( 0, 100, 1000)
- PtLine( 50, 100, 1000)
- PtLine(100, 100, 1000)
- PtLine(150, 100, 1000)
- PtLine(200, 100, 1000)
- PtLine(250, 100, 1000)
- PtLine(300, 100, 1000)
-};
+ #include "thermistortable_110.h"
#endif
#if ANY_THERMISTOR_IS(147) // Pt100 with 4k7 pullup
-const short temptable_147[][2] PROGMEM = {
- // only few values are needed as the curve is very flat
- PtLine( 0, 100, 4700)
- PtLine( 50, 100, 4700)
- PtLine(100, 100, 4700)
- PtLine(150, 100, 4700)
- PtLine(200, 100, 4700)
- PtLine(250, 100, 4700)
- PtLine(300, 100, 4700)
-};
+ #include "thermistortable_147.h"
#endif
#if ANY_THERMISTOR_IS(1010) // Pt1000 with 1k0 pullup
-const short temptable_1010[][2] PROGMEM = {
- PtLine( 0, 1000, 1000)
- PtLine( 25, 1000, 1000)
- PtLine( 50, 1000, 1000)
- PtLine( 75, 1000, 1000)
- PtLine(100, 1000, 1000)
- PtLine(125, 1000, 1000)
- PtLine(150, 1000, 1000)
- PtLine(175, 1000, 1000)
- PtLine(200, 1000, 1000)
- PtLine(225, 1000, 1000)
- PtLine(250, 1000, 1000)
- PtLine(275, 1000, 1000)
- PtLine(300, 1000, 1000)
-};
+ #include "thermistortable_1010.h"
#endif
#if ANY_THERMISTOR_IS(1047) // Pt1000 with 4k7 pullup
-const short temptable_1047[][2] PROGMEM = {
- // only few values are needed as the curve is very flat
- PtLine( 0, 1000, 4700)
- PtLine( 50, 1000, 4700)
- PtLine(100, 1000, 4700)
- PtLine(150, 1000, 4700)
- PtLine(200, 1000, 4700)
- PtLine(250, 1000, 4700)
- PtLine(300, 1000, 4700)
-};
+ #include "thermistortable_1047.h"
#endif
-
-#if ANY_THERMISTOR_IS(999) // User-defined table
- // Dummy Thermistor table.. It will ALWAYS read a fixed value.
- #ifndef DUMMY_THERMISTOR_999_VALUE
- #define DUMMY_THERMISTOR_999_VALUE 25
- #endif
- const short temptable_999[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE },
- { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE }
-};
+#if ANY_THERMISTOR_IS(998) // User-defined table 1
+ #include "thermistortable_998.h"
#endif
-
-#if ANY_THERMISTOR_IS(998) // User-defined table
- // Dummy Thermistor table.. It will ALWAYS read a fixed value.
- #ifndef DUMMY_THERMISTOR_998_VALUE
- #define DUMMY_THERMISTOR_998_VALUE 25
- #endif
- const short temptable_998[][2] PROGMEM = {
- { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE },
- { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE }
-};
+#if ANY_THERMISTOR_IS(999) // User-defined table 2
+ #include "thermistortable_999.h"
#endif
-
#define _TT_NAME(_N) temptable_ ## _N
#define TT_NAME(_N) _TT_NAME(_N)
#ifdef THERMISTORHEATER_0
#define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0)
#define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE)
+#elif defined(HEATER_0_USES_THERMISTOR)
+ #error "No heater 0 thermistor table specified"
#else
- #ifdef HEATER_0_USES_THERMISTOR
- #error "No heater 0 thermistor table specified"
- #else // HEATER_0_USES_THERMISTOR
- #define HEATER_0_TEMPTABLE NULL
- #define HEATER_0_TEMPTABLE_LEN 0
- #endif // HEATER_0_USES_THERMISTOR
+ #define HEATER_0_TEMPTABLE NULL
+ #define HEATER_0_TEMPTABLE_LEN 0
+#endif
+
+#ifdef THERMISTORHEATER_1
+ #define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1)
+ #define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE)
+#elif defined(HEATER_1_USES_THERMISTOR)
+ #error "No heater 1 thermistor table specified"
+#else
+ #define HEATER_1_TEMPTABLE NULL
+ #define HEATER_1_TEMPTABLE_LEN 0
#endif
-// Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
+#ifdef THERMISTORHEATER_2
+ #define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2)
+ #define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE)
+#elif defined(HEATER_2_USES_THERMISTOR)
+ #error "No heater 2 thermistor table specified"
+#else
+ #define HEATER_2_TEMPTABLE NULL
+ #define HEATER_2_TEMPTABLE_LEN 0
+#endif
+
+#ifdef THERMISTORHEATER_3
+ #define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3)
+ #define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE)
+#elif defined(HEATER_3_USES_THERMISTOR)
+ #error "No heater 3 thermistor table specified"
+#else
+ #define HEATER_3_TEMPTABLE NULL
+ #define HEATER_3_TEMPTABLE_LEN 0
+#endif
+
+#ifdef THERMISTORBED
+ #define BEDTEMPTABLE TT_NAME(THERMISTORBED)
+ #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE)
+#else
+ #ifdef BED_USES_THERMISTOR
+ #error "No bed thermistor table specified"
+ #endif
+#endif
+
+// Set the high and low raw values for the heaters
+// For thermistors the highest temperature results in the lowest ADC value
+// For thermocouples the highest temperature results in the highest ADC value
#ifndef HEATER_0_RAW_HI_TEMP
- #ifdef HEATER_0_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value
+ #ifdef HEATER_0_USES_THERMISTOR
#define HEATER_0_RAW_HI_TEMP 0
#define HEATER_0_RAW_LO_TEMP 16383
- #else // In case of an thermocouple the highest temperature results in the highest ADC value
+ #else
#define HEATER_0_RAW_HI_TEMP 16383
#define HEATER_0_RAW_LO_TEMP 0
#endif
#endif
-
-#ifdef THERMISTORHEATER_1
- #define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1)
- #define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE)
-#else
- #ifdef HEATER_1_USES_THERMISTOR
- #error "No heater 1 thermistor table specified"
- #else // HEATER_1_USES_THERMISTOR
- #define HEATER_1_TEMPTABLE NULL
- #define HEATER_1_TEMPTABLE_LEN 0
- #endif // HEATER_1_USES_THERMISTOR
-#endif
-
-// Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
#ifndef HEATER_1_RAW_HI_TEMP
- #ifdef HEATER_1_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value
+ #ifdef HEATER_1_USES_THERMISTOR
#define HEATER_1_RAW_HI_TEMP 0
#define HEATER_1_RAW_LO_TEMP 16383
- #else // In case of an thermocouple the highest temperature results in the highest ADC value
+ #else
#define HEATER_1_RAW_HI_TEMP 16383
#define HEATER_1_RAW_LO_TEMP 0
#endif
#endif
-
-#ifdef THERMISTORHEATER_2
- #define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2)
- #define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE)
-#else
- #ifdef HEATER_2_USES_THERMISTOR
- #error "No heater 2 thermistor table specified"
- #else // HEATER_2_USES_THERMISTOR
- #define HEATER_2_TEMPTABLE NULL
- #define HEATER_2_TEMPTABLE_LEN 0
- #endif // HEATER_2_USES_THERMISTOR
-#endif
-
-// Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
#ifndef HEATER_2_RAW_HI_TEMP
- #ifdef HEATER_2_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value
+ #ifdef HEATER_2_USES_THERMISTOR
#define HEATER_2_RAW_HI_TEMP 0
#define HEATER_2_RAW_LO_TEMP 16383
- #else // In case of an thermocouple the highest temperature results in the highest ADC value
+ #else
#define HEATER_2_RAW_HI_TEMP 16383
#define HEATER_2_RAW_LO_TEMP 0
#endif
#endif
-
-#ifdef THERMISTORHEATER_3
- #define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3)
- #define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE)
-#else
- #ifdef HEATER_3_USES_THERMISTOR
- #error "No heater 3 thermistor table specified"
- #else // HEATER_3_USES_THERMISTOR
- #define HEATER_3_TEMPTABLE NULL
- #define HEATER_3_TEMPTABLE_LEN 0
- #endif // HEATER_3_USES_THERMISTOR
-#endif
-
-// Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
#ifndef HEATER_3_RAW_HI_TEMP
- #ifdef HEATER_3_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value
+ #ifdef HEATER_3_USES_THERMISTOR
#define HEATER_3_RAW_HI_TEMP 0
#define HEATER_3_RAW_LO_TEMP 16383
- #else // In case of an thermocouple the highest temperature results in the highest ADC value
+ #else
#define HEATER_3_RAW_HI_TEMP 16383
#define HEATER_3_RAW_LO_TEMP 0
#endif
#endif
-
-#ifdef THERMISTORBED
- #define BEDTEMPTABLE TT_NAME(THERMISTORBED)
- #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE)
-#else
- #ifdef BED_USES_THERMISTOR
- #error "No bed thermistor table specified"
- #endif // BED_USES_THERMISTOR
-#endif
-
-// Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
#ifndef HEATER_BED_RAW_HI_TEMP
- #ifdef BED_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value
+ #ifdef BED_USES_THERMISTOR
#define HEATER_BED_RAW_HI_TEMP 0
#define HEATER_BED_RAW_LO_TEMP 16383
- #else // In case of an thermocouple the highest temperature results in the highest ADC value
+ #else
#define HEATER_BED_RAW_HI_TEMP 16383
#define HEATER_BED_RAW_LO_TEMP 0
#endif