| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389 | 
							- #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 thermistor
 
- const short temptable_1[][2] PROGMEM = {
 
- {       23*OVERSAMPLENR ,       300     },
 
- {       25*OVERSAMPLENR ,       295     },
 
- {       27*OVERSAMPLENR ,       290     },
 
- {       28*OVERSAMPLENR ,       285     },
 
- {       31*OVERSAMPLENR ,       280     },
 
- {       33*OVERSAMPLENR ,       275     },
 
- {       35*OVERSAMPLENR ,       270     },
 
- {       38*OVERSAMPLENR ,       265     },
 
- {       41*OVERSAMPLENR ,       260     },
 
- {       44*OVERSAMPLENR ,       255     },
 
- {       48*OVERSAMPLENR ,       250     },
 
- {       52*OVERSAMPLENR ,       245     },
 
- {       56*OVERSAMPLENR ,       240     },
 
- {       61*OVERSAMPLENR ,       235     },
 
- {       66*OVERSAMPLENR ,       230     },
 
- {       71*OVERSAMPLENR ,       225     },
 
- {       78*OVERSAMPLENR ,       220     },
 
- {       84*OVERSAMPLENR ,       215     },
 
- {       92*OVERSAMPLENR ,       210     },
 
- {       100*OVERSAMPLENR        ,       205     },
 
- {       109*OVERSAMPLENR        ,       200     },
 
- {       120*OVERSAMPLENR        ,       195     },
 
- {       131*OVERSAMPLENR        ,       190     },
 
- {       143*OVERSAMPLENR        ,       185     },
 
- {       156*OVERSAMPLENR        ,       180     },
 
- {       171*OVERSAMPLENR        ,       175     },
 
- {       187*OVERSAMPLENR        ,       170     },
 
- {       205*OVERSAMPLENR        ,       165     },
 
- {       224*OVERSAMPLENR        ,       160     },
 
- {       245*OVERSAMPLENR        ,       155     },
 
- {       268*OVERSAMPLENR        ,       150     },
 
- {       293*OVERSAMPLENR        ,       145     },
 
- {       320*OVERSAMPLENR        ,       140     },
 
- {       348*OVERSAMPLENR        ,       135     },
 
- {       379*OVERSAMPLENR        ,       130     },
 
- {       411*OVERSAMPLENR        ,       125     },
 
- {       445*OVERSAMPLENR        ,       120     },
 
- {       480*OVERSAMPLENR        ,       115     },
 
- {       516*OVERSAMPLENR        ,       110     },
 
- {       553*OVERSAMPLENR        ,       105     },
 
- {       591*OVERSAMPLENR        ,       100     },
 
- {       628*OVERSAMPLENR        ,       95      },
 
- {       665*OVERSAMPLENR        ,       90      },
 
- {       702*OVERSAMPLENR        ,       85      },
 
- {       737*OVERSAMPLENR        ,       80      },
 
- {       770*OVERSAMPLENR        ,       75      },
 
- {       801*OVERSAMPLENR        ,       70      },
 
- {       830*OVERSAMPLENR        ,       65      },
 
- {       857*OVERSAMPLENR        ,       60      },
 
- {       881*OVERSAMPLENR        ,       55      },
 
- {       903*OVERSAMPLENR        ,       50      },
 
- {       922*OVERSAMPLENR        ,       45      },
 
- {       939*OVERSAMPLENR        ,       40      },
 
- {       954*OVERSAMPLENR        ,       35      },
 
- {       966*OVERSAMPLENR        ,       30      },
 
- {       977*OVERSAMPLENR        ,       25      },
 
- {       985*OVERSAMPLENR        ,       20      },
 
- {       993*OVERSAMPLENR        ,       15      },
 
- {       999*OVERSAMPLENR        ,       10      },
 
- {       1004*OVERSAMPLENR       ,       5       },
 
- {       1008*OVERSAMPLENR       ,       0       } //safety
 
- };
 
- #endif
 
- #if (THERMISTORHEATER_0 == 2) || (THERMISTORHEATER_1 == 2) || (THERMISTORHEATER_2 == 2) || (THERMISTORBED == 2) //200k bed thermistor
 
- const 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-parts
 
- const short temptable_3[][2] PROGMEM = {
 
-                 {1*OVERSAMPLENR,864},
 
-                 {21*OVERSAMPLENR,300},
 
-                 {25*OVERSAMPLENR,290},
 
-                 {29*OVERSAMPLENR,280},
 
-                 {33*OVERSAMPLENR,270},
 
-                 {39*OVERSAMPLENR,260},
 
-                 {46*OVERSAMPLENR,250},
 
-                 {54*OVERSAMPLENR,240},
 
-                 {64*OVERSAMPLENR,230},
 
-                 {75*OVERSAMPLENR,220},
 
-                 {90*OVERSAMPLENR,210},
 
-                 {107*OVERSAMPLENR,200},
 
-                 {128*OVERSAMPLENR,190},
 
-                 {154*OVERSAMPLENR,180},
 
-                 {184*OVERSAMPLENR,170},
 
-                 {221*OVERSAMPLENR,160},
 
-                 {265*OVERSAMPLENR,150},
 
-                 {316*OVERSAMPLENR,140},
 
-                 {375*OVERSAMPLENR,130},
 
-                 {441*OVERSAMPLENR,120},
 
-                 {513*OVERSAMPLENR,110},
 
-                 {588*OVERSAMPLENR,100},
 
-                 {734*OVERSAMPLENR,80},
 
-                 {856*OVERSAMPLENR,60},
 
-                 {938*OVERSAMPLENR,40},
 
-                 {986*OVERSAMPLENR,20},
 
-                 {1008*OVERSAMPLENR,0},
 
-                 {1018*OVERSAMPLENR,-20}
 
-         };
 
- #endif
 
- #if (THERMISTORHEATER_0 == 4) || (THERMISTORHEATER_1 == 4) || (THERMISTORHEATER_2 == 4) || (THERMISTORBED == 4) //10k thermistor
 
- const short temptable_4[][2] PROGMEM = {
 
-    {1*OVERSAMPLENR, 430},
 
-    {54*OVERSAMPLENR, 137},
 
-    {107*OVERSAMPLENR, 107},
 
-    {160*OVERSAMPLENR, 91},
 
-    {213*OVERSAMPLENR, 80},
 
-    {266*OVERSAMPLENR, 71},
 
-    {319*OVERSAMPLENR, 64},
 
-    {372*OVERSAMPLENR, 57},
 
-    {425*OVERSAMPLENR, 51},
 
-    {478*OVERSAMPLENR, 46},
 
-    {531*OVERSAMPLENR, 41},
 
-    {584*OVERSAMPLENR, 35},
 
-    {637*OVERSAMPLENR, 30},
 
-    {690*OVERSAMPLENR, 25},
 
-    {743*OVERSAMPLENR, 20},
 
-    {796*OVERSAMPLENR, 14},
 
-    {849*OVERSAMPLENR, 7},
 
-    {902*OVERSAMPLENR, 0},
 
-    {955*OVERSAMPLENR, -11},
 
-    {1008*OVERSAMPLENR, -35}
 
- };
 
- #endif
 
- #if (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 thermistor
 
- const short temptable_6[][2] PROGMEM = {
 
-    {1*OVERSAMPLENR, 350},
 
-    {28*OVERSAMPLENR, 250}, //top rating 250C
 
-    {31*OVERSAMPLENR, 245},
 
-    {35*OVERSAMPLENR, 240},
 
-    {39*OVERSAMPLENR, 235},
 
-    {42*OVERSAMPLENR, 230},
 
-    {44*OVERSAMPLENR, 225},
 
-    {49*OVERSAMPLENR, 220},
 
-    {53*OVERSAMPLENR, 215},
 
-    {62*OVERSAMPLENR, 210},
 
-    {71*OVERSAMPLENR, 205}, //fitted graphically
 
-    {78*OVERSAMPLENR, 200}, //fitted graphically
 
-    {94*OVERSAMPLENR, 190},
 
-    {102*OVERSAMPLENR, 185},
 
-    {116*OVERSAMPLENR, 170},
 
-    {143*OVERSAMPLENR, 160},
 
-    {183*OVERSAMPLENR, 150},
 
-    {223*OVERSAMPLENR, 140},
 
-    {270*OVERSAMPLENR, 130},
 
-    {318*OVERSAMPLENR, 120},
 
-    {383*OVERSAMPLENR, 110},
 
-    {413*OVERSAMPLENR, 105},
 
-    {439*OVERSAMPLENR, 100},
 
-    {484*OVERSAMPLENR, 95},
 
-    {513*OVERSAMPLENR, 90},
 
-    {607*OVERSAMPLENR, 80},
 
-    {664*OVERSAMPLENR, 70},
 
-    {781*OVERSAMPLENR, 60},
 
-    {810*OVERSAMPLENR, 55},
 
-    {849*OVERSAMPLENR, 50},
 
-    {914*OVERSAMPLENR, 45},
 
-    {914*OVERSAMPLENR, 40},
 
-    {935*OVERSAMPLENR, 35},
 
-    {954*OVERSAMPLENR, 30},
 
-    {970*OVERSAMPLENR, 25},
 
-    {978*OVERSAMPLENR, 22},
 
-    {1008*OVERSAMPLENR, 3},
 
-    {1023*OVERSAMPLENR, 0}  //to allow internal 0 degrees C
 
- };
 
- #endif
 
- #if (THERMISTORHEATER_0 == 7) || (THERMISTORHEATER_1 == 7) || (THERMISTORHEATER_2 == 7) || (THERMISTORBED == 7) // 100k Honeywell 135-104LAG-J01
 
- const short temptable_7[][2] PROGMEM = {
 
-    {1*OVERSAMPLENR, 941},
 
-    {19*OVERSAMPLENR, 362},
 
-    {37*OVERSAMPLENR, 299}, //top rating 300C
 
-    {55*OVERSAMPLENR, 266},
 
-    {73*OVERSAMPLENR, 245},
 
-    {91*OVERSAMPLENR, 229},
 
-    {109*OVERSAMPLENR, 216},
 
-    {127*OVERSAMPLENR, 206},
 
-    {145*OVERSAMPLENR, 197},
 
-    {163*OVERSAMPLENR, 190},
 
-    {181*OVERSAMPLENR, 183},
 
-    {199*OVERSAMPLENR, 177},
 
-    {217*OVERSAMPLENR, 171},
 
-    {235*OVERSAMPLENR, 166},
 
-    {253*OVERSAMPLENR, 162},
 
-    {271*OVERSAMPLENR, 157},
 
-    {289*OVERSAMPLENR, 153},
 
-    {307*OVERSAMPLENR, 149},
 
-    {325*OVERSAMPLENR, 146},
 
-    {343*OVERSAMPLENR, 142},
 
-    {361*OVERSAMPLENR, 139},
 
-    {379*OVERSAMPLENR, 135},
 
-    {397*OVERSAMPLENR, 132},
 
-    {415*OVERSAMPLENR, 129},
 
-    {433*OVERSAMPLENR, 126},
 
-    {451*OVERSAMPLENR, 123},
 
-    {469*OVERSAMPLENR, 121},
 
-    {487*OVERSAMPLENR, 118},
 
-    {505*OVERSAMPLENR, 115},
 
-    {523*OVERSAMPLENR, 112},
 
-    {541*OVERSAMPLENR, 110},
 
-    {559*OVERSAMPLENR, 107},
 
-    {577*OVERSAMPLENR, 105},
 
-    {595*OVERSAMPLENR, 102},
 
-    {613*OVERSAMPLENR, 99},
 
-    {631*OVERSAMPLENR, 97},
 
-    {649*OVERSAMPLENR, 94},
 
-    {667*OVERSAMPLENR, 92},
 
-    {685*OVERSAMPLENR, 89},
 
-    {703*OVERSAMPLENR, 86},
 
-    {721*OVERSAMPLENR, 84},
 
-    {739*OVERSAMPLENR, 81},
 
-    {757*OVERSAMPLENR, 78},
 
-    {775*OVERSAMPLENR, 75},
 
-    {793*OVERSAMPLENR, 72},
 
-    {811*OVERSAMPLENR, 69},
 
-    {829*OVERSAMPLENR, 66},
 
-    {847*OVERSAMPLENR, 62},
 
-    {865*OVERSAMPLENR, 59},
 
-    {883*OVERSAMPLENR, 55},
 
-    {901*OVERSAMPLENR, 51},
 
-    {919*OVERSAMPLENR, 46},
 
-    {937*OVERSAMPLENR, 41},
 
-    {955*OVERSAMPLENR, 35},
 
-    {973*OVERSAMPLENR, 27},
 
-    {991*OVERSAMPLENR, 17},
 
-    {1009*OVERSAMPLENR, 1},
 
-    {1023*OVERSAMPLENR, 0}  //to allow internal 0 degrees C
 
- };
 
- #endif
 
- #if (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 Ohm
 
- const short temptable_71[][2] PROGMEM = {
 
-    {35*OVERSAMPLENR, 300},
 
-    {51*OVERSAMPLENR, 270},
 
-    {54*OVERSAMPLENR, 265},
 
-    {58*OVERSAMPLENR, 260},
 
-    {59*OVERSAMPLENR, 258},
 
-    {61*OVERSAMPLENR, 256},
 
-    {63*OVERSAMPLENR, 254},
 
-    {64*OVERSAMPLENR, 252},
 
-    {66*OVERSAMPLENR, 250},
 
-    {67*OVERSAMPLENR, 249},
 
-    {68*OVERSAMPLENR, 248},
 
-    {69*OVERSAMPLENR, 247},
 
-    {70*OVERSAMPLENR, 246},
 
-    {71*OVERSAMPLENR, 245},
 
-    {72*OVERSAMPLENR, 244},
 
-    {73*OVERSAMPLENR, 243},
 
-    {74*OVERSAMPLENR, 242},
 
-    {75*OVERSAMPLENR, 241},
 
-    {76*OVERSAMPLENR, 240},
 
-    {77*OVERSAMPLENR, 239},
 
-    {78*OVERSAMPLENR, 238},
 
-    {79*OVERSAMPLENR, 237},
 
-    {80*OVERSAMPLENR, 236},
 
-    {81*OVERSAMPLENR, 235},
 
-    {82*OVERSAMPLENR, 234},
 
-    {84*OVERSAMPLENR, 233},
 
-    {85*OVERSAMPLENR, 232},
 
-    {86*OVERSAMPLENR, 231},
 
-    {87*OVERSAMPLENR, 230},
 
-    {89*OVERSAMPLENR, 229},
 
-    {90*OVERSAMPLENR, 228},
 
-    {91*OVERSAMPLENR, 227},
 
-    {92*OVERSAMPLENR, 226},
 
-    {94*OVERSAMPLENR, 225},
 
-    {95*OVERSAMPLENR, 224},
 
-    {97*OVERSAMPLENR, 223},
 
-    {98*OVERSAMPLENR, 222},
 
-    {99*OVERSAMPLENR, 221},
 
-    {101*OVERSAMPLENR, 220},
 
-    {102*OVERSAMPLENR, 219},
 
-    {104*OVERSAMPLENR, 218},
 
-    {106*OVERSAMPLENR, 217},
 
-    {107*OVERSAMPLENR, 216},
 
-    {109*OVERSAMPLENR, 215},
 
-    {110*OVERSAMPLENR, 214},
 
-    {112*OVERSAMPLENR, 213},
 
-    {114*OVERSAMPLENR, 212},
 
-    {115*OVERSAMPLENR, 211},
 
-    {117*OVERSAMPLENR, 210},
 
-    {119*OVERSAMPLENR, 209},
 
-    {121*OVERSAMPLENR, 208},
 
-    {123*OVERSAMPLENR, 207},
 
-    {125*OVERSAMPLENR, 206},
 
-    {126*OVERSAMPLENR, 205},
 
-    {128*OVERSAMPLENR, 204},
 
-    {130*OVERSAMPLENR, 203},
 
-    {132*OVERSAMPLENR, 202},
 
-    {134*OVERSAMPLENR, 201},
 
-    {136*OVERSAMPLENR, 200},
 
-    {139*OVERSAMPLENR, 199},
 
-    {141*OVERSAMPLENR, 198},
 
-    {143*OVERSAMPLENR, 197},
 
-    {145*OVERSAMPLENR, 196},
 
-    {147*OVERSAMPLENR, 195},
 
-    {150*OVERSAMPLENR, 194},
 
-    {152*OVERSAMPLENR, 193},
 
-    {154*OVERSAMPLENR, 192},
 
-    {157*OVERSAMPLENR, 191},
 
-    {159*OVERSAMPLENR, 190},
 
-    {162*OVERSAMPLENR, 189},
 
-    {164*OVERSAMPLENR, 188},
 
-    {167*OVERSAMPLENR, 187},
 
-    {170*OVERSAMPLENR, 186},
 
-    {172*OVERSAMPLENR, 185},
 
-    {175*OVERSAMPLENR, 184},
 
-    {178*OVERSAMPLENR, 183},
 
-    {181*OVERSAMPLENR, 182},
 
-    {184*OVERSAMPLENR, 181},
 
-    {187*OVERSAMPLENR, 180},
 
-    {190*OVERSAMPLENR, 179},
 
-    {193*OVERSAMPLENR, 178},
 
-    {196*OVERSAMPLENR, 177},
 
-    {199*OVERSAMPLENR, 176},
 
-    {202*OVERSAMPLENR, 175},
 
-    {205*OVERSAMPLENR, 174},
 
-    {208*OVERSAMPLENR, 173},
 
-    {212*OVERSAMPLENR, 172},
 
-    {215*OVERSAMPLENR, 171},
 
-    {219*OVERSAMPLENR, 170},
 
-    {237*OVERSAMPLENR, 165},
 
-    {256*OVERSAMPLENR, 160},
 
-    {300*OVERSAMPLENR, 150},
 
-    {351*OVERSAMPLENR, 140},
 
-    {470*OVERSAMPLENR, 120},
 
-    {504*OVERSAMPLENR, 115},
 
-    {538*OVERSAMPLENR, 110},
 
-    {552*OVERSAMPLENR, 108},
 
-    {566*OVERSAMPLENR, 106},
 
-    {580*OVERSAMPLENR, 104},
 
-    {594*OVERSAMPLENR, 102},
 
-    {608*OVERSAMPLENR, 100},
 
-    {622*OVERSAMPLENR, 98},
 
-    {636*OVERSAMPLENR, 96},
 
-    {650*OVERSAMPLENR, 94},
 
-    {664*OVERSAMPLENR, 92},
 
-    {678*OVERSAMPLENR, 90},
 
-    {712*OVERSAMPLENR, 85},
 
-    {745*OVERSAMPLENR, 80},
 
-    {758*OVERSAMPLENR, 78},
 
-    {770*OVERSAMPLENR, 76},
 
-    {783*OVERSAMPLENR, 74},
 
-    {795*OVERSAMPLENR, 72},
 
-    {806*OVERSAMPLENR, 70},
 
-    {818*OVERSAMPLENR, 68},
 
-    {829*OVERSAMPLENR, 66},
 
-    {840*OVERSAMPLENR, 64},
 
-    {850*OVERSAMPLENR, 62},
 
-    {860*OVERSAMPLENR, 60},
 
-    {870*OVERSAMPLENR, 58},
 
-    {879*OVERSAMPLENR, 56},
 
-    {888*OVERSAMPLENR, 54},
 
-    {897*OVERSAMPLENR, 52},
 
-    {905*OVERSAMPLENR, 50},
 
-    {924*OVERSAMPLENR, 45},
 
-    {940*OVERSAMPLENR, 40},
 
-    {955*OVERSAMPLENR, 35},
 
-    {967*OVERSAMPLENR, 30},
 
-    {970*OVERSAMPLENR, 29},
 
-    {972*OVERSAMPLENR, 28},
 
-    {974*OVERSAMPLENR, 27},
 
-    {976*OVERSAMPLENR, 26},
 
-    {978*OVERSAMPLENR, 25},
 
-    {980*OVERSAMPLENR, 24},
 
-    {982*OVERSAMPLENR, 23},
 
-    {984*OVERSAMPLENR, 22},
 
-    {985*OVERSAMPLENR, 21},
 
-    {987*OVERSAMPLENR, 20},
 
-    {995*OVERSAMPLENR, 15},
 
-    {1001*OVERSAMPLENR, 10},
 
-    {1006*OVERSAMPLENR, 5},
 
-    {1010*OVERSAMPLENR, 0},
 
- };
 
- #endif
 
- #if (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 thermistor
 
- const short temptable_11[][2] PROGMEM = {
 
-          {1*OVERSAMPLENR,        938},
 
-          {31*OVERSAMPLENR,       314},
 
-          {41*OVERSAMPLENR,       290},
 
-          {51*OVERSAMPLENR,       272},
 
-          {61*OVERSAMPLENR,       258},
 
-          {71*OVERSAMPLENR,       247},
 
-          {81*OVERSAMPLENR,       237},
 
-          {91*OVERSAMPLENR,       229},
 
-          {101*OVERSAMPLENR,      221},
 
-          {111*OVERSAMPLENR,      215},
 
-          {121*OVERSAMPLENR,      209},
 
-          {131*OVERSAMPLENR,      204},
 
-          {141*OVERSAMPLENR,      199},
 
-          {151*OVERSAMPLENR,      195},
 
-          {161*OVERSAMPLENR,      190},
 
-          {171*OVERSAMPLENR,      187},
 
-          {181*OVERSAMPLENR,      183},
 
-          {191*OVERSAMPLENR,      179},
 
-          {201*OVERSAMPLENR,      176},
 
-          {221*OVERSAMPLENR,      170},
 
-          {241*OVERSAMPLENR,      165},
 
-          {261*OVERSAMPLENR,      160},
 
-          {281*OVERSAMPLENR,      155},
 
-          {301*OVERSAMPLENR,      150},
 
-          {331*OVERSAMPLENR,      144},
 
-          {361*OVERSAMPLENR,      139},
 
-          {391*OVERSAMPLENR,      133},
 
-          {421*OVERSAMPLENR,      128},
 
-          {451*OVERSAMPLENR,      123},
 
-          {491*OVERSAMPLENR,      117},
 
-          {531*OVERSAMPLENR,      111},
 
-          {571*OVERSAMPLENR,      105},
 
-          {611*OVERSAMPLENR,      100},
 
-          {641*OVERSAMPLENR,      95},
 
-          {681*OVERSAMPLENR,      90},
 
-          {711*OVERSAMPLENR,      85},
 
-          {751*OVERSAMPLENR,      79},
 
-          {791*OVERSAMPLENR,      72},
 
-          {811*OVERSAMPLENR,      69},
 
-          {831*OVERSAMPLENR,      65},
 
-          {871*OVERSAMPLENR,      57},
 
-          {881*OVERSAMPLENR,      55},
 
-          {901*OVERSAMPLENR,      51},
 
-          {921*OVERSAMPLENR,      45},
 
-          {941*OVERSAMPLENR,      39},
 
-          {971*OVERSAMPLENR,      28},
 
-          {981*OVERSAMPLENR,      23},
 
-          {991*OVERSAMPLENR,      17},
 
-          {1001*OVERSAMPLENR,     9},
 
-          {1021*OVERSAMPLENR,     -27}
 
- };
 
- #endif
 
- #if (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
 
- #endif
 
- const short temptable_20[][2] PROGMEM = {
 
- {         0*OVERSAMPLENR ,       0     },
 
- {       227*OVERSAMPLENR ,       1     },
 
- {       236*OVERSAMPLENR ,       10     },
 
- {       245*OVERSAMPLENR ,       20     },
 
- {       253*OVERSAMPLENR ,       30     },
 
- {       262*OVERSAMPLENR ,       40     },
 
- {       270*OVERSAMPLENR ,       50     },
 
- {       279*OVERSAMPLENR ,       60     },
 
- {       287*OVERSAMPLENR ,       70     },
 
- {       295*OVERSAMPLENR ,       80     },
 
- {       304*OVERSAMPLENR ,       90     },
 
- {       312*OVERSAMPLENR ,       100     },
 
- {       320*OVERSAMPLENR ,       110     },
 
- {       329*OVERSAMPLENR ,       120     },
 
- {       337*OVERSAMPLENR ,       130     },
 
- {       345*OVERSAMPLENR ,       140     },
 
- {       353*OVERSAMPLENR ,       150     },
 
- {       361*OVERSAMPLENR ,       160     },
 
- {       369*OVERSAMPLENR ,       170     },
 
- {       377*OVERSAMPLENR ,       180     },
 
- {       385*OVERSAMPLENR ,       190     },
 
- {       393*OVERSAMPLENR ,       200     },
 
- {       401*OVERSAMPLENR ,       210     },
 
- {       409*OVERSAMPLENR ,       220     },
 
- {       417*OVERSAMPLENR ,       230     },
 
- {       424*OVERSAMPLENR ,       240     },
 
- {       432*OVERSAMPLENR ,       250     },
 
- {       440*OVERSAMPLENR ,       260     },
 
- {       447*OVERSAMPLENR ,       270     },
 
- {       455*OVERSAMPLENR ,       280     },
 
- {       463*OVERSAMPLENR ,       290     },
 
- {       470*OVERSAMPLENR ,       300     },
 
- {       478*OVERSAMPLENR ,       310     },
 
- {       485*OVERSAMPLENR ,       320     },
 
- {       493*OVERSAMPLENR ,       330     },
 
- {       500*OVERSAMPLENR ,       340     },
 
- {       507*OVERSAMPLENR ,       350     },
 
- {       515*OVERSAMPLENR ,       360     },
 
- {       522*OVERSAMPLENR ,       370     },
 
- {       529*OVERSAMPLENR ,       380     },
 
- {       537*OVERSAMPLENR ,       390     },
 
- {       544*OVERSAMPLENR ,       400     },
 
- {       614*OVERSAMPLENR ,       500     },
 
- {       681*OVERSAMPLENR ,       600     },
 
- {       744*OVERSAMPLENR ,       700     },
 
- {       805*OVERSAMPLENR ,       800     },
 
- {       862*OVERSAMPLENR ,       900     },
 
- {       917*OVERSAMPLENR ,       1000     },
 
- {       968*OVERSAMPLENR ,       1100     }
 
- };
 
- #endif
 
- #if (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 200C
 
- const short temptable_51[][2] PROGMEM = {
 
-    {1*OVERSAMPLENR, 350},
 
-    {190*OVERSAMPLENR, 250}, //top rating 250C
 
-    {203*OVERSAMPLENR, 245},
 
-    {217*OVERSAMPLENR, 240},
 
-    {232*OVERSAMPLENR, 235},
 
-    {248*OVERSAMPLENR, 230},
 
-    {265*OVERSAMPLENR, 225},
 
-    {283*OVERSAMPLENR, 220},
 
-    {302*OVERSAMPLENR, 215},
 
-    {322*OVERSAMPLENR, 210},
 
-    {344*OVERSAMPLENR, 205},
 
-    {366*OVERSAMPLENR, 200},
 
-    {390*OVERSAMPLENR, 195},
 
-    {415*OVERSAMPLENR, 190},
 
-    {440*OVERSAMPLENR, 185},
 
-    {467*OVERSAMPLENR, 180},
 
-    {494*OVERSAMPLENR, 175},
 
-    {522*OVERSAMPLENR, 170},
 
-    {551*OVERSAMPLENR, 165},
 
-    {580*OVERSAMPLENR, 160},
 
-    {609*OVERSAMPLENR, 155},
 
-    {638*OVERSAMPLENR, 150},
 
-    {666*OVERSAMPLENR, 145},
 
-    {695*OVERSAMPLENR, 140},
 
-    {722*OVERSAMPLENR, 135},
 
-    {749*OVERSAMPLENR, 130},
 
-    {775*OVERSAMPLENR, 125},
 
-    {800*OVERSAMPLENR, 120},
 
-    {823*OVERSAMPLENR, 115},
 
-    {845*OVERSAMPLENR, 110},
 
-    {865*OVERSAMPLENR, 105},
 
-    {884*OVERSAMPLENR, 100},
 
-    {901*OVERSAMPLENR, 95},
 
-    {917*OVERSAMPLENR, 90},
 
-    {932*OVERSAMPLENR, 85},
 
-    {944*OVERSAMPLENR, 80},
 
-    {956*OVERSAMPLENR, 75},
 
-    {966*OVERSAMPLENR, 70},
 
-    {975*OVERSAMPLENR, 65},
 
-    {982*OVERSAMPLENR, 60},
 
-    {989*OVERSAMPLENR, 55},
 
-    {995*OVERSAMPLENR, 50},
 
-    {1000*OVERSAMPLENR, 45},
 
-    {1004*OVERSAMPLENR, 40},
 
-    {1007*OVERSAMPLENR, 35},
 
-    {1010*OVERSAMPLENR, 30},
 
-    {1013*OVERSAMPLENR, 25},
 
-    {1015*OVERSAMPLENR, 20},
 
-    {1017*OVERSAMPLENR, 15},
 
-    {1018*OVERSAMPLENR, 10},
 
-    {1019*OVERSAMPLENR, 5},
 
-    {1020*OVERSAMPLENR, 0},
 
-    {1021*OVERSAMPLENR, -5}
 
- };
 
- #endif
 
- #if (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 200C
 
- const short temptable_52[][2] PROGMEM = {
 
-    {1*OVERSAMPLENR, 500},
 
-    {125*OVERSAMPLENR, 300}, //top rating 300C
 
-    {142*OVERSAMPLENR, 290},
 
-    {162*OVERSAMPLENR, 280},
 
-    {185*OVERSAMPLENR, 270},
 
-    {211*OVERSAMPLENR, 260},
 
-    {240*OVERSAMPLENR, 250},
 
-    {274*OVERSAMPLENR, 240},
 
-    {312*OVERSAMPLENR, 230},
 
-    {355*OVERSAMPLENR, 220},
 
-    {401*OVERSAMPLENR, 210},
 
-    {452*OVERSAMPLENR, 200},
 
-    {506*OVERSAMPLENR, 190},
 
-    {563*OVERSAMPLENR, 180},
 
-    {620*OVERSAMPLENR, 170},
 
-    {677*OVERSAMPLENR, 160},
 
-    {732*OVERSAMPLENR, 150},
 
-    {783*OVERSAMPLENR, 140},
 
-    {830*OVERSAMPLENR, 130},
 
-    {871*OVERSAMPLENR, 120},
 
-    {906*OVERSAMPLENR, 110},
 
-    {935*OVERSAMPLENR, 100},
 
-    {958*OVERSAMPLENR, 90},
 
-    {976*OVERSAMPLENR, 80},
 
-    {990*OVERSAMPLENR, 70},
 
-    {1000*OVERSAMPLENR, 60},
 
-    {1008*OVERSAMPLENR, 50},
 
-    {1013*OVERSAMPLENR, 40},
 
-    {1017*OVERSAMPLENR, 30},
 
-    {1019*OVERSAMPLENR, 20},
 
-    {1021*OVERSAMPLENR, 10},
 
-    {1022*OVERSAMPLENR, 0}
 
- };
 
- #endif
 
- #if (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 200C
 
- const short temptable_55[][2] PROGMEM = {
 
-    {1*OVERSAMPLENR, 500},
 
-    {76*OVERSAMPLENR, 300},
 
-    {87*OVERSAMPLENR, 290},
 
-    {100*OVERSAMPLENR, 280},
 
-    {114*OVERSAMPLENR, 270},
 
-    {131*OVERSAMPLENR, 260},
 
-    {152*OVERSAMPLENR, 250},
 
-    {175*OVERSAMPLENR, 240},
 
-    {202*OVERSAMPLENR, 230},
 
-    {234*OVERSAMPLENR, 220},
 
-    {271*OVERSAMPLENR, 210},
 
-    {312*OVERSAMPLENR, 200},
 
-    {359*OVERSAMPLENR, 190},
 
-    {411*OVERSAMPLENR, 180},
 
-    {467*OVERSAMPLENR, 170},
 
-    {527*OVERSAMPLENR, 160},
 
-    {590*OVERSAMPLENR, 150},
 
-    {652*OVERSAMPLENR, 140},
 
-    {713*OVERSAMPLENR, 130},
 
-    {770*OVERSAMPLENR, 120},
 
-    {822*OVERSAMPLENR, 110},
 
-    {867*OVERSAMPLENR, 100},
 
-    {905*OVERSAMPLENR, 90},
 
-    {936*OVERSAMPLENR, 80},
 
-    {961*OVERSAMPLENR, 70},
 
-    {979*OVERSAMPLENR, 60},
 
-    {993*OVERSAMPLENR, 50},
 
-    {1003*OVERSAMPLENR, 40},
 
-    {1010*OVERSAMPLENR, 30},
 
-    {1015*OVERSAMPLENR, 20},
 
-    {1018*OVERSAMPLENR, 10},
 
-    {1020*OVERSAMPLENR, 0}
 
- };
 
- #endif
 
- #if (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 V
 
- const short temptable_60[][2] PROGMEM = {
 
-    {51*OVERSAMPLENR, 272},
 
-    {61*OVERSAMPLENR, 258},
 
-    {71*OVERSAMPLENR, 247},
 
-    {81*OVERSAMPLENR, 237},
 
-    {91*OVERSAMPLENR, 229},
 
-    {101*OVERSAMPLENR, 221},
 
-    {131*OVERSAMPLENR, 204},
 
-    {161*OVERSAMPLENR, 190},
 
-    {191*OVERSAMPLENR, 179},
 
-    {231*OVERSAMPLENR, 167},
 
-    {271*OVERSAMPLENR, 157},
 
-    {311*OVERSAMPLENR, 148},
 
-    {351*OVERSAMPLENR, 140},
 
-    {381*OVERSAMPLENR, 135},
 
-    {411*OVERSAMPLENR, 130},
 
-    {441*OVERSAMPLENR, 125},
 
-    {451*OVERSAMPLENR, 123},
 
-    {461*OVERSAMPLENR, 122},
 
-    {471*OVERSAMPLENR, 120},
 
-    {481*OVERSAMPLENR, 119},
 
-    {491*OVERSAMPLENR, 117},
 
-    {501*OVERSAMPLENR, 116},
 
-    {511*OVERSAMPLENR, 114},
 
-    {521*OVERSAMPLENR, 113},
 
-    {531*OVERSAMPLENR, 111},
 
-    {541*OVERSAMPLENR, 110},
 
-    {551*OVERSAMPLENR, 108},
 
-    {561*OVERSAMPLENR, 107},
 
-    {571*OVERSAMPLENR, 105},
 
-    {581*OVERSAMPLENR, 104},
 
-    {591*OVERSAMPLENR, 102},
 
-    {601*OVERSAMPLENR, 101},
 
-    {611*OVERSAMPLENR, 100},
 
-    {621*OVERSAMPLENR, 98},
 
-    {631*OVERSAMPLENR, 97},
 
-    {641*OVERSAMPLENR, 95},
 
-    {651*OVERSAMPLENR, 94},
 
-    {661*OVERSAMPLENR, 92},
 
-    {671*OVERSAMPLENR, 91},
 
-    {681*OVERSAMPLENR, 90},
 
-    {691*OVERSAMPLENR, 88},
 
-    {701*OVERSAMPLENR, 87},
 
-    {711*OVERSAMPLENR, 85},
 
-    {721*OVERSAMPLENR, 84},
 
-    {731*OVERSAMPLENR, 82},
 
-    {741*OVERSAMPLENR, 81},
 
-    {751*OVERSAMPLENR, 79},
 
-    {761*OVERSAMPLENR, 77},
 
-    {771*OVERSAMPLENR, 76},
 
-    {781*OVERSAMPLENR, 74},
 
-    {791*OVERSAMPLENR, 72},
 
-    {801*OVERSAMPLENR, 71},
 
-    {811*OVERSAMPLENR, 69},
 
-    {821*OVERSAMPLENR, 67},
 
-    {831*OVERSAMPLENR, 65},
 
-    {841*OVERSAMPLENR, 63},
 
-    {851*OVERSAMPLENR, 62},
 
-    {861*OVERSAMPLENR, 60},
 
-    {871*OVERSAMPLENR, 57},
 
-    {881*OVERSAMPLENR, 55},
 
-    {891*OVERSAMPLENR, 53},
 
-    {901*OVERSAMPLENR, 51},
 
-    {911*OVERSAMPLENR, 48},
 
-    {921*OVERSAMPLENR, 45},
 
-    {931*OVERSAMPLENR, 42},
 
-    {941*OVERSAMPLENR, 39},
 
-    {951*OVERSAMPLENR, 36},
 
-    {961*OVERSAMPLENR, 32},
 
-    {981*OVERSAMPLENR, 23},
 
-    {991*OVERSAMPLENR, 17},
 
-    {1001*OVERSAMPLENR, 9},
 
-    {1008*OVERSAMPLENR, 0},
 
- };
 
- #endif
 
- #if (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 pullup
 
- const short temptable_110[][2] PROGMEM = {
 
- // only few values are needed as the curve is very flat  
 
-   PtLine(0,100,1000)
 
-   PtLine(50,100,1000)
 
-   PtLine(100,100,1000)
 
-   PtLine(150,100,1000)
 
-   PtLine(200,100,1000)
 
-   PtLine(250,100,1000)
 
-   PtLine(300,100,1000)
 
- };
 
- #endif
 
- #if (THERMISTORHEATER_0 == 147) || (THERMISTORHEATER_1 == 147) || (THERMISTORHEATER_2 == 147) || (THERMISTORBED == 147) // Pt100 with 4k7 pullup
 
- const short temptable_147[][2] PROGMEM = {
 
- // only few values are needed as the curve is very flat  
 
-   PtLine(0,100,4700)
 
-   PtLine(50,100,4700)
 
-   PtLine(100,100,4700)
 
-   PtLine(150,100,4700)
 
-   PtLine(200,100,4700)
 
-   PtLine(250,100,4700)
 
-   PtLine(300,100,4700)
 
- };
 
- #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 Amplifier
 
- const 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 pullup
 
- const short temptable_1010[][2] PROGMEM = {
 
-   PtLine(0,1000,1000)
 
-   PtLine(25,1000,1000)
 
-   PtLine(50,1000,1000)
 
-   PtLine(75,1000,1000)
 
-   PtLine(100,1000,1000)
 
-   PtLine(125,1000,1000)
 
-   PtLine(150,1000,1000)
 
-   PtLine(175,1000,1000)
 
-   PtLine(200,1000,1000)
 
-   PtLine(225,1000,1000)
 
-   PtLine(250,1000,1000)
 
-   PtLine(275,1000,1000)
 
-   PtLine(300,1000,1000)
 
- };
 
- #endif
 
- #if (THERMISTORHEATER_0 == 1047) || (THERMISTORHEATER_1 == 1047) || (THERMISTORHEATER_2 == 1047) || (THERMISTORBED == 1047) // Pt1000 with 4k7 pullup
 
- const short temptable_1047[][2] PROGMEM = {
 
- // only few values are needed as the curve is very flat  
 
-   PtLine(0,1000,4700)
 
-   PtLine(50,1000,4700)
 
-   PtLine(100,1000,4700)
 
-   PtLine(150,1000,4700)
 
-   PtLine(200,1000,4700)
 
-   PtLine(250,1000,4700)
 
-   PtLine(300,1000,4700)
 
- };
 
- #endif
 
- #if (THERMISTORAMBIENT == 2000) //100k thermistor NTCG104LH104JT1
 
- # define AMBIENT_RAW_HI_TEMP 0
 
- # define AMBIENT_RAW_LO_TEMP 16383
 
- const 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_
 
 
  |