91 lines
1.7 KiB
C
Raw Normal View History

2024-03-25 13:22:32 +08:00
#pragma once
#include "../stdafx.h"
#include <string>
#include <vector>
2024-03-26 10:33:00 +08:00
#include "../Job/JobController.h"
2024-03-25 13:22:32 +08:00
using namespace std;
class BaseCtrl
{
public:
enum PrintState
{
STANDBY = 0, //就绪
STANDBY_PAUSE, //暂停后就绪
STANDBY_STOP, //停止后就绪
PREPRINT, //打印前准备
PRINTING, //打印中
FINISH, //打印完成
PAUSE, //暂停
STOP //停止
};
enum PreRunState {
NonePre = 0,
CheckIO,
Purifying,
Dedusting,
WaitConfirm,
CancelConfirm,
SummitConfirm,
AutoHeatingScanner,
PreFinished,
};
enum PauseState {
NoPause = 0,
ManualPause,
PrintRestPause,
AlarmPause,
AlarmAutoPause
};
BaseCtrl();
~BaseCtrl();
public:
static void SInit();
static void SUninit();
virtual bool Init() = 0;
virtual bool BeginWork() = 0;
virtual bool PauseWork()=0;
virtual bool StopWork()=0;
virtual void ModelScan(int partId, string scanType, float power, float speed) {}
static PrintState GetState();
static PreRunState GetPreState();
static PauseState GetPauseState();
static void SetPauseState(PauseState ps);
static void SetState(PrintState ps);
static void SetPreState(PreRunState rs);
static void SetStandBy();
static void SetFinish();
static bool IsStart();
static bool IsPause();
static bool IsStop();
static bool IsStandBy();
static bool IsFinish();
static bool IsPrePrint();
static bool IsPauseStanBy();
static bool IsHeatingScanner();
2024-03-26 10:33:00 +08:00
void SetJobController(JobController* job_controller);
2024-03-25 13:22:32 +08:00
protected:
2024-03-26 10:33:00 +08:00
JobController* m_job_controller;
static vector<string> m_InitErrorInfos;
2024-03-25 13:22:32 +08:00
private:
static PrintState m_print_state;
static PreRunState m_PreRunState;
static PauseState m_PauseState;
static CRITICAL_SECTION m_CS;
};