mrDarker
2025-05-06 cacea2da59a3acd73f3161d819a10e0060762616
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(), ""));
   }
}