GrpcPrint/PrintS/Purifier/XTPurifier.h

74 lines
1.8 KiB
C++

#pragma once
#include "../Communication/PurifierClient.h"
#include "../ScannerCtrl/ScannerCtrl.h"
#include "../Controller/UIBean.h"
class XTPurifier:public BasePurifier
{
public:
XTPurifier(ScannerCtrl* scannerCtrl);
~XTPurifier();
void Init();
void UpdateShowStat();
void StartAutoDeoxygen();
void StopAutoDeoxygen();
bool IsAutoDeoxygen();
void AutoCtrl();
void AutoCtrlWhenPrint();
void AutoCtrlWhenDoorOpen();
void AutoCtrlWhenStanby();
void HandlePrintFinish();
void HandlePrintStop();
bool HandleReadyPrint(bool startAfterPause, unsigned int& deoxytime);
PurifierClient* GetClient() { return m_Client; }
double GetWindValue(double dvalue);
//void DrawUI();
string GetWindText() { return _(u8"循环风量:%.2f M3/H"); }
//void DrawConfig();
bool IsConnectAlarm();
virtual bool IsWindActive();
bool IsCoverWindSet();
virtual void SetCoverWind(bool bvalue);
virtual bool IsCoverWindRecover();
virtual bool IsCoverWindSlow();
virtual void ResetSlowWind();
virtual void ResetSlwoWindSignal(bool precover);
float GetFanFreq() { return m_State.fanFreq; }
void CheckInternalAlarm();
//void DrawFinishReportRel();
int GetFilterUseTime();
void SendToClients();
private:
//void DrawUserUI();
//void DrawAdminUI();
public:
float m_LastDeoxygenTime;
protected:
PurifierClient* m_Client;
Purifierstat_XT m_State;
ScannerCtrl* m_ScannerCtrl;
RunCfg* m_RunCfg;
IOCfgWrapper* m_IOCfgWrapper;
MachineCfg* m_MachineCfg;
AlarmCfgWrapper* m_AlarmCfgWrapper;
bool m_IsDeoxygenStarted;
uint64_t m_LastStartDeoxygenTime;
bool m_HadCalcDeoxygenTime;
PurifierShowBean m_PurifierShowBean;
bool m_PreConnectState;
uint64_t m_ConnectAlarmTick;
int m_ConnectAlarmCountTick;
uint64_t m_DudestingAlarmTick;
bool m_ManualCheckAirTightness;
short m_LastKeepAlive;
};