LAPTOP-SNT8I5JK\Boounion
2025-07-11 c96ec4c44d31e4df6da3ce904fd3c6d8f3548c2d
SourceCode/Bond/Servo/CEqReadStep.cpp
@@ -27,9 +27,10 @@
   {
      CReadStep::getAttributeVector(attrubutes);
      unsigned int weight = 31;
      std::string strTemp;
      attrubutes.addAttribute(new CAttribute("Dev",
         ("W" + CToolUnits::toHexString(m_nDataDev, strTemp)).c_str(), ""));
         ("W" + CToolUnits::toHexString(m_nDataDev, strTemp)).c_str(), "", weight++));
   }
   int CEqReadStep::onReadData()
@@ -37,20 +38,31 @@
      CReadStep::onReadData();
      // 20250620新增,有些场景是不需要读数据的,只要检测到信息就写数据给机器
      if (m_nReadSize == 0) {
         if (m_onReadBlock != nullptr) {
            m_onReadBlock(this, ROK, nullptr, 0);
         }
         return 0;
      }
      // 读数据
      char szBuffer[READ_BUFFER_MAX];
      int nRet = m_pCclink->ReadData2(m_station, DeviceType::W, m_nDataDev,
         (long)min(READ_BUFFER_MAX, m_nReadSize), szBuffer);
      if (0 != nRet) {
         LOGI("<CEqReadStep>Read data error.");
         if (m_onReadBlock != nullptr) {
            m_onReadBlock(RERROR, nullptr, 0);
            m_onReadBlock(this, RERROR, nullptr, 0);
         }
         return -1;
      }
      LOGI("<CEqReadStep>read data succeed.");
      if (m_onReadBlock != nullptr) {
         m_onReadBlock(ROK, szBuffer, m_nReadSize);
         m_onReadBlock(this, ROK, szBuffer, m_nReadSize);
      }
@@ -62,7 +74,7 @@
      CReadStep::onComplete();
      LOGI("<CEqReadStep> onComplete.");
      if (m_onReadBlock != nullptr) {
         m_onReadBlock(RCOMPLETE, nullptr, 0);
         m_onReadBlock(this, RCOMPLETE, nullptr, 0);
      }
      return 0;
@@ -73,7 +85,7 @@
      CReadStep::onTimeout();
      LOGI("<CEqReadStep> onTimeout.");
      if (m_onReadBlock != nullptr) {
         m_onReadBlock(RTIMEOUT, nullptr, 0);
         m_onReadBlock(this, RTIMEOUT, nullptr, 0);
      }
      return 0;