68 lines
1.7 KiB
C
68 lines
1.7 KiB
C
#ifndef _GASDATA_H_
|
|
#define _GASDATA_H_
|
|
|
|
#include "main.h"
|
|
|
|
#define GASDATA_TYPE_CH4 (0x00)
|
|
#define GASDATA_TYPE_CO2 (0x01)
|
|
#define GASDATA_TYPE_CO (0x02)
|
|
#define GASDATA_TYPE_CnHm (0x03)
|
|
#define GASDATA_TYPE_SO2 (0x04)
|
|
#define GASDATA_TYPE_H2S (0x05)
|
|
#define GASDATA_TYPE_H2 (0x06)
|
|
#define GASDATA_TYPE_O2 (0x07)
|
|
#define GASDATA_TYPE_HF (0x1C)
|
|
#define GASDATA_TYPE_NH3 (0x1D)
|
|
|
|
|
|
#define GASDATA_UNIT_PPM (0)
|
|
#define GASDATA_UNIT_MG_M3 (1)
|
|
#define GASDATA_UNIT_PERCENT (2)
|
|
#define GASDATA_UNIT_M_S (3)
|
|
#define GASDATA_UNIT_M3_H (4)
|
|
|
|
typedef struct
|
|
{
|
|
u8 GasType;
|
|
u8 Uint;
|
|
u8 Point;
|
|
u16 Range;
|
|
}GasData_Flash_t;
|
|
|
|
typedef struct
|
|
{
|
|
GasData_Flash_t FlashData; /*气体组分相关信息*/
|
|
float Slope; /*斜率*/
|
|
|
|
u8 FastFlag; /*快速响应标志位*/
|
|
u16 Left,Mid; /*找峰*/
|
|
u16 Light_AD; /*光功率*/
|
|
u16 TempAD; /*温度AD*/
|
|
s16 Temp; /*温度*/
|
|
u16 TECAD; /*TEC AD*/
|
|
s16 TECTemp; /*TEC 温度*/
|
|
|
|
|
|
|
|
u16 R_AD; /*原始AD值*/
|
|
u16 R_AD_Cal; /*原始AD值*/
|
|
u16 Cali_AD; /*校准时的滤波AD值*/
|
|
u16 Measur_AD; /*正常测量时的滤波AD值*/
|
|
|
|
s16 R_Value; /*滤波前拟合浓度*/
|
|
s16 Fac_Value; /*厂家拟合的浓度*/
|
|
s16 Usr_Value; /*用户校准后的浓度*/
|
|
}GasDataClass_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
GasDataClass_t Gas_1,Gas_2;
|
|
void (*Task)(void);
|
|
char *(*GetName)(u8);
|
|
char *(*GetUnit)(u8);
|
|
}GasData_t;
|
|
|
|
extern GasData_t GasData;
|
|
#endif
|