mrDarker
2025-05-06 cacea2da59a3acd73f3161d819a10e0060762616
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;
   }
}