LAPTOP-SNT8I5JK\Boounion
2025-02-25 4acd7cfd96f2099772497713e17ca8bfaf5cf4ec
SourceCode/Bond/Servo/CStep.h
@@ -3,6 +3,16 @@
namespace SERVO {
#define STEP_EVENT_READDATA         0x01
#define STEP_EVENT_COMPLETE         0x02
   typedef std::function<void(void* pStep, int code, void* pData)> ONSTEPEVENT;
   typedef struct _StepListener
   {
      ONSTEPEVENT         onEvent;
   } StepListener;
   class CEquipment;
   class CStep
   {
   public:
@@ -11,19 +21,31 @@
   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 setWriteSignalDev(int dev);
      virtual void init();
      virtual void CStep::term();
      virtual void onSignal(BOOL bSignal);
      virtual int onReadData();
      virtual int onComplete();
      virtual int onTimeout();
   protected:
      inline void Lock() { EnterCriticalSection(&m_criticalSection); }
      inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
      inline void nextStep();
      inline void resetStep();
      void timeout();
   private:
   protected:
      StepListener m_listener;
      StationIdentifier m_station;
      std::string m_strName;
      CEquipment* m_pEquipment;
      CCCLinkIEControl* m_pCclink;
      CRITICAL_SECTION m_criticalSection;
      std::string strName;
@@ -33,6 +55,7 @@
      HANDLE m_hSignalOn;
      HANDLE m_hSignalOff;
      int m_nCurStep;
      int m_nWriteSignalDev;         // 对方BIT地址
   };
}