#pragma once #include "BasePurifier.h" #include "../Communication/M1PurifierClient.h" #include "../ScannerCtrl/ScannerCtrl.h" #include "../Controller/UIBean.h" class M1Purifier :public BasePurifier { public: M1Purifier(ScannerCtrl* scannerCtrl); ~M1Purifier(); 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); double GetWindValue(double dvalue); //virtual void DrawUI(); string GetWindText() { return _(u8"循环风速:%.2f m/s"); } //void DrawConfig(); virtual bool IsConnectAlarm(); virtual bool IsWindActive(); virtual void SetCoverWind(bool bvalue); virtual bool IsCoverWindRecover(); virtual bool IsCoverWindSlow(); virtual void ResetSlowWind(); virtual void ResetSlwoWindSignal(bool precover); virtual bool StartBlowBack(bool wait, int wcont, string toast); float GetFanFreq() { return m_State.m_RealFreq; } //void DrawFinishReportRel(); string GetFinishPrintBlowbackInfo(); int GetFilterUseTime(); void CheckInternalAlarm(); //private: // void DrawUserUI(); // void DrawAdminUI(); protected: enum FinishPrintBlowbackStep { Forbid = 0, Ready, Deoxygen, Blowback, Finished }; private: ScannerCtrl* m_ScannerCtrl; M1Info m_State; M1PurifierClient* m_Client; RunCfg* m_RunCfg; PurifierShowBean m_ShowAssist; bool m_IsDeoxygenStarted; uint64_t m_LastStartDeoxygenTime; bool m_HadCalcDeoxygenTime; bool m_PreConnectState; uint64_t m_ConnectAlarmTick; uint64_t m_DudestingAlarmTick; short m_LastKeepAlive; uint64_t m_AutoOxyPowerOffTick; int m_FinishPrintBlowbackStep; bool m_ManualCheckAirTightness; };