From cacea2da59a3acd73f3161d819a10e0060762616 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 06 五月 2025 14:54:13 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/CEqVcrEventStep.cpp |   90 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 90 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEqVcrEventStep.cpp b/SourceCode/Bond/Servo/CEqVcrEventStep.cpp
new file mode 100644
index 0000000..e4c14d7
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqVcrEventStep.cpp
@@ -0,0 +1,90 @@
+#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);
+
+		std::string strTemp;
+		attrubutes.addAttribute(new CAttribute("Dev",
+			("W" + CToolUnits::toHexString(m_nVcrEventReportDev, strTemp)).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("GlassId",
+			m_vcrEventReport.getGlassId().c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("CassetteSequenceNo",
+			std::to_string(m_vcrEventReport.getCassetteSequenceNo()).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("JobSequenceNo",
+			std::to_string(m_vcrEventReport.getJobSequenceNo()).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("UnitNo",
+			std::to_string(m_vcrEventReport.getUnitNo()).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("VCR No",
+			std::to_string(m_vcrEventReport.getVcrNo()).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("VCR Result",
+			m_vcrEventReport.getVcrResultDescription(strTemp).c_str(), ""));
+	}
+
+	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("<CEqVcrEventStep-%s>Read VCR Event Report\n", m_strName.c_str());
+
+		return 0;
+	}
+
+	int CEqVcrEventStep::onComplete()
+	{
+		CReadStep::onComplete();
+		LOGI("<CEqVcrEventStep> onComplete.");
+
+		return 0;
+	}
+
+	int CEqVcrEventStep::onTimeout()
+	{
+		CReadStep::onTimeout();
+		LOGI("<CEqVcrEventStep> 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;
+	}
+}
+

--
Gitblit v1.9.3