#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(); void SetParam(const ReadData& msg); 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; };