#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