#include "stdafx.h" #include "CEqVcrEventStep.h" #include "Log.h" namespace SERVO { CEqVcrEventStep::CEqVcrEventStep() : CReadStep() { m_nVcrEventReportDev = 0; } CEqVcrEventStep::~CEqVcrEventStep() { } void CEqVcrEventStep::setVcrEventReportDev(int nDev) { m_nVcrEventReportDev = nDev; } void CEqVcrEventStep::getAttributeVector(CAttributeVector& attrubutes) { CReadStep::getAttributeVector(attrubutes); unsigned int weight = 31; std::string strTemp; attrubutes.addAttribute(new CAttribute("Dev", ("W" + CToolUnits::toHexString(m_nVcrEventReportDev, strTemp)).c_str(), "", weight++)); attrubutes.addAttribute(new CAttribute("GlassId", m_vcrEventReport.getGlassId().c_str(), "", weight++)); attrubutes.addAttribute(new CAttribute("CassetteSequenceNo", std::to_string(m_vcrEventReport.getCassetteSequenceNo()).c_str(), "", weight++)); attrubutes.addAttribute(new CAttribute("JobSequenceNo", std::to_string(m_vcrEventReport.getJobSequenceNo()).c_str(), "", weight++)); attrubutes.addAttribute(new CAttribute("UnitNo", std::to_string(m_vcrEventReport.getUnitNo()).c_str(), "", weight++)); attrubutes.addAttribute(new CAttribute("VCR No", std::to_string(m_vcrEventReport.getVcrNo()).c_str(), "", weight++)); attrubutes.addAttribute(new CAttribute("VCR Result", m_vcrEventReport.getVcrResultDescription(strTemp).c_str(), "", weight++)); } int CEqVcrEventStep::onReadData() { CReadStep::onReadData(); char szBuffer[64]; int nRet = m_pCclink->ReadData2(m_station, DeviceType::W, m_nVcrEventReportDev, 30, szBuffer); if (0 != nRet) { return -1; } m_vcrEventReport.unserialize(szBuffer, 60); LOGI("Read VCR Event Report", m_strName.c_str()); return 0; } int CEqVcrEventStep::onComplete() { CReadStep::onComplete(); LOGI(" onComplete."); return 0; } int CEqVcrEventStep::onTimeout() { CReadStep::onTimeout(); LOGE(" onTimeout."); return 0; } CVcrEventReport* CEqVcrEventStep::getVcrEventReport() { return &m_vcrEventReport; } int CEqVcrEventStep::setReturnCode(short code) { memcpy(m_szReturnBuf, &code, sizeof(short)); m_nReturnDataSize = sizeof(short); return 0; } }