LAPTOP-SNT8I5JK\Boounion
2025-03-03 bf55b2f3083cbfdeb83611b2fa2dd552bf5b0775
SourceCode/Bond/Servo/CStep.h
@@ -1,8 +1,17 @@
#pragma once
#include "CCLinkIEControl.h"
#include "CAttributeVector.h"
namespace SERVO {
   typedef std::function<void(void* pStep, int code, void* pData)> ONSTEPEVENT;
   typedef struct _StepListener
   {
      ONSTEPEVENT         onEvent;
   } StepListener;
   class CEquipment;
   class CStep
   {
   public:
@@ -11,7 +20,13 @@
   public:
      unsigned WorkingProc();
      void setListener(StepListener listener);
      void setCcLink(CCCLinkIEControl* pCcLink);
      void setEquipment(CEquipment* pEquipment);
      CEquipment* getEquipment();
      void setName(const char* pszName);
      std::string& getName();
      virtual void getAttributeVector(CAttributeVector& attrubutes);
      virtual void setWriteSignalDev(int dev);
      virtual void init();
      virtual void CStep::term();
@@ -25,12 +40,15 @@
      inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
      inline void nextStep();
      inline void resetStep();
      void convertString(const char* pszBuffer, int size, std::string& strOut);
   protected:
      StepListener m_listener;
      StationIdentifier m_station;
      std::string m_strName;
      CEquipment* m_pEquipment;
      CCCLinkIEControl* m_pCclink;
      CRITICAL_SECTION m_criticalSection;
      std::string strName;
      HANDLE m_hWorkThreadHandle;
      unsigned m_nWordThreadAddr;
      HANDLE m_hWorkStop;