#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 }