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