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

diff --git a/SourceCode/Bond/Servo/CEqCassetteCtrlCmdStep.cpp b/SourceCode/Bond/Servo/CEqCassetteCtrlCmdStep.cpp
new file mode 100644
index 0000000..fd4b4a8
--- /dev/null
+++ b/SourceCode/Bond/Servo/CEqCassetteCtrlCmdStep.cpp
@@ -0,0 +1,49 @@
+#include "stdafx.h"
+#include "CEqCassetteCtrlCmdStep.h"
+
+
+namespace SERVO {
+	CEqCassetteCtrlCmdStep::CEqCassetteCtrlCmdStep() : CWriteStep()
+	{
+		m_nCtrlCmdDev = 0;
+	}
+
+	CEqCassetteCtrlCmdStep::~CEqCassetteCtrlCmdStep()
+	{
+
+	}
+
+	void CEqCassetteCtrlCmdStep::setCtrlCmdDev(int nDev)
+	{
+		m_nCtrlCmdDev = nDev;
+	}
+
+	int CEqCassetteCtrlCmdStep::sendCtrlCmd(short cmd,
+		short* jobExistence,
+		int jobExistenceSize,
+		short slotProcess,
+		short jopCount,
+		CJobDataA* pJobDataA)
+	{
+		ASSERT(jobExistenceSize == 12);
+		ASSERT(pJobDataA);
+
+		char szBuffer[1024] = { 0 };
+		memcpy(&szBuffer[0], &cmd, sizeof(short));
+		memcpy(&szBuffer[2], jobExistence, sizeof(short) * jobExistenceSize);
+		memcpy(&szBuffer[26], &slotProcess, sizeof(short));
+		memcpy(&szBuffer[36], &jopCount, sizeof(short));
+		int nLen = pJobDataA->serialize(&szBuffer[38], 1024 - 38);
+		return writeData(m_nCtrlCmdDev, (const char*)szBuffer, 38 + nLen);
+	}
+
+	void CEqCassetteCtrlCmdStep::getAttributeVector(CAttributeVector& attrubutes)
+	{
+		CWriteStep::getAttributeVector(attrubutes);
+
+		std::string strTemp;
+		attrubutes.addAttribute(new CAttribute("Control Command Dev",
+			("W" + CToolUnits::toHexString(m_nCtrlCmdDev, strTemp)).c_str(), ""));
+	}
+}
+

--
Gitblit v1.9.3