55 lines
1.8 KiB
C
Executable File
55 lines
1.8 KiB
C
Executable File
#include "../main/SystemInclude.h"
|
|
|
|
// for flowrate compute
|
|
s32 RHCalibDeltaVaule, TACalibDeltaVaule, RHTemperature;
|
|
static u16 zeroCalibType;
|
|
|
|
//******************************************************************************
|
|
u16 ComputeRHTemperature(u16 RHRes)
|
|
{
|
|
s32 computeBuf;
|
|
|
|
RHCalibDeltaVaule = (u32)RHHighTa-(u32)RHLowTa;
|
|
TACalibDeltaVaule = (u32)staticHighTemperature-(u32)staticLowTemperature;
|
|
|
|
computeBuf = (u32)RHRes-(u32)RHLowTa;
|
|
computeBuf *= TACalibDeltaVaule;
|
|
computeBuf /= RHCalibDeltaVaule;
|
|
computeBuf += (u32)staticLowTemperature;
|
|
|
|
return (u16)computeBuf;
|
|
}
|
|
|
|
//******************************************************************************
|
|
void StaticTGasCompute(void)
|
|
{
|
|
voltageDetected[TRH] = ComputeRHTemperature(voltageDetected[RRRES]);
|
|
|
|
//==============================================================================
|
|
#ifndef ENABLE_RR_CALIBRATION
|
|
#pragma message("[undefined] ENABLE_RR_CALIBRATION")
|
|
#elif(ENABLE_RR_CALIBRATION)
|
|
// 通过高低温标定过的RR计算介质温度
|
|
RHCalibDeltaVaule = (u32)RRHigh-(u32)RRLow;
|
|
TACalibDeltaVaule = (u32)staticHighTemperature-(u32)staticLowTemperature;
|
|
|
|
tmpSLA = (u32)voltageDetected[RRRES]-(u32)RRLow;
|
|
tmpSLA *= TACalibDeltaVaule;
|
|
tmpSLA /= RHCalibDeltaVaule;
|
|
tmpSLA += (u32)staticLowTemperature;
|
|
voltageDetected[TGAS] = (u16)tmpSLA;
|
|
#else
|
|
// 通过RR默认的系数计算介质温度
|
|
voltageDetected[TGAS] = voltageDetected[TPCB];
|
|
#endif
|
|
|
|
//==============================================================================
|
|
#ifndef ENABLE_PRESSURE_TEMPERATURE
|
|
#pragma message("[undefined] ENABLE_PRESSURE_TEMPERATURE")
|
|
#elif(!ENABLE_PRESSURE_TEMPERATURE)
|
|
GasTemperature = (u16)voltageDetected[TGAS];
|
|
GasTemperature -= (u16)TEMPRETURE_OFFSET;
|
|
#endif
|
|
}
|
|
|