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/CEqJobEventStep.cpp |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEqJobEventStep.cpp b/SourceCode/Bond/Servo/CEqJobEventStep.cpp
new file mode 100644
index 0000000..a0efb8b
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqJobEventStep.cpp
@@ -0,0 +1,86 @@
+#include "stdafx.h"
+#include "CEqJobEventStep.h"
+#include "Log.h"
+
+
+namespace SERVO {
+	CEqJobEventStep::CEqJobEventStep() : CReadStep()
+	{
+		m_nJobDataADev = 0;
+	}
+
+	CEqJobEventStep::~CEqJobEventStep()
+	{
+
+	}
+
+	void CEqJobEventStep::setJobDataDev(int nDev)
+	{
+		m_nJobDataADev = nDev;
+	}
+
+	void CEqJobEventStep::getAttributeVector(CAttributeVector& attrubutes)
+	{
+		CReadStep::getAttributeVector(attrubutes);
+
+		std::string strTemp;
+		attrubutes.addAttribute(new CAttribute("Dev",
+			("W" + CToolUnits::toHexString(m_nJobDataADev, strTemp)).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("PortNo",
+			std::to_string(m_jobDataA.getPortNo()).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("CarrierId",
+			m_jobDataA.getCarrierId().c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("PruductId",
+			m_jobDataA.getPruductId().c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("CarrierState",
+			m_jobDataA.getCarrierStateDescription(strTemp).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("SlotMapping",
+			std::to_string(m_jobDataA.getSlotMapping()).c_str(), ""));
+		attrubutes.addAttribute(new CAttribute("SlotSelectedFlag",
+			std::to_string(m_jobDataA.getSlotSelectedFlag()).c_str(), ""));
+		std::vector<std::string>& ids = m_jobDataA.getGlassIds();
+		for (int i = 0; i < ids.size(); i++) {
+			attrubutes.addAttribute(new CAttribute((std::string("GlassId") + std::to_string(i+1)).c_str(),
+				ids[i].c_str(), ""));
+		}
+	}
+
+	int CEqJobEventStep::onReadData()
+	{
+		CReadStep::onReadData();
+
+
+		char szBuffer[1024];
+		int nRet = m_pCclink->ReadData2(m_station, DeviceType::W, m_nJobDataADev,
+			640, szBuffer);
+		if (0 != nRet) {
+			return -1;
+		}
+
+		m_jobDataA.unserialize(szBuffer, 640);
+		LOGI("<CEqJobEventStep-%s>Read JobDataA\n", m_strName.c_str());
+
+		return 0;
+	}
+
+	int CEqJobEventStep::onComplete()
+	{
+		CReadStep::onComplete();
+		LOGI("<CEqJobEventStep> onComplete.");
+
+		return 0;
+	}
+
+	int CEqJobEventStep::onTimeout()
+	{
+		CReadStep::onTimeout();
+		LOGI("<CEqJobEventStep> onTimeout.");
+
+		return 0;
+	}
+
+	CJobDataA* CEqJobEventStep::getJobDataA()
+	{
+		return &m_jobDataA;
+	}
+}

--
Gitblit v1.9.3