GrpcPrint/PrintS/Purifier/M1Purifier.h

82 lines
1.8 KiB
C
Raw Permalink Normal View History

#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;
};