aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
index ef37ffcee..23accb66a 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
@@ -432,7 +432,8 @@ int32_t RTD(uint32_t Resistance_mult_by_100) //Resistance * 100
uint32_t CalculateTemperatures(TEMPERATURE_SENSOR_ID_ENUM SensorId, uint32_t Data)
{
- int32_t Current_Measurement_C = 0, temp = 0;
+ int32_t Current_Measurement_C = 0;
+ float temp = 0.0;
uint32_t Resistance_mult_by_100;
@@ -456,21 +457,25 @@ uint32_t CalculateTemperatures(TEMPERATURE_SENSOR_ID_ENUM SensorId, uint32_t Dat
uint32_t NoOfAvrSamples = 5;//TODO - how many Samples
Status = Filter_Temparature_Measurement(SensorId, Current_Measurement_C, NoOfAvrSamples);
#else
- if((Head_Type == HEAD_TYPE_STAPLE_SPUN) && (( SensorId == HEAD_PT100_ZONE_6_0X84_1) || ( SensorId == HEAD_PT100_ZONE_8_0X86_1)))//pressure sensors
+ if((Head_Type == HEAD_TYPE_STAPLE_SPUN) && (( SensorId == HEAD_PT100_ZONE_6_0X84_1) || ( SensorId == HEAD_PT100_ZONE_8_0X86_1) || ( SensorId == HEAD_PT100_ZONE_5_0X84_0) || ( SensorId == HEAD_PT100_ZONE_7_0X86_0)))//pressure sensors
//if((Head_Type == HEAD_TYPE_STAPLE_SPUN) && (( SensorId == HEAD_PT100_ZONE_5_0X84_0) || ( SensorId == HEAD_PT100_ZONE_7_0X86_0)))//pressure sensors
{
//Head Staple spun pressure sensors
//bits to mvolts
- temp = TempSensorResponse[SensorId].PT100_ADC_Reading_Bits* 3.3 *1000;
- temp /= 8388608;//mV
- TempSensorResponse[SensorId].Temperature_C_mult_by_100 = temp;///mV
- Current_Measurement_C = temp;///mV
- }
- else
- {
- TempSensorResponse[SensorId].Temperature_C_mult_by_100 = Current_Measurement_C;
+ float temp1 = 3.3;//3.3V ref
+ float temp2 = 8388608.0;//2^23 (24bit)
+ float temp3 = 100.0;// V_mult_by_100
+
+ temp = Data & 0x00FFFFFF;//24bit
+ temp *= temp1;
+ temp /= temp2;
+ temp *= temp3;
+
+ Current_Measurement_C = (int32_t)(temp);///V_mult_by_100
}
+ TempSensorResponse[SensorId].Temperature_C_mult_by_100 = Current_Measurement_C;
+
#endif
return Current_Measurement_C;
}