chenluhua1980
6 天以前 0f014b951cde5536f508eb4a7386ebbd3808e78d
SourceCode/Bond/Servo/CEqStatusStep.cpp
@@ -5,11 +5,12 @@
namespace SERVO {
   CEqStatusStep::CEqStatusStep() : CStep()
   CEqStatusStep::CEqStatusStep() : CReadStep()
   {
      m_nStatusDev = 0;
      m_nUnitId = 0;
      for (int i = 0; i < STATUS_MAX; i++) {
         m_nStatus[i] = 7;
         m_nStatus[i] = 0;
         m_nReasonCode[i] = 0;
      }
   
@@ -23,20 +24,22 @@
   void CEqStatusStep::getAttributeVector(CAttributeVector& attrubutes)
   {
      CStep::getAttributeVector(attrubutes);
      CReadStep::getAttributeVector(attrubutes);
      unsigned int weight = 31;
      char szName[256];
      for (int i = 0; i < STATUS_MAX; i++) {
         sprintf_s(szName, 256, "Status %d", i + 1);
         attrubutes.addAttribute(new CAttribute(szName,
            std::to_string(m_nStatus[i]).c_str(), ""));
            std::to_string(m_nStatus[i]).c_str(), "", weight++));
         sprintf_s(szName, 256, "Reason Code %d", i + 1);
         attrubutes.addAttribute(new CAttribute(szName,
            std::to_string(m_nReasonCode[i]).c_str(), ""));
            std::to_string(m_nReasonCode[i]).c_str(), "", weight++));
      }
      std::string strTemp;
      attrubutes.addAttribute(new CAttribute("Status Dev",
         std::to_string(m_nStatusDev).c_str(), ""));
         ("W" + CToolUnits::toHexString(m_nStatusDev, strTemp)).c_str(), "", weight++));
   }
   int CEqStatusStep::getStatus(unsigned int uint)
@@ -47,9 +50,23 @@
      return -1;
   }
   int CEqStatusStep::getReasonCode(unsigned int uint) const
   {
      if (uint < STATUS_MAX) {
         return m_nReasonCode[uint];
      }
      return -1;
   }
   unsigned int CEqStatusStep::getUnitId() const
   {
      return m_nUnitId;
   }
   int CEqStatusStep::onReadData()
   {
      CStep::onReadData();
      CReadStep::onReadData();
      char szBuffer[64];
      int nRet = m_pCclink->ReadData2(m_station, DeviceType::W,
@@ -58,10 +75,11 @@
         return -1;
      }
      unsigned int unitId = (unsigned int)CToolUnits::toInt16(&szBuffer[0]);
      const unsigned int unitId = (unsigned int)CToolUnits::toInt16(&szBuffer[0]);
      if (unitId >= STATUS_MAX) {
         return -2;
      }
      m_nUnitId = unitId;
      if (unitId == 0) {
         m_nStatus[unitId] = CToolUnits::toInt16(&szBuffer[2 + unitId * 4]);
@@ -82,7 +100,7 @@
   int CEqStatusStep::onComplete()
   {
      CStep::onComplete();
      CReadStep::onComplete();
      LOGI("<CEqStatusStep> onComplete.");
      return 0;
@@ -90,8 +108,8 @@
   int CEqStatusStep::onTimeout()
   {
      CStep::onTimeout();
      LOGI("<CEqStatusStep> onTimeout.");
      CReadStep::onTimeout();
      LOGE("<CEqStatusStep> onTimeout.");
      return 0;
   }