From 4cc9fd5bb0c0224e88ca702e6e736e1bc138dce6 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 20 二月 2025 11:36:16 +0800
Subject: [PATCH] 1.测试通过Equipment Mode Change Report流程;
---
SourceCode/Bond/Servo/CStep.cpp | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/CStep.cpp b/SourceCode/Bond/Servo/CStep.cpp
index 6f98ac8..3873ddf 100644
--- a/SourceCode/Bond/Servo/CStep.cpp
+++ b/SourceCode/Bond/Servo/CStep.cpp
@@ -19,6 +19,7 @@
m_hSignalOn = ::CreateEvent(NULL, TRUE, FALSE, NULL);
m_hSignalOff = ::CreateEvent(NULL, TRUE, FALSE, NULL);
m_nCurStep = 0;
+ m_pCclink = nullptr;
InitializeCriticalSection(&m_criticalSection);
}
@@ -33,6 +34,11 @@
m_hSignalOff = nullptr;
DeleteCriticalSection(&m_criticalSection);
+ }
+
+ void CStep::setCcLink(CCCLinkIEControl* pCcLink)
+ {
+ m_pCclink = pCcLink;
}
void CStep::init()
@@ -79,20 +85,24 @@
// 1.读取数据
nextStep();
- TRACE("m_nCurStep:%d\n", m_nCurStep);
-
+ ASSERT(m_pCclink);
+ StationIdentifier station(0, 255);
+ DWordContainer dc;
+ m_pCclink->ReadDWordData(station, DeviceType::W, 0x4a8c, 1, dc);
+ int nState = dc.at(0);
+ TRACE(">> nState:%d\n", nState);
// 2.给对方写ON
nextStep();
- TRACE("m_nCurStep:%d\n", m_nCurStep);
+ m_pCclink->SetBitDevice(station, DeviceType::B, 0x30);
// 3.等待对方OFF
nextStep();
- TRACE("m_nCurStep:%d\n", m_nCurStep);
int nStep3Ret = ::WaitForSingleObject(m_hSignalOff, TIMEOUT * 1000);
if (nStep3Ret == WAIT_TIMEOUT) {
timeout();
+ m_pCclink->ResetBitDevice(station, DeviceType::B, 0x30);
goto RESET;
}
ResetEvent(m_hSignalOff);
@@ -100,6 +110,7 @@
// 4.给对方写OFF
nextStep();
+ m_pCclink->ResetBitDevice(station, DeviceType::B, 0x30);
TRACE("m_nCurStep:%d\n", m_nCurStep);
@@ -125,7 +136,6 @@
void CStep::onSignal(BOOL bSignal)
{
- TRACE(">>>>>>>>>>>>>>>>>>>> setSignal:%s\n", bSignal ? "ON" : "OFF");
Lock();
if (m_nCurStep == 0 && bSignal) {
SetEvent(m_hSignalOn);
--
Gitblit v1.9.3