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