@@ -284,11 +284,17 @@ Flash_values default_flash_values = {.startup_temperature = 330,
284
284
.power_limit = 0 ,
285
285
.current_measurement = 1 ,
286
286
.startup_beep = 1 ,
287
- .deg_celsius = 1 };
287
+ .deg_celsius = 1 ,
288
+ .temp_cal_100 = 100 ,
289
+ .temp_cal_200 = 200 ,
290
+ .temp_cal_300 = 300 ,
291
+ .temp_cal_350 = 350 ,
292
+ .temp_cal_400 = 400 ,
293
+ .temp_cal_450 = 450 };
288
294
289
295
/* List of names for settings menu */
290
- #define menu_length 17
291
- char menu_names [menu_length ][22 ] = { "Startup Temp °C " ,
296
+ #define menu_length 23
297
+ char menu_names [menu_length ][28 ] = { "Startup Temp °C " ,
292
298
"Temp Offset °C " ,
293
299
"Standby Temp °C " ,
294
300
"Standby Time [min] " ,
@@ -302,6 +308,12 @@ char menu_names[menu_length][22] = { "Startup Temp °C ",
302
308
"I Measurement " ,
303
309
"Startup Beep " ,
304
310
"Temp in Celsius " ,
311
+ "Temp cal 100 " ,
312
+ "Temp cal 200 " ,
313
+ "Temp cal 300 " ,
314
+ "Temp cal 350 " ,
315
+ "Temp cal 400 " ,
316
+ "Temp cal 450 " ,
305
317
"-Load Default- " ,
306
318
"-Save and Reboot- " ,
307
319
"-Exit no Save- " };
@@ -478,6 +490,27 @@ void get_thermocouple_temperature(){
478
490
else if (attached_handle == NT115 ){
479
491
sensor_values .thermocouple_temperature = TC_temp * TC_temp * TC_COMPENSATION_X2_NT115 + TC_temp * TC_COMPENSATION_X1_NT115 + TC_COMPENSATION_X0_NT115 ;
480
492
}
493
+
494
+ /*Adjust measured temperature to fit calibrated values */
495
+ if (sensor_values .thermocouple_temperature < 100 ){
496
+ sensor_values .thermocouple_temperature = sensor_values .thermocouple_temperature * (flash_values .temp_cal_100 )/100 ;
497
+ }
498
+ else if (sensor_values .thermocouple_temperature < 200 ){
499
+ sensor_values .thermocouple_temperature = (sensor_values .thermocouple_temperature - 100 )* (flash_values .temp_cal_200 - flash_values .temp_cal_100 )/100 + flash_values .temp_cal_100 ;
500
+ }
501
+ else if (sensor_values .thermocouple_temperature < 300 ){
502
+ sensor_values .thermocouple_temperature = (sensor_values .thermocouple_temperature - 200 )* (flash_values .temp_cal_300 - flash_values .temp_cal_200 )/100 + flash_values .temp_cal_200 ;
503
+ }
504
+ else if (sensor_values .thermocouple_temperature < 350 ){
505
+ sensor_values .thermocouple_temperature = (sensor_values .thermocouple_temperature - 300 )* (flash_values .temp_cal_350 - flash_values .temp_cal_300 )/50 + flash_values .temp_cal_300 ;
506
+ }
507
+ else if (sensor_values .thermocouple_temperature < 400 ){
508
+ sensor_values .thermocouple_temperature = (sensor_values .thermocouple_temperature - 350 )* (flash_values .temp_cal_400 - flash_values .temp_cal_350 )/50 + flash_values .temp_cal_350 ;
509
+ }
510
+ else {
511
+ sensor_values .thermocouple_temperature = (sensor_values .thermocouple_temperature - 400 )* (flash_values .temp_cal_450 - flash_values .temp_cal_400 )/50 + flash_values .temp_cal_400 ;
512
+ }
513
+
481
514
sensor_values .thermocouple_temperature += flash_values .temperature_offset ; // Add temperature offset value
482
515
sensor_values .thermocouple_temperature = clamp (sensor_values .thermocouple_temperature ,0 ,500 ); // Clamp
483
516
0 commit comments