170 lines
6.3 KiB
C
170 lines
6.3 KiB
C
/********************************************************************************************************
|
|
** 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
|
|
//******************************************************************************
|
|
|
|
|