| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387 | #ifndef THERMISTORTABLES_H_#define THERMISTORTABLES_H_#include "Configuration_adv.h"#include <avr/pgmspace.h>#define OVERSAMPLENR 16#if (THERMISTORHEATER_0 == 1) || (THERMISTORHEATER_1 == 1)  || (THERMISTORHEATER_2 == 1) || (THERMISTORBED == 1) //100k bed thermistorconst 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       } //safety};#endif#if (THERMISTORHEATER_0 == 2) || (THERMISTORHEATER_1 == 2) || (THERMISTORHEATER_2 == 2) || (THERMISTORBED == 2) //200k bed thermistorconst short temptable_2[][2] PROGMEM = {//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   {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 (THERMISTORHEATER_0 == 3) || (THERMISTORHEATER_1 == 3) || (THERMISTORHEATER_2 == 3) || (THERMISTORBED == 3) //mendel-partsconst 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 (THERMISTORHEATER_0 == 4) || (THERMISTORHEATER_1 == 4) || (THERMISTORHEATER_2 == 4) || (THERMISTORBED == 4) //10k thermistorconst 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 (THERMISTORHEATER_0 == 5) || (THERMISTORHEATER_1 == 5) || (THERMISTORHEATER_2 == 5) || (THERMISTORBED == 5) //100k ParCan thermistor (104GT-2)const short temptable_5[][2] PROGMEM = {// 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   {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 (THERMISTORHEATER_0 == 6) || (THERMISTORHEATER_1 == 6) || (THERMISTORHEATER_2 == 6) || (THERMISTORBED == 6) // 100k Epcos thermistorconst 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 (THERMISTORHEATER_0 == 7) || (THERMISTORHEATER_1 == 7) || (THERMISTORHEATER_2 == 7) || (THERMISTORBED == 7) // 100k Honeywell 135-104LAG-J01const 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 (THERMISTORHEATER_0 == 71) || (THERMISTORHEATER_1 == 71) || (THERMISTORHEATER_2 == 71) || (THERMISTORBED == 71) // 100k Honeywell 135-104LAF-J01// R0 = 100000 Ohm// T0 = 25 °C// Beta = 3974// R1 = 0 Ohm// R2 = 4700 Ohmconst 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 (THERMISTORHEATER_0 == 8) || (THERMISTORHEATER_1 == 8) || (THERMISTORHEATER_2 == 8) || (THERMISTORBED == 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 (THERMISTORHEATER_0 == 9) || (THERMISTORHEATER_1 == 9) || (THERMISTORHEATER_2 == 9) || (THERMISTORBED == 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 (THERMISTORHEATER_0 == 10) || (THERMISTORHEATER_1 == 10) || (THERMISTORHEATER_2 == 10) || (THERMISTORBED == 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 (THERMISTORHEATER_0 == 11) || (THERMISTORHEATER_1 == 11) || (THERMISTORHEATER_2 == 11) || (THERMISTORBED == 11) // QU-BD silicone bed QWG-104F-3950 thermistorconst 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 (THERMISTORHEATER_0 == 13) || (THERMISTORHEATER_1 == 13) || (THERMISTORHEATER_2 == 13) || (THERMISTORBED == 13)// Hisens thermistor B25/50 =3950 +/-1%const short temptable_13[][2] PROGMEM = { {	22.5*OVERSAMPLENR,	300	},{	24.125*OVERSAMPLENR,	295	},{	25.875*OVERSAMPLENR,	290	},{	27.8125*OVERSAMPLENR,	285	},{	29.9375*OVERSAMPLENR,	280	},{	32.25*OVERSAMPLENR,	275	},{	34.8125*OVERSAMPLENR,	270	},{	37.625*OVERSAMPLENR,	265	},{	40.6875*OVERSAMPLENR,	260	},{	44.0625*OVERSAMPLENR,	255	},{	47.75*OVERSAMPLENR,	250	},{	51.8125*OVERSAMPLENR,	245	},{	56.3125*OVERSAMPLENR,	240	},{	61.25*OVERSAMPLENR,	235	},{	66.75*OVERSAMPLENR,	230	},{	72.8125*OVERSAMPLENR,	225	},{	79.5*OVERSAMPLENR,	220	},{	87*OVERSAMPLENR,	215	},{	95.3125*OVERSAMPLENR,	210	},{	104.1875*OVERSAMPLENR,	205	},{	112.75*OVERSAMPLENR,	200	},{	123.125*OVERSAMPLENR,	195	},{	135.75*OVERSAMPLENR,	190	},{	148.3125*OVERSAMPLENR,	185	},{	163.8125*OVERSAMPLENR,	180	},{	179*OVERSAMPLENR,	175	},{	211.125*OVERSAMPLENR,	170	},{	216.125*OVERSAMPLENR,	165	},{	236.5625*OVERSAMPLENR,	160	},{	258.5*OVERSAMPLENR,	155	},{	279.875*OVERSAMPLENR,	150	},{	305.375*OVERSAMPLENR,	145	},{	333.25*OVERSAMPLENR,	140	},{	362.5625*OVERSAMPLENR,	135	},{	393.6875*OVERSAMPLENR,	130	},{	425*OVERSAMPLENR,	125	},{	460.625*OVERSAMPLENR,	120	},{	495.1875*OVERSAMPLENR,	115	},{	530.875*OVERSAMPLENR,	110	},{	567.25*OVERSAMPLENR,	105	},{	601.625*OVERSAMPLENR,	100	},{	637.875*OVERSAMPLENR,	95	},{	674.5625*OVERSAMPLENR,	90	},{	710*OVERSAMPLENR,	85	},{	744.125*OVERSAMPLENR,	80	},{	775.9375*OVERSAMPLENR,	75	},{	806.875*OVERSAMPLENR,	70	},{	835.1875*OVERSAMPLENR,	65	},{	861.125*OVERSAMPLENR,	60	},{	884.375*OVERSAMPLENR,	55	},{	904.5625*OVERSAMPLENR,	50	},{	923.8125*OVERSAMPLENR,	45	},{	940.375*OVERSAMPLENR,	40	},{	954.625*OVERSAMPLENR,	35	},{	966.875*OVERSAMPLENR,	30	},{	977.0625*OVERSAMPLENR,	25	},{	986*OVERSAMPLENR,	20	},{	993.375*OVERSAMPLENR,	15	},{	999.5*OVERSAMPLENR,	10	},{	1004.5*OVERSAMPLENR,	5	},{	1008.5*OVERSAMPLENR,	0	} };#endif#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 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 (THERMISTORBED == 20)# define HEATER_BED_RAW_HI_TEMP 16383# define HEATER_BED_RAW_LO_TEMP 0#endifconst 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 (THERMISTORHEATER_0 == 51) || (THERMISTORHEATER_1 == 51) || (THERMISTORHEATER_2 == 51) || (THERMISTORBED == 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 200Cconst 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 (THERMISTORHEATER_0 == 52) || (THERMISTORHEATER_1 == 52) || (THERMISTORHEATER_2 == 52) || (THERMISTORBED == 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 200Cconst 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 (THERMISTORHEATER_0 == 55) || (THERMISTORHEATER_1 == 55) || (THERMISTORHEATER_2 == 55) || (THERMISTORBED == 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 200Cconst 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 (THERMISTORHEATER_0 == 60) || (THERMISTORHEATER_1 == 60) || (THERMISTORHEATER_2 == 60) || (THERMISTORBED == 60) // Maker's Tool Works Kapton Bed Thermister// ./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 Vconst 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 (THERMISTORBED == 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// 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 PtC -4.183E-12#define PtRt(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(T)*(T)))#define PtRtNew(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(T)*(T) + (T-100)*PtC*(T)*(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 (THERMISTORHEATER_0 == 110) || (THERMISTORHEATER_1 == 110) || (THERMISTORHEATER_2 == 110) || (THERMISTORBED == 110) // Pt100 with 1k0 pullupconst 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)};#endif#if (THERMISTORHEATER_0 == 147) || (THERMISTORHEATER_1 == 147) || (THERMISTORHEATER_2 == 147) || (THERMISTORBED == 147) // Pt100 with 4k7 pullupconst 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)};#endif// E3D Pt100 with 4k7 MiniRambo pullup, no Amp on the MiniRambo v1.3a#if (THERMISTORHEATER_0 == 148) || (THERMISTORHEATER_1 == 148) || (THERMISTORHEATER_2 == 148) || (THERMISTORBED == 148)const short temptable_148[][2] PROGMEM = {// These values have been calculated and tested over many days.  See https://docs.google.com/spreadsheets/d/1MJXa6feEe0mGVCT2TrBwLxVOMoLDkJlvfQ4JXhAdV_E// Values that are missing from the 5C gap are missing due to resolution limits.{19.00000 * OVERSAMPLENR,  0},{19.25000 * OVERSAMPLENR,  5},{19.50000 * OVERSAMPLENR, 10},{19.87500 * OVERSAMPLENR, 15},{20.25000 * OVERSAMPLENR, 20},{21.00000 * OVERSAMPLENR, 25},{21.75000 * OVERSAMPLENR, 35},{22.00000 * OVERSAMPLENR, 40},{23.00000 * OVERSAMPLENR, 50},  // 55C is more commonly used.{23.75000 * OVERSAMPLENR, 60},{24.00000 * OVERSAMPLENR, 65},{24.06250 * OVERSAMPLENR, 70},{25.00000 * OVERSAMPLENR, 75},{25.50000 * OVERSAMPLENR, 85},{26.00000 * OVERSAMPLENR, 90},{26.93750 * OVERSAMPLENR,100},{27.00000 * OVERSAMPLENR,105},{27.37500 * OVERSAMPLENR,110},{28.00000 * OVERSAMPLENR,115},{29.00000 * OVERSAMPLENR,125},{29.25000 * OVERSAMPLENR,135},{30.00000 * OVERSAMPLENR,140},{35.50000 * OVERSAMPLENR,150},{31.00000 * OVERSAMPLENR,155},{32.00000 * OVERSAMPLENR,165},{32.18750 * OVERSAMPLENR,175},{33.00000 * OVERSAMPLENR,180},{33.62500 * OVERSAMPLENR,190},{34.00000 * OVERSAMPLENR,195},{35.00000 * OVERSAMPLENR,205},{35.50000 * OVERSAMPLENR,215},{36.00000 * OVERSAMPLENR,220},{36.75000 * OVERSAMPLENR,230},{37.00000 * OVERSAMPLENR,235},{37.75000 * OVERSAMPLENR,245},{38.00000 * OVERSAMPLENR,250},{38.12500 * OVERSAMPLENR,255},{39.00000 * OVERSAMPLENR,260},{40.00000 * OVERSAMPLENR,275},{40.25000 * OVERSAMPLENR,285},{41.00000 * OVERSAMPLENR,290},{41.25000 * OVERSAMPLENR,300},{42.00000 * OVERSAMPLENR,305},{43.00000 * OVERSAMPLENR,315},{43.25000 * OVERSAMPLENR,325},{44.00000 * OVERSAMPLENR,330},{44.18750 * OVERSAMPLENR,340},{45.00000 * OVERSAMPLENR,345},{45.25000 * OVERSAMPLENR,355},{46.00000 * OVERSAMPLENR,360},{46.62500 * OVERSAMPLENR,370},{47.00000 * OVERSAMPLENR,375},{47.25000 * OVERSAMPLENR,385},{48.00000 * OVERSAMPLENR,390},{48.75000 * OVERSAMPLENR,400},{49.00000 * OVERSAMPLENR,405},};#endif#if (THERMISTORHEATER_0 == 247) || (THERMISTORHEATER_1 == 247) || (THERMISTORHEATER_2 == 247) || (THERMISTORBED == 247) // Pt100 with 4k7 MiniRambo pullup & PT100 Amplifierconst short temptable_247[][2] PROGMEM = {// Calculated from Bob-the-Kuhn's PT100 calculator listed in https://github.com/MarlinFirmware/Marlin/issues/5543// and the table provided by E3D at http://wiki.e3d-online.com/wiki/E3D_PT100_Amplifier_Documentation#Output_Characteristics.{  0 * OVERSAMPLENR,    0},{241 * OVERSAMPLENR,    1},{249 * OVERSAMPLENR,   10},{259 * OVERSAMPLENR,   20},{267 * OVERSAMPLENR,   30},{275 * OVERSAMPLENR,   40},{283 * OVERSAMPLENR,   50},{291 * OVERSAMPLENR,   60},{299 * OVERSAMPLENR,   70},{307 * OVERSAMPLENR,   80},{315 * OVERSAMPLENR,   90},{323 * OVERSAMPLENR,  100},{331 * OVERSAMPLENR,  110},{340 * OVERSAMPLENR,  120},{348 * OVERSAMPLENR,  130},{354 * OVERSAMPLENR,  140},{362 * OVERSAMPLENR,  150},{370 * OVERSAMPLENR,  160},{378 * OVERSAMPLENR,  170},{386 * OVERSAMPLENR,  180},{394 * OVERSAMPLENR,  190},{402 * OVERSAMPLENR,  200},{410 * OVERSAMPLENR,  210},{418 * OVERSAMPLENR,  220},{426 * OVERSAMPLENR,  230},{432 * OVERSAMPLENR,  240},{440 * OVERSAMPLENR,  250},{448 * OVERSAMPLENR,  260},{454 * OVERSAMPLENR,  270},{462 * OVERSAMPLENR,  280},{469 * OVERSAMPLENR,  290},{475 * OVERSAMPLENR,  300},{483 * OVERSAMPLENR,  310},{491 * OVERSAMPLENR,  320},{499 * OVERSAMPLENR,  330},{505 * OVERSAMPLENR,  340},{513 * OVERSAMPLENR,  350},{519 * OVERSAMPLENR,  360},{527 * OVERSAMPLENR,  370},{533 * OVERSAMPLENR,  380},{541 * OVERSAMPLENR,  390},{549 * OVERSAMPLENR,  400},{616 * OVERSAMPLENR,  500},{682 * OVERSAMPLENR,  600},{741 * OVERSAMPLENR,  700},{801 * OVERSAMPLENR,  800},{856 * OVERSAMPLENR,  900},{910 * OVERSAMPLENR, 1000},{960 * OVERSAMPLENR, 1100},};#endif#if (THERMISTORHEATER_0 == 1010) || (THERMISTORHEATER_1 == 1010) || (THERMISTORHEATER_2 == 1010) || (THERMISTORBED == 1010) // Pt1000 with 1k0 pullupconst 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)};#endif#if (THERMISTORHEATER_0 == 1047) || (THERMISTORHEATER_1 == 1047) || (THERMISTORHEATER_2 == 1047) || (THERMISTORBED == 1047) // Pt1000 with 4k7 pullupconst 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)};#endif#if (THERMISTORAMBIENT == 2000) //100k thermistor NTCG104LH104JT1const short temptable_2000[][2] PROGMEM = {// Source: https://product.tdk.com/info/en/catalog/datasheets/503021/tpd_ntc-thermistor_ntcg_en.pdf// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance/*{305*OVERSAMPLENR, 125},{338*OVERSAMPLENR, 120},{374*OVERSAMPLENR, 115},{412*OVERSAMPLENR, 110},{452*OVERSAMPLENR, 105},{494*OVERSAMPLENR, 100},{536*OVERSAMPLENR, 95},{580*OVERSAMPLENR, 90},{623*OVERSAMPLENR, 85},{665*OVERSAMPLENR, 80},{706*OVERSAMPLENR, 75},{744*OVERSAMPLENR, 70},{780*OVERSAMPLENR, 65},{813*OVERSAMPLENR, 60},{843*OVERSAMPLENR, 55},{869*OVERSAMPLENR, 50},{892*OVERSAMPLENR, 45},{912*OVERSAMPLENR, 40},{929*OVERSAMPLENR, 35},{943*OVERSAMPLENR, 30},{955*OVERSAMPLENR, 25},{965*OVERSAMPLENR, 20},{973*OVERSAMPLENR, 15},{979*OVERSAMPLENR, 10},{984*OVERSAMPLENR, 5},{988*OVERSAMPLENR, 0},{991*OVERSAMPLENR, -5},{993*OVERSAMPLENR, -10},{995*OVERSAMPLENR, -15},{996*OVERSAMPLENR, -20},{997*OVERSAMPLENR, -25},{998*OVERSAMPLENR, -30},{999*OVERSAMPLENR, -35},{999*OVERSAMPLENR, -40},*/{313*OVERSAMPLENR,125},{347*OVERSAMPLENR,120},{383*OVERSAMPLENR,115},{422*OVERSAMPLENR,110},{463*OVERSAMPLENR,105},{506*OVERSAMPLENR,100},{549*OVERSAMPLENR,95},{594*OVERSAMPLENR,90},{638*OVERSAMPLENR,85},{681*OVERSAMPLENR,80},{722*OVERSAMPLENR,75},{762*OVERSAMPLENR,70},{799*OVERSAMPLENR,65},{833*OVERSAMPLENR,60},{863*OVERSAMPLENR,55},{890*OVERSAMPLENR,50},{914*OVERSAMPLENR,45},{934*OVERSAMPLENR,40},{951*OVERSAMPLENR,35},{966*OVERSAMPLENR,30},{978*OVERSAMPLENR,25},{988*OVERSAMPLENR,20},{996*OVERSAMPLENR,15},{1002*OVERSAMPLENR,10},{1007*OVERSAMPLENR,5},{1012*OVERSAMPLENR,0},{1015*OVERSAMPLENR,-5},{1017*OVERSAMPLENR,-10},{1019*OVERSAMPLENR,-15},{1020*OVERSAMPLENR,-20},{1021*OVERSAMPLENR,-25},{1022*OVERSAMPLENR,-30},{1023*OVERSAMPLENR,-35},{1023*OVERSAMPLENR,-40},};#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 (sizeof(HEATER_0_TEMPTABLE)/sizeof(*HEATER_0_TEMPTABLE))#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#endif#ifdef THERMISTORHEATER_1# define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1)# define HEATER_1_TEMPTABLE_LEN (sizeof(HEATER_1_TEMPTABLE)/sizeof(*HEATER_1_TEMPTABLE))#else# ifdef HEATER_1_USES_THERMISTOR#  error No heater 1 thermistor table specified# else  // HEATER_1_USES_THERMISTOR#  define HEATER_1_TEMPTABLE NULL#  define HEATER_1_TEMPTABLE_LEN 0# endif // HEATER_1_USES_THERMISTOR#endif//Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature#ifndef HEATER_1_RAW_HI_TEMP# ifdef HEATER_1_USES_THERMISTOR   //In case of a thermistor the highest temperature results in the lowest ADC value#  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#endif#ifdef THERMISTORHEATER_2# define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2)# define HEATER_2_TEMPTABLE_LEN (sizeof(HEATER_2_TEMPTABLE)/sizeof(*HEATER_2_TEMPTABLE))#else# ifdef HEATER_2_USES_THERMISTOR#  error No heater 2 thermistor table specified# else  // HEATER_2_USES_THERMISTOR#  define HEATER_2_TEMPTABLE NULL#  define HEATER_2_TEMPTABLE_LEN 0# endif // HEATER_2_USES_THERMISTOR#endif//Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature#ifndef HEATER_2_RAW_HI_TEMP# ifdef HEATER_2_USES_THERMISTOR   //In case of a thermistor the highest temperature results in the lowest ADC value#  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#endif#ifdef THERMISTORBED# define BEDTEMPTABLE TT_NAME(THERMISTORBED)# define BEDTEMPTABLE_LEN (sizeof(BEDTEMPTABLE)/sizeof(*BEDTEMPTABLE))#else# ifdef BED_USES_THERMISTOR#  error No bed thermistor table specified# endif // BED_USES_THERMISTOR#endif#ifdef THERMISTORAMBIENT# define AMBIENTTEMPTABLE TT_NAME(THERMISTORAMBIENT)# define AMBIENTTEMPTABLE_LEN (sizeof(AMBIENTTEMPTABLE)/sizeof(*AMBIENTTEMPTABLE))#endif//Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature#ifndef HEATER_BED_RAW_HI_TEMP# ifdef BED_USES_THERMISTOR   //In case of a thermistor the highest temperature results in the lowest ADC value#  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#  define HEATER_BED_RAW_HI_TEMP 16383#  define HEATER_BED_RAW_LO_TEMP 0# endif#endif#endif //THERMISTORTABLES_H_
 |