From e12c8e5cac9a5e7aaa42aa9069023d4b9bc4f32d Mon Sep 17 00:00:00 2001
From: Scott Lahteine <sourcetree@thinkyhead.com>
Date: Mon, 19 Dec 2016 14:27:39 -0800
Subject: [PATCH 1/2] Split up thermistor tables

---
 Marlin/thermistortable_1.h    |   89 +++
 Marlin/thermistortable_10.h   |   56 ++
 Marlin/thermistortable_1010.h |   38 +
 Marlin/thermistortable_1047.h |   33 +
 Marlin/thermistortable_11.h   |   75 ++
 Marlin/thermistortable_110.h  |   33 +
 Marlin/thermistortable_12.h   |   55 ++
 Marlin/thermistortable_13.h   |   48 ++
 Marlin/thermistortable_147.h  |   33 +
 Marlin/thermistortable_2.h    |   61 ++
 Marlin/thermistortable_20.h   |   96 +++
 Marlin/thermistortable_3.h    |   53 ++
 Marlin/thermistortable_4.h    |   45 ++
 Marlin/thermistortable_5.h    |   60 ++
 Marlin/thermistortable_51.h   |   81 ++
 Marlin/thermistortable_52.h   |   60 ++
 Marlin/thermistortable_55.h   |   60 ++
 Marlin/thermistortable_6.h    |   63 ++
 Marlin/thermistortable_60.h   |  105 +++
 Marlin/thermistortable_66.h   |   52 ++
 Marlin/thermistortable_7.h    |   83 ++
 Marlin/thermistortable_70.h   |   86 +++
 Marlin/thermistortable_71.h   |  171 +++++
 Marlin/thermistortable_8.h    |   45 ++
 Marlin/thermistortable_9.h    |   56 ++
 Marlin/thermistortable_998.h  |   32 +
 Marlin/thermistortable_999.h  |   32 +
 Marlin/thermistortables.h     | 1358 ++++-----------------------------
 28 files changed, 1830 insertions(+), 1229 deletions(-)
 create mode 100644 Marlin/thermistortable_1.h
 create mode 100644 Marlin/thermistortable_10.h
 create mode 100644 Marlin/thermistortable_1010.h
 create mode 100644 Marlin/thermistortable_1047.h
 create mode 100644 Marlin/thermistortable_11.h
 create mode 100644 Marlin/thermistortable_110.h
 create mode 100644 Marlin/thermistortable_12.h
 create mode 100644 Marlin/thermistortable_13.h
 create mode 100644 Marlin/thermistortable_147.h
 create mode 100644 Marlin/thermistortable_2.h
 create mode 100644 Marlin/thermistortable_20.h
 create mode 100644 Marlin/thermistortable_3.h
 create mode 100644 Marlin/thermistortable_4.h
 create mode 100644 Marlin/thermistortable_5.h
 create mode 100644 Marlin/thermistortable_51.h
 create mode 100644 Marlin/thermistortable_52.h
 create mode 100644 Marlin/thermistortable_55.h
 create mode 100644 Marlin/thermistortable_6.h
 create mode 100644 Marlin/thermistortable_60.h
 create mode 100644 Marlin/thermistortable_66.h
 create mode 100644 Marlin/thermistortable_7.h
 create mode 100644 Marlin/thermistortable_70.h
 create mode 100644 Marlin/thermistortable_71.h
 create mode 100644 Marlin/thermistortable_8.h
 create mode 100644 Marlin/thermistortable_9.h
 create mode 100644 Marlin/thermistortable_998.h
 create mode 100644 Marlin/thermistortable_999.h

diff --git a/Marlin/thermistortable_1.h b/Marlin/thermistortable_1.h
new file mode 100644
index 00000000000..b1a91b5e5d7
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..a031648a9d6
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..79a557954e9
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..01997abc3a7
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..f0f2697359a
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..7a4c80df710
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..802c1d37d37
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..1269c35665a
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..7e4a3b6fb62
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..1b56faed9de
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+//
+// 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 00000000000..65f77cebdbc
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..0fc16d4bf73
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..83e60cd6adc
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..8bad71308f9
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..44f7142bbe6
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..bf4e6a9e8b2
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..76e43db6eee
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..d270b60d372
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..a1c2645b9e8
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..b23961d10fb
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..3b4f63b7a62
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..70440590dae
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..9d90e87bb45
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..f1892bf8dd2
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..e3b0e7b464a
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..0e0be8c4289
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 00000000000..d98018bc4b9
--- /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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// 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 fee443a7363..36e5fe93bdc 100644
--- a/Marlin/thermistortables.h
+++ b/Marlin/thermistortables.h
@@ -30,1277 +30,139 @@
 
 #define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORBED == n)
 
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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
-};
-#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
-};
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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 }
-
-};
-#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
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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 }
-};
-#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}
-};
-#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 }
-};
-#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
-};
-#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(1) // 100k bed thermistor
+  #include "thermistortable_1.h"
+#endif
+#if ANY_THERMISTOR_IS(2) // 200k bed thermistor
+  #include "thermistortable_2.h"
+#endif
+#if ANY_THERMISTOR_IS(3) // mendel-parts
+  #include "thermistortable_3.h"
+#endif
+#if ANY_THERMISTOR_IS(4) // 10k thermistor
+  #include "thermistortable_4.h"
+#endif
+#if ANY_THERMISTOR_IS(5) // 100k ParCan thermistor (104GT-2)
+  #include "thermistortable_5.h"
+#endif
+#if ANY_THERMISTOR_IS(6) // 100k Epcos thermistor
+  #include "thermistortable_6.h"
+#endif
+#if ANY_THERMISTOR_IS(7) // 100k Honeywell 135-104LAG-J01
+  #include "thermistortable_7.h"
+#endif
+#if ANY_THERMISTOR_IS(71) // 100k Honeywell 135-104LAF-J01
+  #include "thermistortable_71.h"
+#endif
+#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)
+  #include "thermistortable_9.h"
+#endif
+#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
+  #include "thermistortable_11.h"
+#endif
+#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
+  #include "thermistortable_20.h"
+#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!)
+  #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!)
+  #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!)
+  #include "thermistortable_53.h"
+#endif
+#if ANY_THERMISTOR_IS(60) // Maker's Tool Works Kapton Bed Thermistor
+  #include "thermistortable_60.h"
+#endif
+#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)
+  #include "thermistortable_12.h"
+#endif
+#if ANY_THERMISTOR_IS(70) // bqh2 stock thermistor
+  #include "thermistortable_70.h"
+#endif
 #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
-#endif
-
-// Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
-#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
-    #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
-    #define HEATER_0_RAW_HI_TEMP 16383
-    #define HEATER_0_RAW_LO_TEMP 0
-  #endif
+  #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
-  #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
-    #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
-    #define HEATER_1_RAW_HI_TEMP 16383
-    #define HEATER_1_RAW_LO_TEMP 0
-  #endif
+  #define HEATER_1_TEMPTABLE NULL
+  #define HEATER_1_TEMPTABLE_LEN 0
 #endif
 
 #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
-  #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
-    #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
-    #define HEATER_2_RAW_HI_TEMP 16383
-    #define HEATER_2_RAW_LO_TEMP 0
-  #endif
+  #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
-  #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
-    #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
-    #define HEATER_3_RAW_HI_TEMP 16383
-    #define HEATER_3_RAW_LO_TEMP 0
-  #endif
+  #define HEATER_3_TEMPTABLE NULL
+  #define HEATER_3_TEMPTABLE_LEN 0
 #endif
 
 #ifdef THERMISTORBED
@@ -1309,15 +171,53 @@ const short temptable_1047[][2] PROGMEM = {
 #else
   #ifdef BED_USES_THERMISTOR
     #error "No bed thermistor table specified"
-  #endif // BED_USES_THERMISTOR
+  #endif
 #endif
 
-// Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
+// 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
+    #define HEATER_0_RAW_HI_TEMP 0
+    #define HEATER_0_RAW_LO_TEMP 16383
+  #else
+    #define HEATER_0_RAW_HI_TEMP 16383
+    #define HEATER_0_RAW_LO_TEMP 0
+  #endif
+#endif
+#ifndef HEATER_1_RAW_HI_TEMP
+  #ifdef HEATER_1_USES_THERMISTOR
+    #define HEATER_1_RAW_HI_TEMP 0
+    #define HEATER_1_RAW_LO_TEMP 16383
+  #else
+    #define HEATER_1_RAW_HI_TEMP 16383
+    #define HEATER_1_RAW_LO_TEMP 0
+  #endif
+#endif
+#ifndef HEATER_2_RAW_HI_TEMP
+  #ifdef HEATER_2_USES_THERMISTOR
+    #define HEATER_2_RAW_HI_TEMP 0
+    #define HEATER_2_RAW_LO_TEMP 16383
+  #else
+    #define HEATER_2_RAW_HI_TEMP 16383
+    #define HEATER_2_RAW_LO_TEMP 0
+  #endif
+#endif
+#ifndef HEATER_3_RAW_HI_TEMP
+  #ifdef HEATER_3_USES_THERMISTOR
+    #define HEATER_3_RAW_HI_TEMP 0
+    #define HEATER_3_RAW_LO_TEMP 16383
+  #else
+    #define HEATER_3_RAW_HI_TEMP 16383
+    #define HEATER_3_RAW_LO_TEMP 0
+  #endif
+#endif
 #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

From 89862257520cde1baa5a1e4c7e336d3f5edfa129 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <sourcetree@thinkyhead.com>
Date: Mon, 19 Dec 2016 14:52:45 -0800
Subject: [PATCH 2/2] Spacing, cleanup in speed_lookuptable.h

---
 Marlin/speed_lookuptable.h | 274 ++++++++++++++++++-------------------
 1 file changed, 137 insertions(+), 137 deletions(-)

diff --git a/Marlin/speed_lookuptable.h b/Marlin/speed_lookuptable.h
index 08cc4839a1b..f29199b7328 100644
--- a/Marlin/speed_lookuptable.h
+++ b/Marlin/speed_lookuptable.h
@@ -27,148 +27,148 @@
 
 #if F_CPU == 16000000
 
-const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {\
-  { 62500, 55556}, { 6944, 3268}, { 3676, 1176}, { 2500, 607}, { 1893, 369}, { 1524, 249}, { 1275, 179}, { 1096, 135},
-  { 961, 105}, { 856, 85}, { 771, 69}, { 702, 58}, { 644, 49}, { 595, 42}, { 553, 37}, { 516, 32},
-  { 484, 28}, { 456, 25}, { 431, 23}, { 408, 20}, { 388, 19}, { 369, 16}, { 353, 16}, { 337, 14},
-  { 323, 13}, { 310, 11}, { 299, 11}, { 288, 11}, { 277, 9}, { 268, 9}, { 259, 8}, { 251, 8},
-  { 243, 8}, { 235, 7}, { 228, 6}, { 222, 6}, { 216, 6}, { 210, 6}, { 204, 5}, { 199, 5},
-  { 194, 5}, { 189, 4}, { 185, 4}, { 181, 4}, { 177, 4}, { 173, 4}, { 169, 4}, { 165, 3},
-  { 162, 3}, { 159, 4}, { 155, 3}, { 152, 3}, { 149, 2}, { 147, 3}, { 144, 3}, { 141, 2},
-  { 139, 3}, { 136, 2}, { 134, 2}, { 132, 3}, { 129, 2}, { 127, 2}, { 125, 2}, { 123, 2},
-  { 121, 2}, { 119, 1}, { 118, 2}, { 116, 2}, { 114, 1}, { 113, 2}, { 111, 2}, { 109, 1},
-  { 108, 2}, { 106, 1}, { 105, 2}, { 103, 1}, { 102, 1}, { 101, 1}, { 100, 2}, { 98, 1},
-  { 97, 1}, { 96, 1}, { 95, 2}, { 93, 1}, { 92, 1}, { 91, 1}, { 90, 1}, { 89, 1},
-  { 88, 1}, { 87, 1}, { 86, 1}, { 85, 1}, { 84, 1}, { 83, 0}, { 83, 1}, { 82, 1},
-  { 81, 1}, { 80, 1}, { 79, 1}, { 78, 0}, { 78, 1}, { 77, 1}, { 76, 1}, { 75, 0},
-  { 75, 1}, { 74, 1}, { 73, 1}, { 72, 0}, { 72, 1}, { 71, 1}, { 70, 0}, { 70, 1},
-  { 69, 0}, { 69, 1}, { 68, 1}, { 67, 0}, { 67, 1}, { 66, 0}, { 66, 1}, { 65, 0},
-  { 65, 1}, { 64, 1}, { 63, 0}, { 63, 1}, { 62, 0}, { 62, 1}, { 61, 0}, { 61, 1},
-  { 60, 0}, { 60, 0}, { 60, 1}, { 59, 0}, { 59, 1}, { 58, 0}, { 58, 1}, { 57, 0},
-  { 57, 1}, { 56, 0}, { 56, 0}, { 56, 1}, { 55, 0}, { 55, 1}, { 54, 0}, { 54, 0},
-  { 54, 1}, { 53, 0}, { 53, 0}, { 53, 1}, { 52, 0}, { 52, 0}, { 52, 1}, { 51, 0},
-  { 51, 0}, { 51, 1}, { 50, 0}, { 50, 0}, { 50, 1}, { 49, 0}, { 49, 0}, { 49, 1},
-  { 48, 0}, { 48, 0}, { 48, 1}, { 47, 0}, { 47, 0}, { 47, 0}, { 47, 1}, { 46, 0},
-  { 46, 0}, { 46, 1}, { 45, 0}, { 45, 0}, { 45, 0}, { 45, 1}, { 44, 0}, { 44, 0},
-  { 44, 0}, { 44, 1}, { 43, 0}, { 43, 0}, { 43, 0}, { 43, 1}, { 42, 0}, { 42, 0},
-  { 42, 0}, { 42, 1}, { 41, 0}, { 41, 0}, { 41, 0}, { 41, 0}, { 41, 1}, { 40, 0},
-  { 40, 0}, { 40, 0}, { 40, 0}, { 40, 1}, { 39, 0}, { 39, 0}, { 39, 0}, { 39, 0},
-  { 39, 1}, { 38, 0}, { 38, 0}, { 38, 0}, { 38, 0}, { 38, 1}, { 37, 0}, { 37, 0},
-  { 37, 0}, { 37, 0}, { 37, 0}, { 37, 1}, { 36, 0}, { 36, 0}, { 36, 0}, { 36, 0},
-  { 36, 1}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 1},
-  { 34, 0}, { 34, 0}, { 34, 0}, { 34, 0}, { 34, 0}, { 34, 1}, { 33, 0}, { 33, 0},
-  { 33, 0}, { 33, 0}, { 33, 0}, { 33, 0}, { 33, 1}, { 32, 0}, { 32, 0}, { 32, 0},
-  { 32, 0}, { 32, 0}, { 32, 0}, { 32, 0}, { 32, 1}, { 31, 0}, { 31, 0}, { 31, 0},
-  { 31, 0}, { 31, 0}, { 31, 0}, { 31, 1}, { 30, 0}, { 30, 0}, { 30, 0}, { 30, 0}
-};
+  const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {
+    { 62500, 55556}, { 6944, 3268}, { 3676, 1176}, { 2500, 607}, { 1893, 369}, { 1524, 249}, { 1275, 179}, { 1096, 135},
+    { 961, 105}, { 856, 85}, { 771, 69}, { 702, 58}, { 644, 49}, { 595, 42}, { 553, 37}, { 516, 32},
+    { 484, 28}, { 456, 25}, { 431, 23}, { 408, 20}, { 388, 19}, { 369, 16}, { 353, 16}, { 337, 14},
+    { 323, 13}, { 310, 11}, { 299, 11}, { 288, 11}, { 277, 9}, { 268, 9}, { 259, 8}, { 251, 8},
+    { 243, 8}, { 235, 7}, { 228, 6}, { 222, 6}, { 216, 6}, { 210, 6}, { 204, 5}, { 199, 5},
+    { 194, 5}, { 189, 4}, { 185, 4}, { 181, 4}, { 177, 4}, { 173, 4}, { 169, 4}, { 165, 3},
+    { 162, 3}, { 159, 4}, { 155, 3}, { 152, 3}, { 149, 2}, { 147, 3}, { 144, 3}, { 141, 2},
+    { 139, 3}, { 136, 2}, { 134, 2}, { 132, 3}, { 129, 2}, { 127, 2}, { 125, 2}, { 123, 2},
+    { 121, 2}, { 119, 1}, { 118, 2}, { 116, 2}, { 114, 1}, { 113, 2}, { 111, 2}, { 109, 1},
+    { 108, 2}, { 106, 1}, { 105, 2}, { 103, 1}, { 102, 1}, { 101, 1}, { 100, 2}, { 98, 1},
+    { 97, 1}, { 96, 1}, { 95, 2}, { 93, 1}, { 92, 1}, { 91, 1}, { 90, 1}, { 89, 1},
+    { 88, 1}, { 87, 1}, { 86, 1}, { 85, 1}, { 84, 1}, { 83, 0}, { 83, 1}, { 82, 1},
+    { 81, 1}, { 80, 1}, { 79, 1}, { 78, 0}, { 78, 1}, { 77, 1}, { 76, 1}, { 75, 0},
+    { 75, 1}, { 74, 1}, { 73, 1}, { 72, 0}, { 72, 1}, { 71, 1}, { 70, 0}, { 70, 1},
+    { 69, 0}, { 69, 1}, { 68, 1}, { 67, 0}, { 67, 1}, { 66, 0}, { 66, 1}, { 65, 0},
+    { 65, 1}, { 64, 1}, { 63, 0}, { 63, 1}, { 62, 0}, { 62, 1}, { 61, 0}, { 61, 1},
+    { 60, 0}, { 60, 0}, { 60, 1}, { 59, 0}, { 59, 1}, { 58, 0}, { 58, 1}, { 57, 0},
+    { 57, 1}, { 56, 0}, { 56, 0}, { 56, 1}, { 55, 0}, { 55, 1}, { 54, 0}, { 54, 0},
+    { 54, 1}, { 53, 0}, { 53, 0}, { 53, 1}, { 52, 0}, { 52, 0}, { 52, 1}, { 51, 0},
+    { 51, 0}, { 51, 1}, { 50, 0}, { 50, 0}, { 50, 1}, { 49, 0}, { 49, 0}, { 49, 1},
+    { 48, 0}, { 48, 0}, { 48, 1}, { 47, 0}, { 47, 0}, { 47, 0}, { 47, 1}, { 46, 0},
+    { 46, 0}, { 46, 1}, { 45, 0}, { 45, 0}, { 45, 0}, { 45, 1}, { 44, 0}, { 44, 0},
+    { 44, 0}, { 44, 1}, { 43, 0}, { 43, 0}, { 43, 0}, { 43, 1}, { 42, 0}, { 42, 0},
+    { 42, 0}, { 42, 1}, { 41, 0}, { 41, 0}, { 41, 0}, { 41, 0}, { 41, 1}, { 40, 0},
+    { 40, 0}, { 40, 0}, { 40, 0}, { 40, 1}, { 39, 0}, { 39, 0}, { 39, 0}, { 39, 0},
+    { 39, 1}, { 38, 0}, { 38, 0}, { 38, 0}, { 38, 0}, { 38, 1}, { 37, 0}, { 37, 0},
+    { 37, 0}, { 37, 0}, { 37, 0}, { 37, 1}, { 36, 0}, { 36, 0}, { 36, 0}, { 36, 0},
+    { 36, 1}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 1},
+    { 34, 0}, { 34, 0}, { 34, 0}, { 34, 0}, { 34, 0}, { 34, 1}, { 33, 0}, { 33, 0},
+    { 33, 0}, { 33, 0}, { 33, 0}, { 33, 0}, { 33, 1}, { 32, 0}, { 32, 0}, { 32, 0},
+    { 32, 0}, { 32, 0}, { 32, 0}, { 32, 0}, { 32, 1}, { 31, 0}, { 31, 0}, { 31, 0},
+    { 31, 0}, { 31, 0}, { 31, 0}, { 31, 1}, { 30, 0}, { 30, 0}, { 30, 0}, { 30, 0}
+  };
 
-const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {\
-  { 62500, 12500}, { 50000, 8334}, { 41666, 5952}, { 35714, 4464}, { 31250, 3473}, { 27777, 2777}, { 25000, 2273}, { 22727, 1894},
-  { 20833, 1603}, { 19230, 1373}, { 17857, 1191}, { 16666, 1041}, { 15625, 920}, { 14705, 817}, { 13888, 731}, { 13157, 657},
-  { 12500, 596}, { 11904, 541}, { 11363, 494}, { 10869, 453}, { 10416, 416}, { 10000, 385}, { 9615, 356}, { 9259, 331},
-  { 8928, 308}, { 8620, 287}, { 8333, 269}, { 8064, 252}, { 7812, 237}, { 7575, 223}, { 7352, 210}, { 7142, 198},
-  { 6944, 188}, { 6756, 178}, { 6578, 168}, { 6410, 160}, { 6250, 153}, { 6097, 145}, { 5952, 139}, { 5813, 132},
-  { 5681, 126}, { 5555, 121}, { 5434, 115}, { 5319, 111}, { 5208, 106}, { 5102, 102}, { 5000, 99}, { 4901, 94},
-  { 4807, 91}, { 4716, 87}, { 4629, 84}, { 4545, 81}, { 4464, 79}, { 4385, 75}, { 4310, 73}, { 4237, 71},
-  { 4166, 68}, { 4098, 66}, { 4032, 64}, { 3968, 62}, { 3906, 60}, { 3846, 59}, { 3787, 56}, { 3731, 55},
-  { 3676, 53}, { 3623, 52}, { 3571, 50}, { 3521, 49}, { 3472, 48}, { 3424, 46}, { 3378, 45}, { 3333, 44},
-  { 3289, 43}, { 3246, 41}, { 3205, 41}, { 3164, 39}, { 3125, 39}, { 3086, 38}, { 3048, 36}, { 3012, 36},
-  { 2976, 35}, { 2941, 35}, { 2906, 33}, { 2873, 33}, { 2840, 32}, { 2808, 31}, { 2777, 30}, { 2747, 30},
-  { 2717, 29}, { 2688, 29}, { 2659, 28}, { 2631, 27}, { 2604, 27}, { 2577, 26}, { 2551, 26}, { 2525, 25},
-  { 2500, 25}, { 2475, 25}, { 2450, 23}, { 2427, 24}, { 2403, 23}, { 2380, 22}, { 2358, 22}, { 2336, 22},
-  { 2314, 21}, { 2293, 21}, { 2272, 20}, { 2252, 20}, { 2232, 20}, { 2212, 20}, { 2192, 19}, { 2173, 18},
-  { 2155, 19}, { 2136, 18}, { 2118, 18}, { 2100, 17}, { 2083, 17}, { 2066, 17}, { 2049, 17}, { 2032, 16},
-  { 2016, 16}, { 2000, 16}, { 1984, 16}, { 1968, 15}, { 1953, 16}, { 1937, 14}, { 1923, 15}, { 1908, 15},
-  { 1893, 14}, { 1879, 14}, { 1865, 14}, { 1851, 13}, { 1838, 14}, { 1824, 13}, { 1811, 13}, { 1798, 13},
-  { 1785, 12}, { 1773, 13}, { 1760, 12}, { 1748, 12}, { 1736, 12}, { 1724, 12}, { 1712, 12}, { 1700, 11},
-  { 1689, 12}, { 1677, 11}, { 1666, 11}, { 1655, 11}, { 1644, 11}, { 1633, 10}, { 1623, 11}, { 1612, 10},
-  { 1602, 10}, { 1592, 10}, { 1582, 10}, { 1572, 10}, { 1562, 10}, { 1552, 9}, { 1543, 10}, { 1533, 9},
-  { 1524, 9}, { 1515, 9}, { 1506, 9}, { 1497, 9}, { 1488, 9}, { 1479, 9}, { 1470, 9}, { 1461, 8},
-  { 1453, 8}, { 1445, 9}, { 1436, 8}, { 1428, 8}, { 1420, 8}, { 1412, 8}, { 1404, 8}, { 1396, 8},
-  { 1388, 7}, { 1381, 8}, { 1373, 7}, { 1366, 8}, { 1358, 7}, { 1351, 7}, { 1344, 8}, { 1336, 7},
-  { 1329, 7}, { 1322, 7}, { 1315, 7}, { 1308, 6}, { 1302, 7}, { 1295, 7}, { 1288, 6}, { 1282, 7},
-  { 1275, 6}, { 1269, 7}, { 1262, 6}, { 1256, 6}, { 1250, 7}, { 1243, 6}, { 1237, 6}, { 1231, 6},
-  { 1225, 6}, { 1219, 6}, { 1213, 6}, { 1207, 6}, { 1201, 5}, { 1196, 6}, { 1190, 6}, { 1184, 5},
-  { 1179, 6}, { 1173, 5}, { 1168, 6}, { 1162, 5}, { 1157, 5}, { 1152, 6}, { 1146, 5}, { 1141, 5},
-  { 1136, 5}, { 1131, 5}, { 1126, 5}, { 1121, 5}, { 1116, 5}, { 1111, 5}, { 1106, 5}, { 1101, 5},
-  { 1096, 5}, { 1091, 5}, { 1086, 4}, { 1082, 5}, { 1077, 5}, { 1072, 4}, { 1068, 5}, { 1063, 4},
-  { 1059, 5}, { 1054, 4}, { 1050, 4}, { 1046, 5}, { 1041, 4}, { 1037, 4}, { 1033, 5}, { 1028, 4},
-  { 1024, 4}, { 1020, 4}, { 1016, 4}, { 1012, 4}, { 1008, 4}, { 1004, 4}, { 1000, 4}, { 996, 4},
-  { 992, 4}, { 988, 4}, { 984, 4}, { 980, 4}, { 976, 4}, { 972, 4}, { 968, 3}, { 965, 3}
-};
+  const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {
+    { 62500, 12500}, { 50000, 8334}, { 41666, 5952}, { 35714, 4464}, { 31250, 3473}, { 27777, 2777}, { 25000, 2273}, { 22727, 1894},
+    { 20833, 1603}, { 19230, 1373}, { 17857, 1191}, { 16666, 1041}, { 15625, 920}, { 14705, 817}, { 13888, 731}, { 13157, 657},
+    { 12500, 596}, { 11904, 541}, { 11363, 494}, { 10869, 453}, { 10416, 416}, { 10000, 385}, { 9615, 356}, { 9259, 331},
+    { 8928, 308}, { 8620, 287}, { 8333, 269}, { 8064, 252}, { 7812, 237}, { 7575, 223}, { 7352, 210}, { 7142, 198},
+    { 6944, 188}, { 6756, 178}, { 6578, 168}, { 6410, 160}, { 6250, 153}, { 6097, 145}, { 5952, 139}, { 5813, 132},
+    { 5681, 126}, { 5555, 121}, { 5434, 115}, { 5319, 111}, { 5208, 106}, { 5102, 102}, { 5000, 99}, { 4901, 94},
+    { 4807, 91}, { 4716, 87}, { 4629, 84}, { 4545, 81}, { 4464, 79}, { 4385, 75}, { 4310, 73}, { 4237, 71},
+    { 4166, 68}, { 4098, 66}, { 4032, 64}, { 3968, 62}, { 3906, 60}, { 3846, 59}, { 3787, 56}, { 3731, 55},
+    { 3676, 53}, { 3623, 52}, { 3571, 50}, { 3521, 49}, { 3472, 48}, { 3424, 46}, { 3378, 45}, { 3333, 44},
+    { 3289, 43}, { 3246, 41}, { 3205, 41}, { 3164, 39}, { 3125, 39}, { 3086, 38}, { 3048, 36}, { 3012, 36},
+    { 2976, 35}, { 2941, 35}, { 2906, 33}, { 2873, 33}, { 2840, 32}, { 2808, 31}, { 2777, 30}, { 2747, 30},
+    { 2717, 29}, { 2688, 29}, { 2659, 28}, { 2631, 27}, { 2604, 27}, { 2577, 26}, { 2551, 26}, { 2525, 25},
+    { 2500, 25}, { 2475, 25}, { 2450, 23}, { 2427, 24}, { 2403, 23}, { 2380, 22}, { 2358, 22}, { 2336, 22},
+    { 2314, 21}, { 2293, 21}, { 2272, 20}, { 2252, 20}, { 2232, 20}, { 2212, 20}, { 2192, 19}, { 2173, 18},
+    { 2155, 19}, { 2136, 18}, { 2118, 18}, { 2100, 17}, { 2083, 17}, { 2066, 17}, { 2049, 17}, { 2032, 16},
+    { 2016, 16}, { 2000, 16}, { 1984, 16}, { 1968, 15}, { 1953, 16}, { 1937, 14}, { 1923, 15}, { 1908, 15},
+    { 1893, 14}, { 1879, 14}, { 1865, 14}, { 1851, 13}, { 1838, 14}, { 1824, 13}, { 1811, 13}, { 1798, 13},
+    { 1785, 12}, { 1773, 13}, { 1760, 12}, { 1748, 12}, { 1736, 12}, { 1724, 12}, { 1712, 12}, { 1700, 11},
+    { 1689, 12}, { 1677, 11}, { 1666, 11}, { 1655, 11}, { 1644, 11}, { 1633, 10}, { 1623, 11}, { 1612, 10},
+    { 1602, 10}, { 1592, 10}, { 1582, 10}, { 1572, 10}, { 1562, 10}, { 1552, 9}, { 1543, 10}, { 1533, 9},
+    { 1524, 9}, { 1515, 9}, { 1506, 9}, { 1497, 9}, { 1488, 9}, { 1479, 9}, { 1470, 9}, { 1461, 8},
+    { 1453, 8}, { 1445, 9}, { 1436, 8}, { 1428, 8}, { 1420, 8}, { 1412, 8}, { 1404, 8}, { 1396, 8},
+    { 1388, 7}, { 1381, 8}, { 1373, 7}, { 1366, 8}, { 1358, 7}, { 1351, 7}, { 1344, 8}, { 1336, 7},
+    { 1329, 7}, { 1322, 7}, { 1315, 7}, { 1308, 6}, { 1302, 7}, { 1295, 7}, { 1288, 6}, { 1282, 7},
+    { 1275, 6}, { 1269, 7}, { 1262, 6}, { 1256, 6}, { 1250, 7}, { 1243, 6}, { 1237, 6}, { 1231, 6},
+    { 1225, 6}, { 1219, 6}, { 1213, 6}, { 1207, 6}, { 1201, 5}, { 1196, 6}, { 1190, 6}, { 1184, 5},
+    { 1179, 6}, { 1173, 5}, { 1168, 6}, { 1162, 5}, { 1157, 5}, { 1152, 6}, { 1146, 5}, { 1141, 5},
+    { 1136, 5}, { 1131, 5}, { 1126, 5}, { 1121, 5}, { 1116, 5}, { 1111, 5}, { 1106, 5}, { 1101, 5},
+    { 1096, 5}, { 1091, 5}, { 1086, 4}, { 1082, 5}, { 1077, 5}, { 1072, 4}, { 1068, 5}, { 1063, 4},
+    { 1059, 5}, { 1054, 4}, { 1050, 4}, { 1046, 5}, { 1041, 4}, { 1037, 4}, { 1033, 5}, { 1028, 4},
+    { 1024, 4}, { 1020, 4}, { 1016, 4}, { 1012, 4}, { 1008, 4}, { 1004, 4}, { 1000, 4}, { 996, 4},
+    { 992, 4}, { 988, 4}, { 984, 4}, { 980, 4}, { 976, 4}, { 972, 4}, { 968, 3}, { 965, 3}
+  };
 
 #elif F_CPU == 20000000
 
-const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {
-  {62500, 54055}, {8445, 3917}, {4528, 1434}, {3094, 745}, {2349, 456}, {1893, 307}, {1586, 222}, {1364, 167},
-  {1197, 131}, {1066, 105}, {961, 86}, {875, 72}, {803, 61}, {742, 53}, {689, 45}, {644, 40},
-  {604, 35}, {569, 32}, {537, 28}, {509, 25}, {484, 23}, {461, 21}, {440, 19}, {421, 17},
-  {404, 16}, {388, 15}, {373, 14}, {359, 13}, {346, 12}, {334, 11}, {323, 10}, {313, 10},
-  {303, 9}, {294, 9}, {285, 8}, {277, 7}, {270, 8}, {262, 7}, {255, 6}, {249, 6},
-  {243, 6}, {237, 6}, {231, 5}, {226, 5}, {221, 5}, {216, 5}, {211, 4}, {207, 5},
-  {202, 4}, {198, 4}, {194, 4}, {190, 3}, {187, 4}, {183, 3}, {180, 3}, {177, 4},
-  {173, 3}, {170, 3}, {167, 2}, {165, 3}, {162, 3}, {159, 2}, {157, 3}, {154, 2},
-  {152, 3}, {149, 2}, {147, 2}, {145, 2}, {143, 2}, {141, 2}, {139, 2}, {137, 2},
-  {135, 2}, {133, 2}, {131, 2}, {129, 1}, {128, 2}, {126, 2}, {124, 1}, {123, 2},
-  {121, 1}, {120, 2}, {118, 1}, {117, 1}, {116, 2}, {114, 1}, {113, 1}, {112, 2},
-  {110, 1}, {109, 1}, {108, 1}, {107, 2}, {105, 1}, {104, 1}, {103, 1}, {102, 1},
-  {101, 1}, {100, 1}, {99, 1}, {98, 1}, {97, 1}, {96, 1}, {95, 1}, {94, 1},
-  {93, 1}, {92, 1}, {91, 0}, {91, 1}, {90, 1}, {89, 1}, {88, 1}, {87, 0},
-  {87, 1}, {86, 1}, {85, 1}, {84, 0}, {84, 1}, {83, 1}, {82, 1}, {81, 0},
-  {81, 1}, {80, 1}, {79, 0}, {79, 1}, {78, 0}, {78, 1}, {77, 1}, {76, 0},
-  {76, 1}, {75, 0}, {75, 1}, {74, 1}, {73, 0}, {73, 1}, {72, 0}, {72, 1},
-  {71, 0}, {71, 1}, {70, 0}, {70, 1}, {69, 0}, {69, 1}, {68, 0}, {68, 1},
-  {67, 0}, {67, 1}, {66, 0}, {66, 1}, {65, 0}, {65, 0}, {65, 1}, {64, 0},
-  {64, 1}, {63, 0}, {63, 1}, {62, 0}, {62, 0}, {62, 1}, {61, 0}, {61, 1},
-  {60, 0}, {60, 0}, {60, 1}, {59, 0}, {59, 0}, {59, 1}, {58, 0}, {58, 0},
-  {58, 1}, {57, 0}, {57, 0}, {57, 1}, {56, 0}, {56, 0}, {56, 1}, {55, 0},
-  {55, 0}, {55, 1}, {54, 0}, {54, 0}, {54, 1}, {53, 0}, {53, 0}, {53, 0},
-  {53, 1}, {52, 0}, {52, 0}, {52, 1}, {51, 0}, {51, 0}, {51, 0}, {51, 1},
-  {50, 0}, {50, 0}, {50, 0}, {50, 1}, {49, 0}, {49, 0}, {49, 0}, {49, 1},
-  {48, 0}, {48, 0}, {48, 0}, {48, 1}, {47, 0}, {47, 0}, {47, 0}, {47, 1},
-  {46, 0}, {46, 0}, {46, 0}, {46, 0}, {46, 1}, {45, 0}, {45, 0}, {45, 0},
-  {45, 1}, {44, 0}, {44, 0}, {44, 0}, {44, 0}, {44, 1}, {43, 0}, {43, 0},
-  {43, 0}, {43, 0}, {43, 1}, {42, 0}, {42, 0}, {42, 0}, {42, 0}, {42, 0},
-  {42, 1}, {41, 0}, {41, 0}, {41, 0}, {41, 0}, {41, 0}, {41, 1}, {40, 0},
-  {40, 0}, {40, 0}, {40, 0}, {40, 1}, {39, 0}, {39, 0}, {39, 0}, {39, 0},
-  {39, 0}, {39, 0}, {39, 1}, {38, 0}, {38, 0}, {38, 0}, {38, 0}, {38, 0},
-};
+  const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {
+    {62500, 54055}, {8445, 3917}, {4528, 1434}, {3094, 745}, {2349, 456}, {1893, 307}, {1586, 222}, {1364, 167},
+    {1197, 131}, {1066, 105}, {961, 86}, {875, 72}, {803, 61}, {742, 53}, {689, 45}, {644, 40},
+    {604, 35}, {569, 32}, {537, 28}, {509, 25}, {484, 23}, {461, 21}, {440, 19}, {421, 17},
+    {404, 16}, {388, 15}, {373, 14}, {359, 13}, {346, 12}, {334, 11}, {323, 10}, {313, 10},
+    {303, 9}, {294, 9}, {285, 8}, {277, 7}, {270, 8}, {262, 7}, {255, 6}, {249, 6},
+    {243, 6}, {237, 6}, {231, 5}, {226, 5}, {221, 5}, {216, 5}, {211, 4}, {207, 5},
+    {202, 4}, {198, 4}, {194, 4}, {190, 3}, {187, 4}, {183, 3}, {180, 3}, {177, 4},
+    {173, 3}, {170, 3}, {167, 2}, {165, 3}, {162, 3}, {159, 2}, {157, 3}, {154, 2},
+    {152, 3}, {149, 2}, {147, 2}, {145, 2}, {143, 2}, {141, 2}, {139, 2}, {137, 2},
+    {135, 2}, {133, 2}, {131, 2}, {129, 1}, {128, 2}, {126, 2}, {124, 1}, {123, 2},
+    {121, 1}, {120, 2}, {118, 1}, {117, 1}, {116, 2}, {114, 1}, {113, 1}, {112, 2},
+    {110, 1}, {109, 1}, {108, 1}, {107, 2}, {105, 1}, {104, 1}, {103, 1}, {102, 1},
+    {101, 1}, {100, 1}, {99, 1}, {98, 1}, {97, 1}, {96, 1}, {95, 1}, {94, 1},
+    {93, 1}, {92, 1}, {91, 0}, {91, 1}, {90, 1}, {89, 1}, {88, 1}, {87, 0},
+    {87, 1}, {86, 1}, {85, 1}, {84, 0}, {84, 1}, {83, 1}, {82, 1}, {81, 0},
+    {81, 1}, {80, 1}, {79, 0}, {79, 1}, {78, 0}, {78, 1}, {77, 1}, {76, 0},
+    {76, 1}, {75, 0}, {75, 1}, {74, 1}, {73, 0}, {73, 1}, {72, 0}, {72, 1},
+    {71, 0}, {71, 1}, {70, 0}, {70, 1}, {69, 0}, {69, 1}, {68, 0}, {68, 1},
+    {67, 0}, {67, 1}, {66, 0}, {66, 1}, {65, 0}, {65, 0}, {65, 1}, {64, 0},
+    {64, 1}, {63, 0}, {63, 1}, {62, 0}, {62, 0}, {62, 1}, {61, 0}, {61, 1},
+    {60, 0}, {60, 0}, {60, 1}, {59, 0}, {59, 0}, {59, 1}, {58, 0}, {58, 0},
+    {58, 1}, {57, 0}, {57, 0}, {57, 1}, {56, 0}, {56, 0}, {56, 1}, {55, 0},
+    {55, 0}, {55, 1}, {54, 0}, {54, 0}, {54, 1}, {53, 0}, {53, 0}, {53, 0},
+    {53, 1}, {52, 0}, {52, 0}, {52, 1}, {51, 0}, {51, 0}, {51, 0}, {51, 1},
+    {50, 0}, {50, 0}, {50, 0}, {50, 1}, {49, 0}, {49, 0}, {49, 0}, {49, 1},
+    {48, 0}, {48, 0}, {48, 0}, {48, 1}, {47, 0}, {47, 0}, {47, 0}, {47, 1},
+    {46, 0}, {46, 0}, {46, 0}, {46, 0}, {46, 1}, {45, 0}, {45, 0}, {45, 0},
+    {45, 1}, {44, 0}, {44, 0}, {44, 0}, {44, 0}, {44, 1}, {43, 0}, {43, 0},
+    {43, 0}, {43, 0}, {43, 1}, {42, 0}, {42, 0}, {42, 0}, {42, 0}, {42, 0},
+    {42, 1}, {41, 0}, {41, 0}, {41, 0}, {41, 0}, {41, 0}, {41, 1}, {40, 0},
+    {40, 0}, {40, 0}, {40, 0}, {40, 1}, {39, 0}, {39, 0}, {39, 0}, {39, 0},
+    {39, 0}, {39, 0}, {39, 1}, {38, 0}, {38, 0}, {38, 0}, {38, 0}, {38, 0},
+  };
 
-const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {
-  {62500, 10417}, {52083, 7441}, {44642, 5580}, {39062, 4340}, {34722, 3472}, {31250, 2841}, {28409, 2368}, {26041, 2003},
-  {24038, 1717}, {22321, 1488}, {20833, 1302}, {19531, 1149}, {18382, 1021}, {17361, 914}, {16447, 822}, {15625, 745},
-  {14880, 676}, {14204, 618}, {13586, 566}, {13020, 520}, {12500, 481}, {12019, 445}, {11574, 414}, {11160, 385},
-  {10775, 359}, {10416, 336}, {10080, 315}, {9765, 296}, {9469, 278}, {9191, 263}, {8928, 248}, {8680, 235},
-  {8445, 222}, {8223, 211}, {8012, 200}, {7812, 191}, {7621, 181}, {7440, 173}, {7267, 165}, {7102, 158},
-  {6944, 151}, {6793, 145}, {6648, 138}, {6510, 133}, {6377, 127}, {6250, 123}, {6127, 118}, {6009, 113},
-  {5896, 109}, {5787, 106}, {5681, 101}, {5580, 98}, {5482, 95}, {5387, 91}, {5296, 88}, {5208, 86},
-  {5122, 82}, {5040, 80}, {4960, 78}, {4882, 75}, {4807, 73}, {4734, 70}, {4664, 69}, {4595, 67},
-  {4528, 64}, {4464, 63}, {4401, 61}, {4340, 60}, {4280, 58}, {4222, 56}, {4166, 55}, {4111, 53},
-  {4058, 52}, {4006, 51}, {3955, 49}, {3906, 48}, {3858, 48}, {3810, 45}, {3765, 45}, {3720, 44},
-  {3676, 43}, {3633, 42}, {3591, 40}, {3551, 40}, {3511, 39}, {3472, 38}, {3434, 38}, {3396, 36},
-  {3360, 36}, {3324, 35}, {3289, 34}, {3255, 34}, {3221, 33}, {3188, 32}, {3156, 31}, {3125, 31},
-  {3094, 31}, {3063, 30}, {3033, 29}, {3004, 28}, {2976, 28}, {2948, 28}, {2920, 27}, {2893, 27},
-  {2866, 26}, {2840, 25}, {2815, 25}, {2790, 25}, {2765, 24}, {2741, 24}, {2717, 24}, {2693, 23},
-  {2670, 22}, {2648, 22}, {2626, 22}, {2604, 22}, {2582, 21}, {2561, 21}, {2540, 20}, {2520, 20},
-  {2500, 20}, {2480, 20}, {2460, 19}, {2441, 19}, {2422, 19}, {2403, 18}, {2385, 18}, {2367, 18},
-  {2349, 17}, {2332, 18}, {2314, 17}, {2297, 16}, {2281, 17}, {2264, 16}, {2248, 16}, {2232, 16},
-  {2216, 16}, {2200, 15}, {2185, 15}, {2170, 15}, {2155, 15}, {2140, 15}, {2125, 14}, {2111, 14},
-  {2097, 14}, {2083, 14}, {2069, 14}, {2055, 13}, {2042, 13}, {2029, 13}, {2016, 13}, {2003, 13},
-  {1990, 13}, {1977, 12}, {1965, 12}, {1953, 13}, {1940, 11}, {1929, 12}, {1917, 12}, {1905, 12},
-  {1893, 11}, {1882, 11}, {1871, 11}, {1860, 11}, {1849, 11}, {1838, 11}, {1827, 11}, {1816, 10},
-  {1806, 11}, {1795, 10}, {1785, 10}, {1775, 10}, {1765, 10}, {1755, 10}, {1745, 9}, {1736, 10},
-  {1726, 9}, {1717, 10}, {1707, 9}, {1698, 9}, {1689, 9}, {1680, 9}, {1671, 9}, {1662, 9},
-  {1653, 9}, {1644, 8}, {1636, 9}, {1627, 8}, {1619, 9}, {1610, 8}, {1602, 8}, {1594, 8},
-  {1586, 8}, {1578, 8}, {1570, 8}, {1562, 8}, {1554, 7}, {1547, 8}, {1539, 8}, {1531, 7},
-  {1524, 8}, {1516, 7}, {1509, 7}, {1502, 7}, {1495, 7}, {1488, 7}, {1481, 7}, {1474, 7},
-  {1467, 7}, {1460, 7}, {1453, 7}, {1446, 6}, {1440, 7}, {1433, 7}, {1426, 6}, {1420, 6},
-  {1414, 7}, {1407, 6}, {1401, 6}, {1395, 7}, {1388, 6}, {1382, 6}, {1376, 6}, {1370, 6},
-  {1364, 6}, {1358, 6}, {1352, 6}, {1346, 5}, {1341, 6}, {1335, 6}, {1329, 5}, {1324, 6},
-  {1318, 5}, {1313, 6}, {1307, 5}, {1302, 6}, {1296, 5}, {1291, 5}, {1286, 6}, {1280, 5},
-  {1275, 5}, {1270, 5}, {1265, 5}, {1260, 5}, {1255, 5}, {1250, 5}, {1245, 5}, {1240, 5},
-  {1235, 5}, {1230, 5}, {1225, 5}, {1220, 5}, {1215, 4}, {1211, 5}, {1206, 5}, {1201, 5},
-};
+  const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {
+    {62500, 10417}, {52083, 7441}, {44642, 5580}, {39062, 4340}, {34722, 3472}, {31250, 2841}, {28409, 2368}, {26041, 2003},
+    {24038, 1717}, {22321, 1488}, {20833, 1302}, {19531, 1149}, {18382, 1021}, {17361, 914}, {16447, 822}, {15625, 745},
+    {14880, 676}, {14204, 618}, {13586, 566}, {13020, 520}, {12500, 481}, {12019, 445}, {11574, 414}, {11160, 385},
+    {10775, 359}, {10416, 336}, {10080, 315}, {9765, 296}, {9469, 278}, {9191, 263}, {8928, 248}, {8680, 235},
+    {8445, 222}, {8223, 211}, {8012, 200}, {7812, 191}, {7621, 181}, {7440, 173}, {7267, 165}, {7102, 158},
+    {6944, 151}, {6793, 145}, {6648, 138}, {6510, 133}, {6377, 127}, {6250, 123}, {6127, 118}, {6009, 113},
+    {5896, 109}, {5787, 106}, {5681, 101}, {5580, 98}, {5482, 95}, {5387, 91}, {5296, 88}, {5208, 86},
+    {5122, 82}, {5040, 80}, {4960, 78}, {4882, 75}, {4807, 73}, {4734, 70}, {4664, 69}, {4595, 67},
+    {4528, 64}, {4464, 63}, {4401, 61}, {4340, 60}, {4280, 58}, {4222, 56}, {4166, 55}, {4111, 53},
+    {4058, 52}, {4006, 51}, {3955, 49}, {3906, 48}, {3858, 48}, {3810, 45}, {3765, 45}, {3720, 44},
+    {3676, 43}, {3633, 42}, {3591, 40}, {3551, 40}, {3511, 39}, {3472, 38}, {3434, 38}, {3396, 36},
+    {3360, 36}, {3324, 35}, {3289, 34}, {3255, 34}, {3221, 33}, {3188, 32}, {3156, 31}, {3125, 31},
+    {3094, 31}, {3063, 30}, {3033, 29}, {3004, 28}, {2976, 28}, {2948, 28}, {2920, 27}, {2893, 27},
+    {2866, 26}, {2840, 25}, {2815, 25}, {2790, 25}, {2765, 24}, {2741, 24}, {2717, 24}, {2693, 23},
+    {2670, 22}, {2648, 22}, {2626, 22}, {2604, 22}, {2582, 21}, {2561, 21}, {2540, 20}, {2520, 20},
+    {2500, 20}, {2480, 20}, {2460, 19}, {2441, 19}, {2422, 19}, {2403, 18}, {2385, 18}, {2367, 18},
+    {2349, 17}, {2332, 18}, {2314, 17}, {2297, 16}, {2281, 17}, {2264, 16}, {2248, 16}, {2232, 16},
+    {2216, 16}, {2200, 15}, {2185, 15}, {2170, 15}, {2155, 15}, {2140, 15}, {2125, 14}, {2111, 14},
+    {2097, 14}, {2083, 14}, {2069, 14}, {2055, 13}, {2042, 13}, {2029, 13}, {2016, 13}, {2003, 13},
+    {1990, 13}, {1977, 12}, {1965, 12}, {1953, 13}, {1940, 11}, {1929, 12}, {1917, 12}, {1905, 12},
+    {1893, 11}, {1882, 11}, {1871, 11}, {1860, 11}, {1849, 11}, {1838, 11}, {1827, 11}, {1816, 10},
+    {1806, 11}, {1795, 10}, {1785, 10}, {1775, 10}, {1765, 10}, {1755, 10}, {1745, 9}, {1736, 10},
+    {1726, 9}, {1717, 10}, {1707, 9}, {1698, 9}, {1689, 9}, {1680, 9}, {1671, 9}, {1662, 9},
+    {1653, 9}, {1644, 8}, {1636, 9}, {1627, 8}, {1619, 9}, {1610, 8}, {1602, 8}, {1594, 8},
+    {1586, 8}, {1578, 8}, {1570, 8}, {1562, 8}, {1554, 7}, {1547, 8}, {1539, 8}, {1531, 7},
+    {1524, 8}, {1516, 7}, {1509, 7}, {1502, 7}, {1495, 7}, {1488, 7}, {1481, 7}, {1474, 7},
+    {1467, 7}, {1460, 7}, {1453, 7}, {1446, 6}, {1440, 7}, {1433, 7}, {1426, 6}, {1420, 6},
+    {1414, 7}, {1407, 6}, {1401, 6}, {1395, 7}, {1388, 6}, {1382, 6}, {1376, 6}, {1370, 6},
+    {1364, 6}, {1358, 6}, {1352, 6}, {1346, 5}, {1341, 6}, {1335, 6}, {1329, 5}, {1324, 6},
+    {1318, 5}, {1313, 6}, {1307, 5}, {1302, 6}, {1296, 5}, {1291, 5}, {1286, 6}, {1280, 5},
+    {1275, 5}, {1270, 5}, {1265, 5}, {1260, 5}, {1255, 5}, {1250, 5}, {1245, 5}, {1240, 5},
+    {1235, 5}, {1230, 5}, {1225, 5}, {1220, 5}, {1215, 4}, {1211, 5}, {1206, 5}, {1201, 5},
+  };
 
 #endif
 
-#endif
+#endif // SPEED_LOOKUPTABLE_H