|
|
|
|
|
#include "LayserManager.h"
|
|
|
|
|
|
|
|
|
|
|
|
LayserManager::LayserManager()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LayserManager::~LayserManager()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::SetMarkParam(float ms, float mms, long tcf, long tch, long tof, long toh, long dr_time, float laserfre, float laserpower)
|
|
|
|
|
|
{
|
|
|
|
|
|
m_ms = ms;
|
|
|
|
|
|
m_mms = mms;
|
|
|
|
|
|
m_tcf = tcf;
|
|
|
|
|
|
m_tch = tch;
|
|
|
|
|
|
m_tof = tof;
|
|
|
|
|
|
m_toh = toh;
|
|
|
|
|
|
m_dr_time = dr_time;
|
|
|
|
|
|
m_laserfre = laserfre;
|
|
|
|
|
|
m_laserpower = laserpower;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::StartMark(std::vector<std::vector<Dbxy2>>& MarkCoord)
|
|
|
|
|
|
{
|
|
|
|
|
|
CMarkCtrl markCtrlObj;
|
|
|
|
|
|
markCtrlObj.SetConfigMarkParam(m_su, m_ms, m_mms, m_tcf, m_tch, m_tof, m_toh, m_dr_time, m_laserfre, m_laserpower, m_maxlaserpower);
|
|
|
|
|
|
markCtrlObj.StartMarkPci(MarkCoord);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::StartMarkSemi(std::vector<std::vector<Dbxy2>>& MarkCoord)
|
|
|
|
|
|
{
|
|
|
|
|
|
CMarkCtrl markCtrlObj;
|
|
|
|
|
|
markCtrlObj.SetConfigMarkParam(m_su, m_ms, m_mms, m_tcf, m_tch, m_tof, m_toh, m_dr_time, m_laserfre, m_laserpower, m_maxlaserpower);
|
|
|
|
|
|
markCtrlObj.StartMarkSemiVb(MarkCoord);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::OpenLaser(bool isOpen)
|
|
|
|
|
|
{
|
|
|
|
|
|
CMarkCtrl markCtrlObj;
|
|
|
|
|
|
markCtrlObj.OpenLaser(isOpen);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::SetQFreq(double qFreq)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string strOrder = "Q:" + std::to_string(qFreq) + "\r";
|
|
|
|
|
|
SendCommand(strOrder);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::SetEFreq(double qFreq)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string strOrder = "EPRF:" + std::to_string(qFreq) + "\r";
|
|
|
|
|
|
SendCommand(strOrder);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::TestMarkSemi(std::vector<std::vector<Dbxy2>>& MarkCoord, int pauseDelay, int pauseFirstDelay)
|
|
|
|
|
|
{
|
|
|
|
|
|
CMarkCtrl markCtrlObj;
|
|
|
|
|
|
markCtrlObj.m_pauseDelay = pauseDelay;
|
|
|
|
|
|
markCtrlObj.m_pauseFirstDelay = pauseFirstDelay;
|
|
|
|
|
|
markCtrlObj.SetConfigMarkParam(m_su, m_ms, m_mms, m_tcf, m_tch, m_tof, m_toh, m_dr_time, m_laserfre, m_laserpower, m_maxlaserpower);
|
|
|
|
|
|
markCtrlObj.StartMarkSemiVb(MarkCoord);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::InitLaser()
|
|
|
|
|
|
{
|
|
|
|
|
|
Pci365CardMgr::GetInstance()->CtrlLaserGate(false);
|
|
|
|
|
|
SendCommand(std::string("GEXT:1"));
|
|
|
|
|
|
SendCommand(std::string("G:1"));
|
|
|
|
|
|
SendCommand(std::string("BEI:1"));
|
|
|
|
|
|
SendCommand(std::string("ON"));
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>رռ<D8B1><D5BC><EFBFBD>
|
|
|
|
|
|
OpenLaser(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void LayserManager::UnInitLaser()
|
|
|
|
|
|
{
|
|
|
|
|
|
SendCommand(std::string("G:0"));
|
|
|
|
|
|
SendCommand(std::string("GEXT:0"));
|
|
|
|
|
|
SendCommand(std::string("OFF"));
|
|
|
|
|
|
Pci365CardMgr::GetInstance()->CtrlLaserGate(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool LayserManager::SendCommand(std::string& order)
|
|
|
|
|
|
{
|
|
|
|
|
|
order.append("\r");
|
|
|
|
|
|
m_ComMgr.SetWorkMode(FALSE, 500);
|
|
|
|
|
|
std::string strCom = std::to_string(m_nComBaduRate) + ",N,8,1";
|
|
|
|
|
|
bool bComOpen = m_ComMgr.Open(m_Com, (char*)strCom.c_str());
|
|
|
|
|
|
|
|
|
|
|
|
//order.append("\r");
|
|
|
|
|
|
m_ComMgr.Write(order.c_str());
|
|
|
|
|
|
Sleep(500);
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
std::string strRet = m_ComMgr.ReadStr();
|
|
|
|
|
|
m_ComMgr.Close();
|
|
|
|
|
|
return CheckResponse(strRet);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool LayserManager::CheckResponse(std::string& returnStr)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (returnStr.size() <= 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
int findIndex = 0;
|
|
|
|
|
|
findIndex = returnStr.find("\n");
|
|
|
|
|
|
if (findIndex < 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|