GrpcPrint/PrintC/Communication/OxygenClient.h

84 lines
2.4 KiB
C
Raw Normal View History

2024-04-18 11:59:51 +08:00
#pragma once
#include "BaseClient.h"
//#include "../config/ConfigManager.h"
#include <map>
#include "../config/bean/ExtCfg.h"
class Oxygenstat
{
public:
explicit Oxygenstat() {
concentrationValue = 0.0f;
valueUnit = "";
scale = 1;
tempValue = 0.0f;
humidityValue = 0.0f;
concentrationAgValue = 0.0f;
}
public:
BaseStat baseStat;
float concentrationValue; //浓度值
string valueUnit; //浓度单位
int scale; //数值放大倍数
float tempValue; //温度值
float humidityValue; //湿度值
float concentrationAgValue; //模拟量
};
#pragma pack(1)
class OxygenstatParam
{
public:
explicit OxygenstatParam()
: concentrationValue(new FloatData("concentrationValue",u8"浓度值"))
, valueUnit(new StrData("valueUnit",u8"浓度单位"))
, scale(new IntData("scale",u8"数值放大倍数",1))
, tempValue(new FloatData("tempValue",u8"温度值"))
, humidityValue(new FloatData("humidityValue",u8"湿度值"))
, concentrationAgValue(new FloatData("concentrationAgValue",u8"模拟量"))
{
}
public:
BaseStat baseStat;
char m_startFlag;
FloatData* concentrationValue; //浓度值
StrData* valueUnit; //浓度单位
IntData* scale; //数值放大倍数
FloatData* tempValue; //温度值
FloatData* humidityValue; //湿度值
FloatData* concentrationAgValue; //模拟量
char m_endFlag;
};
#pragma pack()
class OxygenClient :public TcpClient
{
public:
OxygenClient(void* pconfig = nullptr);
~OxygenClient();
void GetOxygenStat(unsigned char addr, Oxygenstat& stat);
void GetOxygenStat(Oxygenstat& stat1, Oxygenstat& stat2, Oxygenstat& stat3);
//void InitCommand();
protected:
//virtual void ServerDisconnectProc();
//virtual void WriteSuccessProc(int wlength, unsigned char* buffer, Command* pcommand);
//virtual void WriteTimeoutProc(Command* pcommand);
//virtual void ReadTimeoutProc(Command* pcommand);
//virtual void ReadSuccessProc(int rlength, unsigned char* buffer, Command* pcommand);
private:
//void static PorcOxygenValue(void* pobject, Command* pcommand);
//void static ProcPointInfo(void* pobject, Command* pcommand);
//void static PorcConcentrationValue(void* pobject, Command* pcommand);
//void static ProcTempInfo(void* pobject, Command* pcommand);
//void static ProcNewVersion(void* pobject, Command* pcommand);
private:
map<unsigned char, OxygenstatParam*> m_Oxygens;
ExtCfg* m_ExtCfg;
//vector<Command*> m_PurifierOxygenCommands;
//map<unsigned char, double> m_Oxygens;
};