Files
CHJ/user/Compute/StaticTemperature.c
2026-03-20 21:19:53 +08:00

55 lines
1.8 KiB
C

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