91 lines
1.7 KiB
C++
91 lines
1.7 KiB
C++
#pragma once
|
|
#include "../stdafx.h"
|
|
#include <string>
|
|
#include <vector>
|
|
#include "../Job/JobController.h"
|
|
|
|
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();
|
|
|
|
void SetJobController(JobController* job_controller);
|
|
|
|
|
|
protected:
|
|
JobController* m_job_controller;
|
|
static vector<string> m_InitErrorInfos;
|
|
|
|
|
|
private:
|
|
static PrintState m_print_state;
|
|
static PreRunState m_PreRunState;
|
|
static PauseState m_PauseState;
|
|
static CRITICAL_SECTION m_CS;
|
|
};
|