Marlin/Marlin/thermistortables.h

149 lines
2.8 KiB
C

#ifndef THERMISTORTABLES_H_
#define THERMISTORTABLES_H_
#if (THERMISTORHEATER == 1) || (THERMISTORBED == 1) //100k bed thermistor
#define NUMTEMPS_1 61
const short temptable_1[NUMTEMPS_1][2] = {
{ (23*16) , 300 },
{ (25*16) , 295 },
{ (27*16) , 290 },
{ (28*16) , 285 },
{ (31*16) , 280 },
{ (33*16) , 275 },
{ (35*16) , 270 },
{ (38*16) , 265 },
{ (41*16) , 260 },
{ (44*16) , 255 },
{ (48*16) , 250 },
{ (52*16) , 245 },
{ (56*16) , 240 },
{ (61*16) , 235 },
{ (66*16) , 230 },
{ (71*16) , 225 },
{ (78*16) , 220 },
{ (84*16) , 215 },
{ (92*16) , 210 },
{ (100*16), 205 },
{ (109*16), 200 },
{ (120*16), 195 },
{ (131*16), 190 },
{ (143*16), 185 },
{ (156*16), 180 },
{ (171*16), 175 },
{ (187*16), 170 },
{ (205*16), 165 },
{ (224*16), 160 },
{ (245*16), 155 },
{ (268*16), 150 },
{ (293*16), 145 },
{ (320*16), 140 },
{ (348*16), 135 },
{ (379*16), 130 },
{ (411*16), 125 },
{ (445*16), 120 },
{ (480*16), 115 },
{ (516*16), 110 },
{ (553*16), 105 },
{ (591*16), 100 },
{ (628*16), 95 },
{ (665*16), 90 },
{ (702*16), 85 },
{ (737*16), 80 },
{ (770*16), 75 },
{ (801*16), 70 },
{ (830*16), 65 },
{ (857*16), 60 },
{ (881*16), 55 },
{ (903*16), 50 },
{ (922*16), 45 },
{ (939*16), 40 },
{ (954*16), 35 },
{ (966*16), 30 },
{ (977*16), 25 },
{ (985*16), 20 },
{ (993*16), 15 },
{ (999*16), 10 },
{ (1004*16), 5 },
{ (1008*16), 0 } //safety
};
#endif
#if (THERMISTORHEATER == 2) || (THERMISTORBED == 2) //200k bed thermistor
#define NUMTEMPS_2 21
const short temptable_2[NUMTEMPS_2][2] = {
{(1*16), 848},
{(54*16), 275},
{(107*16), 228},
{(160*16), 202},
{(213*16), 185},
{(266*16), 171},
{(319*16), 160},
{(372*16), 150},
{(425*16), 141},
{(478*16), 133},
{(531*16), 125},
{(584*16), 118},
{(637*16), 110},
{(690*16), 103},
{(743*16), 95},
{(796*16), 86},
{(849*16), 77},
{(902*16), 65},
{(955*16), 49},
{(1008*16), 17},
{(1020*16), 0} //safety
};
#endif
#if (THERMISTORHEATER == 3) || (THERMISTORBED == 3) //mendel-parts
#define NUMTEMPS_3 28
const short temptable_3[NUMTEMPS_3][2] = {
{(1*16),864},
{(21*16),300},
{(25*16),290},
{(29*16),280},
{(33*16),270},
{(39*16),260},
{(46*16),250},
{(54*16),240},
{(64*16),230},
{(75*16),220},
{(90*16),210},
{(107*16),200},
{(128*16),190},
{(154*16),180},
{(184*16),170},
{(221*16),160},
{(265*16),150},
{(316*16),140},
{(375*16),130},
{(441*16),120},
{(513*16),110},
{(588*16),100},
{(734*16),80},
{(856*16),60},
{(938*16),40},
{(986*16),20},
{(1008*16),0},
{(1018*16),-20}
};
#endif
#if THERMISTORHEATER == 1
#define NUMTEMPS NUMTEMPS_1
#define temptable temptable_1
#elif THERMISTORHEATER == 2
#define NUMTEMPS NUMTEMPS_2
#define temptable temptable_2
#elif THERMISTORHEATER == 3
#define NUMTEMPS NUMTEMPS_3
#define temptable temptable_3
#else
#error No heater thermistor table specified
#endif
#endif //THERMISTORTABLES_H_