Files
airborne_CO2/Source/IrisSensor_Gas_P0.h
xin e7cd1e93a6 优化气体传感器数据解析和消息传递
- 使用union解析CO2/H2O数据,解决大小端问题
- 添加LINECOMMEND/LINEDATASHOW消息类型区分
- 添加WorkingState/SavingDate原子变量
- 修正气体传感器部分逻辑
2026-03-04 10:22:51 +08:00

37 lines
825 B
C++

#pragma once
#include "pch.h"
class IrisSensor_Gas_P0
{
public:
IrisSensor_Gas_P0();
~IrisSensor_Gas_P0();
private:
int m_iBaudRate;
QSerialPort *m_pSerialPort;
std::string m_sRecv;
float m_fTPTemperature;
float m_fPP, m_fPB;
long m_ulCO2, m_ulH2O;
unsigned int uiSoftwareVersion, uiHardwareVersion;
public:
private:
int SendData_Chk(std::string sSend);
int RecvData_Chk(/*std::string sRecv*/);
int ParseMeasuredData_Chk();
public:
int Initialize(std::string ucPortNumber);
int GetVersion();
int GetMeasuredData(double &ulCO2, double &ulH2O,float &fTPTemperature,float &fPP, float &fPB);
int ZeroCalibration_N2();
int ZeroCalibration_Air();
int SpanCalibration(char cChannel, unsigned int uiPPM);
int ResetCalibration(char cChannel);//FF means all channel
int StopAutoSending();
};