2024-04-02 17:45:03 +08:00
|
|
|
|
#include "Controller.h"
|
2024-04-09 16:53:02 +08:00
|
|
|
|
#include "../config/ConfigManager.h"
|
2024-04-23 13:41:16 +08:00
|
|
|
|
#include "../Purifier/XTPurifier.h"
|
|
|
|
|
#include "../Purifier/HBD3Purifier.h"
|
|
|
|
|
#include "../Purifier/G4Purifier.h"
|
|
|
|
|
|
2024-04-02 17:45:03 +08:00
|
|
|
|
|
|
|
|
|
Controller::Controller()
|
|
|
|
|
: m_Machine(nullptr)
|
|
|
|
|
//, m_Axis(nullptr)
|
|
|
|
|
, m_StateCtrlWrapper(nullptr)
|
|
|
|
|
, m_SysParamWrapper(nullptr)
|
|
|
|
|
, m_AxisRecordWrapper(nullptr)
|
2024-04-09 16:53:02 +08:00
|
|
|
|
, m_SignalStateWrapper(nullptr)
|
|
|
|
|
, m_MachineCfg(nullptr){
|
2024-04-02 17:45:03 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Controller::~Controller() {
|
|
|
|
|
|
|
|
|
|
//DELP(m_Axis);
|
|
|
|
|
DELP(m_StateCtrlWrapper);
|
|
|
|
|
DELP(m_SysParamWrapper);
|
|
|
|
|
DELP(m_AxisRecordWrapper);
|
|
|
|
|
DELP(m_SignalStateWrapper);
|
|
|
|
|
DELP(m_Machine);
|
2024-04-09 16:53:02 +08:00
|
|
|
|
DELP(m_MachineCfg);
|
2024-04-02 17:45:03 +08:00
|
|
|
|
|
2024-04-24 18:12:41 +08:00
|
|
|
|
SysParam::SFini();
|
2024-04-02 17:45:03 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-09 16:53:02 +08:00
|
|
|
|
bool Controller::Init() {
|
2024-04-24 18:12:41 +08:00
|
|
|
|
SysParam::SInit();
|
|
|
|
|
|
2024-04-02 17:45:03 +08:00
|
|
|
|
m_StateCtrlWrapper = new StateCtrlWrapper();
|
|
|
|
|
m_SysParamWrapper = new SysParamWrapper();
|
|
|
|
|
m_AxisRecordWrapper = new AxisRecordWrapper();
|
|
|
|
|
m_SignalStateWrapper = new SignalStateWrapper();
|
2024-04-09 16:53:02 +08:00
|
|
|
|
ConfigManager::Instance()->Init();
|
|
|
|
|
m_Machine = ConfigManager::Instance()->GetMachine();
|
2024-04-24 18:12:41 +08:00
|
|
|
|
m_Machine->InitSignal(m_SignalStateWrapper, nullptr);
|
|
|
|
|
m_Machine->InitSysParam(m_SysParamWrapper, nullptr);
|
|
|
|
|
|
2024-04-02 17:45:03 +08:00
|
|
|
|
m_Machine->SetAxisAndSignal(m_SysParamWrapper, m_AxisRecordWrapper);
|
2024-04-09 16:53:02 +08:00
|
|
|
|
m_MachineCfg = ConfigManager::Instance()->GetMachineCfg();
|
2024-04-18 11:59:51 +08:00
|
|
|
|
|
|
|
|
|
m_ComServer = new ComServer(); //辅机服务
|
|
|
|
|
m_ComServer->Init();
|
|
|
|
|
|
2024-04-23 13:41:16 +08:00
|
|
|
|
switch (m_MachineCfg->m_PulifierType)
|
|
|
|
|
{
|
|
|
|
|
case PurifierTypeCfg::XT: {
|
2024-04-24 10:28:50 +08:00
|
|
|
|
m_Purifier = new XTPurifier(nullptr);
|
2024-04-23 13:41:16 +08:00
|
|
|
|
}break;
|
|
|
|
|
case PurifierTypeCfg::HBD_PURIFIER_3: {
|
2024-04-24 10:28:50 +08:00
|
|
|
|
m_Purifier = new HBD3Purifier(/*m_ScannerCtrl*/nullptr);
|
2024-04-23 13:41:16 +08:00
|
|
|
|
}break;
|
|
|
|
|
case PurifierTypeCfg::G4_PURIFIER: {
|
2024-04-24 10:28:50 +08:00
|
|
|
|
m_Purifier = new G4Purifier(/*m_ScannerCtrl*/nullptr);
|
2024-04-23 13:41:16 +08:00
|
|
|
|
}break;
|
|
|
|
|
default:
|
2024-04-24 10:28:50 +08:00
|
|
|
|
m_Purifier = new XTPurifier(/*m_ScannerCtrl*/nullptr);
|
2024-04-23 13:41:16 +08:00
|
|
|
|
}
|
|
|
|
|
m_Purifier->Init();
|
|
|
|
|
|
2024-04-09 16:53:02 +08:00
|
|
|
|
return true;
|
2024-04-02 17:45:03 +08:00
|
|
|
|
}
|