Index: firmware/App/Drivers/TemperatureSensors.c =================================================================== diff -u -re7fe0454b5b2d39009dc784dc8c156856df8bc86 -rc408c29123e153d5a004b5b58bd455d01824f7f1 --- firmware/App/Drivers/TemperatureSensors.c (.../TemperatureSensors.c) (revision e7fe0454b5b2d39009dc784dc8c156856df8bc86) +++ firmware/App/Drivers/TemperatureSensors.c (.../TemperatureSensors.c) (revision c408c29123e153d5a004b5b58bd455d01824f7f1) @@ -34,11 +34,16 @@ // ********** private definitions ********** +#define USE_PT_100 1 ///< flag to check PT100 use in calculations + #define PRIMARY_HEATER_TEMP_SENSORS_GAIN 8U ///< Primary heater temperature sensors gain. #define PRIMARY_HEATER_TEMP_SENSORS_REF_RESISTANCE 20000 ///< Primary heater temperature sensors reference resistance. #define PRIMARY_HEATER_TEMP_SENSORS_0_DEGREE_RESISTANCE 1000U ///< Primary heater temperature sensors zero degree resistance. -#define PRIMARY_HEATER_TEMP_SENSORS_V3_REF_RESISTANCE 19600 ///< Primary heater temperature sensors V3 reference resistance. +#define PT100_TEMP_SENSORS_GAIN 8U ///< PT100 temperature sensors gain. +#define PT100_TEMP_SENSORS_REF_RESISTANCE 4700 ///< PT100 temperature sensors reference resistance. +#define PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE 100U ///< PT100 temperature sensors zero degree resistance. + #define TEMP_SENSORS_ADC_BITS 24U ///< External temperature sensors ADC bits. #define MAX_NUM_OF_RAW_ADC_SAMPLES 4U ///< Number of ADC reads for moving average calculations. #define SHIFT_BITS_BY_2 2U ///< Shift bits by 2 to create a 4 for averaging 4 samples. @@ -149,7 +154,29 @@ memset( &baroConvConsts, 0x0, sizeof( BARO_SENSOR_CONSTS_T ) ); // Initialize TH1 (primary heater), TH2(outlet Heat Exchanger), TAUX ( Inlet Heat exchanger), - // TH3 ( Trim Heater) constants. For now, assume same gain across all sensors. + // TH3 ( Trim Heater) constants. + // Based on the PT100/PT1000,define the constants for all temperature sensors +#ifdef USE_PT_100 + tempSensors[ TEMPSENSORS_INLET_HEAT_EXCHANGER ].gain = PT100_TEMP_SENSORS_GAIN; + tempSensors[ TEMPSENSORS_INLET_HEAT_EXCHANGER ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ TEMPSENSORS_INLET_HEAT_EXCHANGER ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ TEMPSENSORS_INLET_HEAT_EXCHANGER ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; + + tempSensors[ TEMPSENSORS_OUTLET_HEAT_EXCHANGER ].gain = PT100_TEMP_SENSORS_GAIN; + tempSensors[ TEMPSENSORS_OUTLET_HEAT_EXCHANGER ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ TEMPSENSORS_OUTLET_HEAT_EXCHANGER ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ TEMPSENSORS_OUTLET_HEAT_EXCHANGER ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; + + tempSensors[ TEMPSENSORS_HYDRAULICS_PRIMARY_HEATER ].gain = PT100_TEMP_SENSORS_GAIN; + tempSensors[ TEMPSENSORS_HYDRAULICS_PRIMARY_HEATER ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ TEMPSENSORS_HYDRAULICS_PRIMARY_HEATER ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ TEMPSENSORS_HYDRAULICS_PRIMARY_HEATER ].maxAllowedTemp = HEATERS_INTERNAL_TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; + + tempSensors[ TEMPSENSORS_TRIMMER_HEATER ].gain = PT100_TEMP_SENSORS_GAIN; + tempSensors[ TEMPSENSORS_TRIMMER_HEATER ].refResistance = PT100_TEMP_SENSORS_REF_RESISTANCE; + tempSensors[ TEMPSENSORS_TRIMMER_HEATER ].zeroDegreeResistance = PT100_TEMP_SENSORS_0_DEGREE_RESISTANCE; + tempSensors[ TEMPSENSORS_TRIMMER_HEATER ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; +#else tempSensors[ TEMPSENSORS_INLET_HEAT_EXCHANGER ].gain = PRIMARY_HEATER_TEMP_SENSORS_GAIN; tempSensors[ TEMPSENSORS_INLET_HEAT_EXCHANGER ].refResistance = PRIMARY_HEATER_TEMP_SENSORS_REF_RESISTANCE; tempSensors[ TEMPSENSORS_INLET_HEAT_EXCHANGER ].zeroDegreeResistance = PRIMARY_HEATER_TEMP_SENSORS_0_DEGREE_RESISTANCE; @@ -169,7 +196,9 @@ tempSensors[ TEMPSENSORS_TRIMMER_HEATER ].refResistance = PRIMARY_HEATER_TEMP_SENSORS_REF_RESISTANCE; tempSensors[ TEMPSENSORS_TRIMMER_HEATER ].zeroDegreeResistance = PRIMARY_HEATER_TEMP_SENSORS_0_DEGREE_RESISTANCE; tempSensors[ TEMPSENSORS_TRIMMER_HEATER ].maxAllowedTemp = TEMP_SENSORS_MAX_ALLOWED_DEGREE_C; +#endif + // Board temperature sensors conversion coefficient tempSensors[ TEMPSENSORS_BOARD_TEMPERATURE ].conversionCoeff = conversionCoeff; tempSensors[ TEMPSENSORS_BOARD_TEMPERATURE ].maxAllowedTemp = NON_FLUID_PATH_TEMP_SENSORS_MAX_ALLOWED_DEGREE_C;