#pragma once #include "BaseClient.h" //#include "../config/ConfigManager.h" #include #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 m_Oxygens; ExtCfgNew* m_ExtCfg; //vector m_PurifierOxygenCommands; //map m_Oxygens; };