From 2ffaec40444a4add7d8e638e5b20a2f81daa18af Mon Sep 17 00:00:00 2001
From: Darker <mr.darker@163.com>
Date: 星期二, 25 二月 2025 17:27:42 +0800
Subject: [PATCH] 1. 合并代码

---
 SourceCode/Bond/Servo/CStep.h |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/SourceCode/Bond/Servo/CStep.h b/SourceCode/Bond/Servo/CStep.h
index 6c4bb0f..628f116 100644
--- a/SourceCode/Bond/Servo/CStep.h
+++ b/SourceCode/Bond/Servo/CStep.h
@@ -1,7 +1,18 @@
 #pragma once
+#include "CCLinkIEControl.h"
 
 
 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:
@@ -10,18 +21,32 @@
 
 	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;
 		HANDLE m_hWorkThreadHandle;
@@ -30,6 +55,7 @@
 		HANDLE m_hSignalOn;
 		HANDLE m_hSignalOff;
 		int m_nCurStep;
+		int m_nWriteSignalDev;			// 对方BIT地址
 	};
 }
 

--
Gitblit v1.9.3