#pragma once #include "../Communication/PurifierClient.h" //#include "../ScannerCtrl/ScannerCtrl.h" #include "../UI/UIBean.h" #include "BasePurifier.h" class XTPurifier:public BasePurifier { public: XTPurifier(void* scannerCtrl = nullptr); ~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) { return false; } 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; };