/******************************************************************************************************** ** HY3106常数与子程序定义头文件 ** ** Copyright (c) Siargo, Ltd. 2011 ** All Rights Reserved. ** **------------------------------------------------------------------------------------------------------- ********************************************************************************************************/ #ifndef __UnitConverter_h__ #define __UnitConverter_h__ //============================================================================== // Update V2006 //****************************************************************************** #if(FR_STD_UNIT==NCMH) //****************************************************************************** // for acc #define ACC_STD_UINT NM3 //mL #define ONE_STD_ACC_TO_ML 1000000.0 #define ONE_ML_TO_STD_ACC (1/ONE_STD_ACC_TO_ML) //SL #define ONE_STD_ACC_TO_SL 1000.0 #define ONE_SL_TO_STD_ACC (1/ONE_STD_ACC_TO_SL) //NM3 #define ONE_STD_ACC_TO_NCM 1.0 #define ONE_NCM_TO_STD_ACC 1.0 //SCF #define ONE_STD_ACC_TO_SCF 35.314724827664 #define ONE_SCF_TO_STD_ACC (1.0/ONE_STD_ACC_TO_SCF) //KG #define ONE_STD_ACC_TO_KG 1.205 #define ONE_KG_TO_STD_ACC (1.0/ONE_STD_ACC_TO_KG) //----------------------------------------------------------------------------- // flowRate // SCCM #define ONE_STD_FR_TO_SCCM (ONE_STD_ACC_TO_ML/60.0) #define ONE_SCCM_TO_STD_FR (1.0/ONE_STD_FR_TO_SCCM) // SLPM #define ONE_STD_FR_TO_SLPM (ONE_STD_ACC_TO_SL/60.0) #define ONE_SLPM_TO_STD_FR (1.0/ONE_STD_FR_TO_SLPM) // NCMH #define ONE_STD_FR_TO_NCMH 1.0 #define ONE_NCMH_TO_STD_FR 1.0 // SCFH #define ONE_STD_FR_TO_SCFH ONE_STD_ACC_TO_SCF #define ONE_SCFH_TO_STD_FR (1.0/ONE_STD_FR_TO_SCFH) // SCFM #define ONE_STD_FR_TO_SCFM (ONE_STD_FR_TO_SCFH/60.0) // 35.314724827664 /60 for(SCFM) #define ONE_SCFM_TO_STD_FR (1.0/ONE_STD_FR_TO_SCFM) // KGH #define ONE_STD_FR_TO_KGH ONE_STD_ACC_TO_KG #define ONE_KGH_TO_STD_FR ONE_KG_TO_STD_ACC //****************************************************************************** #elif(FR_STD_UNIT==SLPM) //****************************************************************************** // for acc #define ACC_STD_UINT NM3 //mL #define ONE_STD_ACC_TO_ML 1000000.0 #define ONE_ML_TO_STD_ACC (1.0/ONE_STD_ACC_TO_ML) //SL #define ONE_STD_ACC_TO_SL 1000.0 #define ONE_SL_TO_STD_ACC (1.0/ONE_STD_ACC_TO_SL) //NM3 #define ONE_STD_ACC_TO_NCM 1.0 #define ONE_NCM_TO_STD_ACC 1.0 //SCF #define ONE_STD_ACC_TO_SCF 35.314724827664 #define ONE_SCF_TO_STD_ACC (1.0/ONE_STD_ACC_TO_SCF) //KG #define ONE_STD_ACC_TO_KG 1.205 #define ONE_KG_TO_STD_ACC (1/ONE_STD_ACC_TO_KG) //----------------------------------------------------------------------------- // flowRate // SCCM #define ONE_STD_FR_TO_SCCM (1000.0/60.0) #define ONE_SCCM_TO_STD_FR (1.0/ONE_STD_FR_TO_SCCM) // SLPM #define ONE_STD_FR_TO_SLPM 1.0 #define ONE_SLPM_TO_STD_FR 1.0 // NCMH #define ONE_STD_FR_TO_NCMH (0.001*60) #define ONE_NCMH_TO_STD_FR (1.0/ONE_STD_FR_TO_NCMH) // SCFH #define ONE_STD_FR_TO_SCFH (0.035314724827664*60) #define ONE_SCFH_TO_STD_FR (1/ONE_STD_FR_TO_SCFH) // SCFM #define ONE_STD_FR_TO_SCFM 0.035314724827664 #define ONE_SCFM_TO_STD_FR (1.0/ONE_STD_FR_TO_SCFM) // KGH #define ONE_STD_FR_TO_KGH (0.001205*60) #define ONE_KGH_TO_STD_FR (1.0/ONE_STD_FR_TO_KGH) //****************************************************************************** #elif(FR_STD_UNIT==SCCM) //****************************************************************************** // for acc #define ACC_STD_UINT SL //mL #define ONE_STD_ACC_TO_ML 1000.0 #define ONE_ML_TO_STD_ACC (1.0/ONE_STD_ACC_TO_ML) //SL #define ONE_STD_ACC_TO_SL 1.0 #define ONE_SL_TO_STD_ACC 1.0 //NM3 #define ONE_STD_ACC_TO_NCM 0.001 #define ONE_NCM_TO_STD_ACC 1000.0 //SCF #define ONE_STD_ACC_TO_SCF 0.035314724827664 #define ONE_SCF_TO_STD_ACC (1.0/ONE_STD_ACC_TO_SCF) //KG #define ONE_STD_ACC_TO_KG 0.001205 #define ONE_KG_TO_STD_ACC (1.0/ONE_STD_ACC_TO_KG) //----------------------------------------------------------------------------- // flowRate // SCCM #define ONE_STD_FR_TO_SCCM 1.0 #define ONE_SCCM_TO_STD_FR 1.0 // SLPM #define ONE_STD_FR_TO_SLPM 0.001 #define ONE_SLPM_TO_STD_FR (1.0/ONE_STD_FR_TO_SLPM) // NCMH #define ONE_STD_FR_TO_NCMH (0.000001*60) #define ONE_NCMH_TO_STD_FR (1.0/ONE_STD_FR_TO_NCMH) // SCFH #define ONE_STD_FR_TO_SCFH (0.000035314724827664*60) #define ONE_SCFH_TO_STD_FR (1.0/ONE_STD_FR_TO_SCFH) // SCFM #define ONE_STD_FR_TO_SCFM 0.000035314724827664 #define ONE_SCFM_TO_STD_FR (1.0/ONE_STD_FR_TO_SCFM) // KGH #define ONE_STD_FR_TO_KGH (0.000001205*60) #define ONE_KGH_TO_STD_FR (1.0/ONE_STD_FR_TO_KGH) //--------------------------------------------------------------------------------- #endif //------------------------------------------------------------------------------ #define MIN_TIME_BASE 125 // 125ms //****************************************************************************** extern u16 flowDisUnit, flowComUnit, AccDisUnit, AccComputeUnit, AccComUnit; //------------------------------------------------------------------------------ void CombinedUnitByFlowRate(void); void CombinedUnitByACC(void); u16 JudgeflowUserUnit(u16 judgeUnit); u16 JudgeflowAccUnit(u16 judgeUnit); u16 JudgeflowUnit(u16 judgeUnit); u32 ConvertFlowrate(u32 flowRateBuf, u16 targetUnit, u16 originalUnit); void ConvertAllFlowRateAndSave(u16 NewFlowUnit); u16 ReturnStartUnitBit(u16 stdBit); u16 ConvertTimeBaseAndUnit(u16 unit, u16 timeBaseIndex); void UnitConverterInit(void); //****************************************************************************** #endif //******************************************************************************